导航菜单

页面标题

页面副标题

SpeedCash v6.5.1482 - BalanceReportActivity.java 源代码

正在查看: SpeedCash v6.5.1482 应用的 BalanceReportActivity.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package com.bm.sc.bebasbayar.ui.activity.info;

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.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.bm.sc.bebasbayar.R;
import com.bm.sc.bebasbayar.adapter.entity.BalanceReportEntity;
import com.bm.sc.bebasbayar.adapter.holder.TicketDataHolder;
import com.bm.sc.bebasbayar.adapter.holder.TrainBookDataHolder;
import com.bm.sc.bebasbayar.adapter.info.BalanceAdapter;
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.ReportingMessage;
import com.bm.sc.bebasbayar.message.qr.DataMessage;
import com.bm.sc.bebasbayar.setting.session.AppSession;
import com.bm.sc.bebasbayar.setting.session.DataSession;
import com.bm.sc.bebasbayar.ui.BaseActivity;
import com.bm.sc.bebasbayar.ui.activity.info.BalanceReportActivity;
import com.bm.sc.bebasbayar.ui.activity.ticket.BookingDetailActivity;
import com.bm.sc.bebasbayar.ui.activity.ticket.TrainBookingActivity;
import com.bm.sc.bebasbayar.ui.fragment.dialog.StrukFragment;
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.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Locale;

