正在查看: SpeedCash v6.5.1482 应用的 TransactionReportActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: SpeedCash v6.5.1482 应用的 TransactionReportActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.bm.sc.bebasbayar.ui.activity.info;
import android.os.Build;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.core.app.ActivityCompat;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.bm.sc.bebasbayar.R;
import com.bm.sc.bebasbayar.adapter.entity.ReportBodyEntity;
import com.bm.sc.bebasbayar.adapter.entity.ReportHeadEntity;
import com.bm.sc.bebasbayar.adapter.entity.TransactionReportEntity;
import com.bm.sc.bebasbayar.adapter.info.TransactionAdapter;
import com.bm.sc.bebasbayar.handler.MessageComposer;
import com.bm.sc.bebasbayar.handler.MessageSender;
import com.bm.sc.bebasbayar.helper.Affinity;
import com.bm.sc.bebasbayar.helper.FileHelper;
import com.bm.sc.bebasbayar.helper.WidgetHelper;
import com.bm.sc.bebasbayar.iface.MessageProcess;
import com.bm.sc.bebasbayar.message.BaseMessage;
import com.bm.sc.bebasbayar.message.MPMessage;
import com.bm.sc.bebasbayar.message.api.APIMessageWrapper;
import com.bm.sc.bebasbayar.message.mp.KeretaMessage;
import com.bm.sc.bebasbayar.message.mp.ReportingMessage;
import com.bm.sc.bebasbayar.message.qr.DataMessage;
import com.bm.sc.bebasbayar.setting.session.AppSession;
import com.bm.sc.bebasbayar.setting.session.ConfigSession;
import com.bm.sc.bebasbayar.ui.BaseActivity;
import com.bm.sc.bebasbayar.ui.activity.info.TransactionReportActivity;
import com.bm.sc.bebasbayar.ui.fragment.dialog.StrukFragment;
import com.bm.sc.bebasbayar.ui.fragment.dialog.TransactionReceiptFragment;
import com.bm.sc.bebasbayar.ui.fragment.dialog.TransactionReceiptProgressFragment;
import com.bm.sc.bebasbayar.ui.fragment.ticket.WebViewEticketFragment;
import com.bm.sc.util.android.Device;
import com.bm.sc.util.common.Var;
import com.bm.sc.util.format.DateTime;
import com.orangegangsters.github.swipyrefreshlayout.library.SwipyRefreshLayout;
import com.orangegangsters.github.swipyrefreshlayout.library.SwipyRefreshLayoutDirection;
import com.wdullaer.materialdatetimepicker.date.DatePickerDialog;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Locale;
import java.util.Objects;
public class TransactionReportActivity extends BaseActivity implements DatePickerDialog.OnDateSetListener, TransactionAdapter.Callback, TextWatcher {
protected static final int PAYMENT_ACTIVITY_PAYMENT_CODE = 410;
public TextView c;
public TextView d;
public DatePickerDialog e;
public DatePickerDialog f;
public SwipyRefreshLayout g;
public TransactionAdapter h;
public String i;
public String j;
public String k;
public class a implements MessageProcess {
public final int a;
public a(int i) {
this.a = i;
}
@Override
public void afterProcess(BaseMessage baseMessage) {
APIMessageWrapper aPIMessageWrapper = new APIMessageWrapper(baseMessage);
ArrayList<TransactionReportEntity> arrayList = new ArrayList<>();
if (!aPIMessageWrapper.isOK()) {
if (!aPIMessageWrapper.isOK() && TransactionReportActivity.this.h != null && TransactionReportActivity.this.h.getItemCount() != 0) {
TransactionReportActivity.this.g.setRefreshing(false);
Affinity.toast(TransactionReportActivity.this, aPIMessageWrapper.getResponse_description());
return;
} else {
if (TransactionReportActivity.this.g != null) {
TransactionReportActivity.this.g.setRefreshing(false);
return;
}
return;
}
}
Iterator<HashMap<String, Object>> it = aPIMessageWrapper.getData().iterator();
while (it.hasNext()) {
HashMap<String, Object> next = it.next();
TransactionReportEntity transactionReportEntity = new TransactionReportEntity();
transactionReportEntity.setId_transaksi(Var.toString(next.get(DataMessage.ID_TRANSAKSI), ""));
transactionReportEntity.setReff_id(Var.toString(next.get(MPMessage.IncludeMessage.REFF_ID), ""));
transactionReportEntity.setWaktu_transaksi(Var.toString(next.get("waktu_transaksi"), ""));
transactionReportEntity.setId_produk(Var.toString(next.get("id_produk"), ""));
transactionReportEntity.setId_group_produk(Var.toString(next.get("id_group_produk"), ""));
transactionReportEntity.setProduk(Var.toString(next.get("produk"), ""));
transactionReportEntity.setPelanggan(Var.toString(next.get("pelanggan"), ""));
transactionReportEntity.setSerial_number(Var.toString(next.get("serial_number"), ""));
transactionReportEntity.setNominal((int) Var.toDouble(next.get("nominal"), 0.0d));
transactionReportEntity.setStatus(Var.toString(next.get("status"), ""));
transactionReportEntity.setIs_enable_cu(Var.toString(next.get("is_enable_cu"), ""));
arrayList.add(transactionReportEntity);
}
TransactionReportActivity.this.h.addList(arrayList, this.a > 0);
TransactionReportActivity.this.g.setRefreshing(false);
}
@Override
public void backgroundProcess(long j, long j2, boolean z) {
}
@Override
public void preProcess() {
}
}
public class b implements MessageProcess {
public b() {
}
@Override
public void afterProcess(BaseMessage baseMessage) {
ReportingMessage reportingMessage = new ReportingMessage(baseMessage);
if (!reportingMessage.isOK()) {
TransactionReceiptProgressFragment transactionReceiptProgressFragment = new TransactionReceiptProgressFragment();
ReportHeadEntity reportHead = reportingMessage.getReportHead() != null ? reportingMessage.getReportHead() : null;
ArrayList<ReportBodyEntity> reportBodyEntities = reportingMessage.getReportBodyEntities() != null ? reportingMessage.getReportBodyEntities() : null;
String struks = reportingMessage.getStruks();
String valueFromIncludes = reportingMessage.getValueFromIncludes(MPMessage.IncludeMessage.REFF_ID);
Object obj = reportingMessage.getMap().get("biller_info");
Objects.requireNonNull(obj);
transactionReceiptProgressFragment.setArguments(TransactionReceiptProgressFragment.getPaymentBundle(struks, valueFromIncludes, Var.toString(obj, ""), reportHead, reportBodyEntities, reportingMessage.getReportFooter(), 2, reportingMessage.getResponse_code(), TransactionReportActivity.this.j));
transactionReceiptProgressFragment.show(TransactionReportActivity.this.getSupportFragmentManager(), "CetakUlangPending");
return;
}
if (FileHelper.isValidActivityForFragmentShow(TransactionReportActivity.this)) {
if (reportingMessage.getReportHead() == null || reportingMessage.getReportBodyEntities() == null) {
StrukFragment strukFragment = new StrukFragment();
strukFragment.setArguments(strukFragment.setupDefaultBundle(TransactionReportActivity.this.j, TransactionReportActivity.this.i, reportingMessage.getStruks().replace("*", "\n"), reportingMessage.getStruks(), 2));
strukFragment.show(TransactionReportActivity.this.getSupportFragmentManager(), "CetakUlang");
} else {
TransactionReceiptFragment transactionReceiptFragment = new TransactionReceiptFragment();
transactionReceiptFragment.setArguments(transactionReceiptFragment.setupDefaultBundle(reportingMessage.getReportHead(), reportingMessage.getReportBodyEntities(), reportingMessage.getReportFooter(), TransactionReportActivity.this.j, TransactionReportActivity.this.i, reportingMessage.getStruks().replace("*", "\n"), reportingMessage.getStruks(), 2, "", "", Var.toString(reportingMessage.getValueFromIncludes("product_code"), "")));
transactionReceiptFragment.show(TransactionReportActivity.this.getSupportFragmentManager(), "CetakUlang");
}
}
}
@Override
public void backgroundProcess(long j, long j2, boolean z) {
}
@Override
public void preProcess() {
}
}
public void v(Calendar calendar, Calendar calendar2) {
getTransactionReport(calendar.getTime(), calendar2.getTime(), 0);
}
public void w(SwipyRefreshLayoutDirection swipyRefreshLayoutDirection) {
Date parse = DateTime.parse(WidgetHelper.getProductIdTag(this.c), "yyyy-MM-dd");
Date parse2 = DateTime.parse(WidgetHelper.getProductIdTag(this.d), "yyyy-MM-dd");
if (swipyRefreshLayoutDirection != SwipyRefreshLayoutDirection.TOP) {
getTransactionReport(parse, parse2, this.h.getItemCount());
} else {
this.h.clearList();
getTransactionReport(parse, parse2, 0);
}
}
@Override
public void afterTextChanged(Editable editable) {
this.h.filtered(editable.toString().toLowerCase(Locale.getDefault()));
}
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i2, int i3) {
}
public void buildStrukPlane() {
String str = this.configSession.retrieveMap(ConfigSession.PROPERTY_URL, ConfigSession.KEY_URL_INVOICE) + "invoice/tiket/pesawat/" + this.i + "?lite=true";
String str2 = this.configSession.retrieveMap(ConfigSession.PROPERTY_URL, ConfigSession.KEY_URL_INVOICE) + "?ispdf=pdf&url=" + URLEncoder.encode(str);
WebViewEticketFragment webViewEticketFragment = new WebViewEticketFragment();
webViewEticketFragment.setArguments(webViewEticketFragment.setupDefaultBundle("E-Ticket", str, str2, this.i, Boolean.TRUE));
webViewEticketFragment.show(getSupportFragmentManager(), "eticket");
}
public void buildStrukTrain() {
String str = this.configSession.retrieveMap(ConfigSession.PROPERTY_URL, ConfigSession.KEY_URL_INVOICE) + "invoice/tiket/kai/" + this.i + "?lite=true";
String str2 = this.configSession.retrieveMap(ConfigSession.PROPERTY_URL, ConfigSession.KEY_URL_INVOICE) + "?ispdf=pdf&url=" + URLEncoder.encode(str);
WebViewEticketFragment webViewEticketFragment = new WebViewEticketFragment();
webViewEticketFragment.setArguments(webViewEticketFragment.setupDefaultBundle("E-Ticket", str, str2, this.i, Boolean.FALSE));
webViewEticketFragment.show(getSupportFragmentManager(), "eticket");
}
public void buildStrukTransaction() {
ReportingMessage reportingMessage = new ReportingMessage(this.appSession.retrieve(AppSession.PROPERTY_MERCHANT_ID), this.appSession.retrieve(AppSession.PROPERTY_MERCHANT_PIN), this.appSession.retrieve(AppSession.PROPERTY_AUTH_TOKEN));
reportingMessage.setMsg_type("TRX");
reportingMessage.setProcessing_code("ADMTRASI");
reportingMessage.setIncludesValue("product_code", "CU");
reportingMessage.setIncludesValue(MPMessage.IncludeMessage.REFF_ID, this.i);
reportingMessage.setAdditional_dataValue(0, "0");
MessageComposer messageComposer = new MessageComposer(7, "");
messageComposer.setData_type(1);
messageComposer.setRequest_method(MessageComposer.POST);
messageComposer.setIs_credential(true);
messageComposer.setIs_encrypted(true);
messageComposer.setShowProgressRegular(true);
messageComposer.setMessageProcess(new b());
MessageSender messageSender = new MessageSender(this, messageComposer);
messageSender.setRequestMessage(reportingMessage);
messageSender.execute();
}
@Override
public int getLayoutResource() {
return R.layout.activity_transaction_report1_1;
}
public void getTransactionReport(Date date, Date date2, int i) {
MessageComposer messageComposer = new MessageComposer(7, "ro/activity/payment");
messageComposer.setRequest_method(MessageComposer.GET);
messageComposer.setData_type(2);
messageComposer.addMessage("user_id", this.appSession.retrieve(AppSession.PROPERTY_MERCHANT_ID));
messageComposer.addMessage("user_uuid", Device.getDeviceUUID(this).toString());
messageComposer.addMessage(BaseMessage.INDEX_VIA, "BB ANDROID");
messageComposer.addMessage("date_start", DateTime.format(date, "yyyy-MM-dd"));
messageComposer.addMessage("date_end", DateTime.format(date2, "yyyy-MM-dd"));
messageComposer.addMessage("limit", 25);
messageComposer.addMessage("offset", Integer.valueOf(i));
messageComposer.setShowProgressRegular(true);
messageComposer.setMessageProcess(new a(i));
new MessageSender(this, messageComposer).execute();
}
@Override
public String getWikiNameSpace() {
return null;
}
@Override
public boolean isEligibleForFavorit() {
return false;
}
@Override
public void onClick(View view) {
if (view.getId() == 2131364014) {
Calendar calendar = Calendar.getInstance();
calendar.add(1, -5);
Calendar calendar2 = Calendar.getInstance();
this.e.setMinDate(calendar);
this.e.setMaxDate(calendar2);
this.e.show(getFragmentManager(), "date_start_picker");
return;
}
if (view.getId() == 2131364012) {
Calendar calendar3 = Calendar.getInstance();
calendar3.add(1, -5);
Calendar calendar4 = Calendar.getInstance();
this.f.setMinDate(calendar3);
this.f.setMaxDate(calendar4);
this.f.show(getFragmentManager(), "date_end_picker");
return;
}
if (view.getId() != 2131362413) {
super.onClick(view);
return;
}
Date parse = DateTime.parse(WidgetHelper.getProductIdTag(this.c), "yyyy-MM-dd");
Date parse2 = DateTime.parse(WidgetHelper.getProductIdTag(this.d), "yyyy-MM-dd");
if (parse2.before(parse)) {
Affinity.info(this, false, getString(R.string.error_date_end));
} else if (DateTime.diffDate(parse, parse2) > 31) {
Affinity.info(this, false, getString(R.string.error_date_range, 31));
} else {
this.h.clearList();
getTransactionReport(parse, parse2, 0);
}
}
@Override
public void onClickCu(int i, ArrayList<TransactionReportEntity> arrayList) {
this.i = arrayList.get(i).getReff_id();
this.j = arrayList.get(i).getProduk();
this.k = arrayList.get(i).getId_produk();
if (Build.VERSION.SDK_INT < 33) {
if (Affinity.isPermissionGranted(this, "android.permission.READ_EXTERNAL_STORAGE") && Affinity.isPermissionGranted(this, "android.permission.WRITE_EXTERNAL_STORAGE")) {
prepareBuildStruk();
return;
} else {
ActivityCompat.requestPermissions(this, new String[]{"android.permission.READ_EXTERNAL_STORAGE", "android.permission.WRITE_EXTERNAL_STORAGE"}, 234);
return;
}
}
if (Affinity.isPermissionGranted(this, "android.permission.READ_MEDIA_IMAGES") && Affinity.isPermissionGranted(this, "android.permission.READ_EXTERNAL_STORAGE") && Affinity.isPermissionGranted(this, "android.permission.WRITE_EXTERNAL_STORAGE")) {
prepareBuildStruk();
} else {
ActivityCompat.requestPermissions(this, new String[]{"android.permission.READ_MEDIA_IMAGES", "android.permission.READ_EXTERNAL_STORAGE", "android.permission.WRITE_EXTERNAL_STORAGE"}, 434);
}
}
@Override
public boolean onClose() {
return false;
}
@Override
public void onCopySN(String str) {
Affinity.copy1(this, str, "Serial Number berhasil disalin.");
}
@Override
public void onCreate(Bundle bundle) {
super.onCreate(bundle);
final Calendar calendar = Calendar.getInstance();
calendar.set(5, 1);
this.e = DatePickerDialog.newInstance(this, calendar.get(1), calendar.get(2), calendar.get(5));
final Calendar calendar2 = Calendar.getInstance();
this.f = DatePickerDialog.newInstance(this, calendar2.get(1), calendar2.get(2), calendar2.get(5));
TextView textView = (TextView) findViewById(R.id.input_date_start);
this.c = textView;
textView.setOnClickListener(this);
WidgetHelper.setProductIdTag(this.c, DateTime.format(calendar.getTime(), "yyyy-MM-dd"), getString(R.string.label_date_start) + ":\n" + DateTime.format(calendar.getTime(), DateTime.FORMAT_DATE_DMMMY));
TextView textView2 = (TextView) findViewById(R.id.input_date_end);
this.d = textView2;
textView2.setOnClickListener(this);
WidgetHelper.setProductIdTag(this.d, DateTime.format(calendar2.getTime(), "yyyy-MM-dd"), getString(R.string.label_date_end) + ":\n" + DateTime.format(calendar2.getTime(), DateTime.FORMAT_DATE_DMMMY));
findViewById(R.id.btn_search).setOnClickListener(this);
getTransactionReport(calendar.getTime(), calendar2.getTime(), 0);
this.h = new TransactionAdapter(this);
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this, 1, false);
RecyclerView recyclerView = (RecyclerView) findViewById(R.id.rv_transaction_report);
recyclerView.setNestedScrollingEnabled(false);
recyclerView.setLayoutManager(linearLayoutManager);
recyclerView.setAdapter(this.h);
this.h.setCallback(this);
((EditText) findViewById(R.id.report_recycler_search)).addTextChangedListener(this);
SwipyRefreshLayout findViewById = findViewById(R.id.report_swipe_refresh);
this.g = findViewById;
findViewById.post(new Runnable() {
@Override
public final void run() {
TransactionReportActivity.this.v(calendar, calendar2);
}
});
this.g.setOnRefreshListener(new SwipyRefreshLayout.OnRefreshListener() {
public final void onRefresh(SwipyRefreshLayoutDirection swipyRefreshLayoutDirection) {
TransactionReportActivity.this.w(swipyRefreshLayoutDirection);
}
});
}
public void onDateSet(DatePickerDialog datePickerDialog, int i, int i2, int i3) {
Calendar calendar = Calendar.getInstance();
calendar.set(1, i);
calendar.set(5, i3);
calendar.set(2, i2);
String format = DateTime.format(calendar.getTime(), "yyyy-MM-dd");
String format2 = DateTime.format(calendar.getTime(), DateTime.FORMAT_DATE_DMMMY);
if (datePickerDialog.getTag().equals("date_start_picker")) {
WidgetHelper.setProductIdTag(this.c, format, getString(R.string.label_date_start) + ":\n" + format2);
return;
}
if (datePickerDialog.getTag().equals("date_end_picker")) {
WidgetHelper.setProductIdTag(this.d, format, getString(R.string.label_date_end) + ":\n" + format2);
}
}
@Override
public void onRequestPermissionsResult(int i, @NonNull String[] strArr, @NonNull int[] iArr) {
super.onRequestPermissionsResult(i, strArr, iArr);
if (i == 434) {
if (iArr.length <= 0 || iArr[0] != 0) {
Affinity.info(this, false, getString(R.string.permission_denied));
} else {
prepareBuildStruk();
}
}
if (i == 234) {
if (iArr.length <= 0 || iArr[0] != 0) {
Affinity.info(this, false, getString(R.string.permission_denied));
} else {
prepareBuildStruk();
}
}
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i2, int i3) {
}
public void prepareBuildStruk() {
if (this.k.equalsIgnoreCase(KeretaMessage.INC_PRODUCT_CODE_TKAI)) {
buildStrukTrain();
} else if (this.k.toLowerCase().startsWith("tp")) {
buildStrukPlane();
} else {
buildStrukTransaction();
}
}
}