public class BalanceReportActivity extends BaseActivity implements DatePickerDialog.OnDateSetListener, BalanceAdapter.Callback, TextWatcher {
    public TextView c;
    public TextView d;
    public DatePickerDialog e;
    public DatePickerDialog f;
    public SwipyRefreshLayout g;
    public BalanceAdapter h;

    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<BalanceReportEntity> arrayList = new ArrayList<>();
            if (!aPIMessageWrapper.isOK()) {
                if (!aPIMessageWrapper.isOK() && BalanceReportActivity.this.h != null && BalanceReportActivity.this.h.getItemCount() != 0) {
                    BalanceReportActivity.this.g.setRefreshing(false);
                    Affinity.toast(BalanceReportActivity.this, aPIMessageWrapper.getResponse_description());
                    return;
                } else {
                    if (BalanceReportActivity.this.g != null) {
                        BalanceReportActivity.this.g.setRefreshing(false);
                        return;
                    }
                    return;
                }
            }
            Iterator<HashMap<String, Object>> it = aPIMessageWrapper.getData().iterator();
            while (it.hasNext()) {
                HashMap<String, Object> next = it.next();
                BalanceReportEntity balanceReportEntity = new BalanceReportEntity();
                balanceReportEntity.setId_transaksi(Var.toString(next.get(DataMessage.ID_TRANSAKSI), ""));
                balanceReportEntity.setTgl_mutasi(Var.toString(next.get("tgl_mutasi"), ""));
                balanceReportEntity.setProduk(Var.toString(next.get("produk"), ""));
                balanceReportEntity.setProduk2(Var.toString(next.get("produk2"), ""));
                balanceReportEntity.setKredits((int) Var.toDouble(next.get("kredits"), 0.0d));
                balanceReportEntity.setDebits((int) Var.toDouble(next.get("debits"), 0.0d));
                balanceReportEntity.setCurrent_balance((int) Var.toDouble(next.get("current_balance"), 0.0d));
                balanceReportEntity.setEnable_cu(Var.toString(next.get("enable_cu"), ""));
                arrayList.add(balanceReportEntity);
            }
            BalanceReportActivity.this.h.addList(arrayList, this.a > 0);
            BalanceReportActivity.this.g.setRefreshing(false);
        }

        @Override
        public void backgroundProcess(long j, long j2, boolean z) {
        }

        @Override
        public void preProcess() {
        }
    }

    public class b implements MessageProcess {
        public final String a;
        public final String b;

        public b(String str, String str2) {
            this.a = str;
            this.b = str2;
        }

        @Override
        public void afterProcess(BaseMessage baseMessage) {
            ReportingMessage reportingMessage = new ReportingMessage(baseMessage);
            if (!reportingMessage.isOK()) {
                Affinity.info(BalanceReportActivity.this, false, reportingMessage.getMessageDescription());
                return;
            }
            if (reportingMessage.getValueFromIncludes("product_code").toLowerCase().startsWith("tp")) {
                Affinity.listen(BalanceReportActivity.this, BookingDetailActivity.class, 5932, TicketDataHolder.composeBookingBundle("", reportingMessage.getValueFromIncludes("product_code"), reportingMessage.getValueFromIncludes(MPMessage.IncludeMessage.CUSTOMER_ID_1), reportingMessage.getValueFromIncludes(MPMessage.IncludeMessage.REFF_ID), true, false, true));
                return;
            }
            if (!this.a.equalsIgnoreCase("kereta api")) {
                if (FileHelper.isValidActivityForFragmentShow(BalanceReportActivity.this)) {
                    StrukFragment strukFragment = new StrukFragment();
                    strukFragment.setArguments(strukFragment.setupDefaultBundle(this.a, this.b, reportingMessage.getStruks().replace("*", "\n"), reportingMessage.getStruks()));
                    strukFragment.show(BalanceReportActivity.this.getSupportFragmentManager(), "CetakUlang");
                    return;
                }
                return;
            }
            TrainBookDataHolder trainBookDataHolder = new TrainBookDataHolder(reportingMessage.getValueFromIncludes(MPMessage.IncludeMessage.REFF_ID));
            trainBookDataHolder.setPaid(true);
            trainBookDataHolder.setAdditional_data(reportingMessage.getAdditional_datas());
            trainBookDataHolder.setAdmin(reportingMessage.getValueFromIncludes(MPMessage.IncludeMessage.ADMIN));
            trainBookDataHolder.setCashback("0");
            trainBookDataHolder.setDescription("");
            trainBookDataHolder.setEtiket(reportingMessage.getE_tiket());
            ((BaseActivity) BalanceReportActivity.this).dataSession.remove(DataSession.PROPERTY_TRAIN_BOOK_DATA);
            ((BaseActivity) BalanceReportActivity.this).dataSession.store(DataSession.PROPERTY_TRAIN_BOOK_DATA, TrainBookDataHolder.toJSON(trainBookDataHolder));
            Affinity.listen(BalanceReportActivity.this, TrainBookingActivity.class, 5933);
        }

        @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) {
    }

    @Override
    public int getLayoutResource() {
        return R.layout.activity_balance_report_1;
    }

    public final void getTransactionReport(Date date, Date date2, int i) {
        MessageComposer messageComposer = new MessageComposer(7, "ro/activity/balance");
        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<BalanceReportEntity> arrayList) {
        String id_transaksi = arrayList.get(i).getId_transaksi();
        String produk = arrayList.get(i).getProduk();
        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, id_transaksi);
        reportingMessage.setAdditional_dataValue(0, "0");
        MessageComposer messageComposer = new MessageComposer(1, "");
        messageComposer.setData_type(1);
        messageComposer.setRequest_method(MessageComposer.POST);
        messageComposer.setIs_credential(true);
        messageComposer.setIs_encrypted(true);
        messageComposer.setShowProgressRegular(true);
        messageComposer.setMessageProcess(new b(produk, id_transaksi));
        MessageSender messageSender = new MessageSender(this, messageComposer);
        messageSender.setRequestMessage(reportingMessage);
        messageSender.execute();
    }

    @Override
    public boolean onClose() {
        return false;
    }

    @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 BalanceAdapter(this, this);
        LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this, 1, false);
        RecyclerView recyclerView = (RecyclerView) findViewById(R.id.rv_balance_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() {
                BalanceReportActivity.this.v(calendar, calendar2);
            }
        });
        this.g.setOnRefreshListener(new SwipyRefreshLayout.OnRefreshListener() {
            public final void onRefresh(SwipyRefreshLayoutDirection swipyRefreshLayoutDirection) {
                BalanceReportActivity.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 onTextChanged(CharSequence charSequence, int i, int i2, int i3) {
    }
}