导航菜单

页面标题

页面副标题

SpeedCash v6.5.1482 - ReportingActivity.java 源代码

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

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


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

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import androidx.appcompat.app.ActionBar;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import com.bm.sc.bebasbayar.R;
import com.bm.sc.bebasbayar.adapter.BaseAdapter;
import com.bm.sc.bebasbayar.adapter.ReportingAdapter;
import com.bm.sc.bebasbayar.adapter.holder.TicketDataHolder;
import com.bm.sc.bebasbayar.adapter.holder.TrainBookDataHolder;
import com.bm.sc.bebasbayar.adapter.info.BalanceReportAdapter;
import com.bm.sc.bebasbayar.adapter.info.BonusReportAdapter;
import com.bm.sc.bebasbayar.adapter.info.CashbackReportAdapter;
import com.bm.sc.bebasbayar.adapter.info.TransactionReportAdapter;
import com.bm.sc.bebasbayar.adapter.info.TransferReportAdapter;
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.AdapterInvoker;
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.mp.ReportingMessage;
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.ReportingActivity;
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.ViewAnimator;
import com.bm.sc.util.common.Var;
import com.bm.sc.util.format.DateTime;
import com.wdullaer.materialdatetimepicker.date.DatePickerDialog;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.Objects;

public class ReportingActivity extends BaseActivity implements DatePickerDialog.OnDateSetListener, AdapterInvoker<ArrayList<String>> {
    public static final byte BALANCE_REPORT = 1;
    public static final byte CASHBACK_REPORT = 3;
    public static final byte COMMISSION_REPORT = 4;
    public static final String REPORT_MODE_TAG = "report:mode:tag";
    public static final String REPORT_QUERY_TAG = "report:query:tag";
    public static final byte TRANSFER_RECEIVE_REPORT = 5;
    public static final byte TRANSFER_SEND_REPORT = 6;
    public static final byte TRX_REPORT = 2;
    protected ReportingAdapter base_reporting_adapter;
    public String c = "";
    public TextView d;
    public TextView e;
    public View f;
    public DatePickerDialog g;
    public DatePickerDialog h;
    public SwipeRefreshLayout i;
    public AppSession j;

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

        public a(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(ReportingActivity.this, false, reportingMessage.getMessageDescription());
                return;
            }
            if (reportingMessage.getValueFromIncludes("product_code").toLowerCase().startsWith("tp")) {
                Affinity.listen(ReportingActivity.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(ReportingActivity.this)) {
                    StrukFragment strukFragment = new StrukFragment();
                    strukFragment.setArguments(strukFragment.setupDefaultBundle(this.a, this.b, reportingMessage.getStruks().replace("*", "\n"), reportingMessage.getStruks()));
                    strukFragment.show(ReportingActivity.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) ReportingActivity.this).dataSession.remove(DataSession.PROPERTY_TRAIN_BOOK_DATA);
            ((BaseActivity) ReportingActivity.this).dataSession.store(DataSession.PROPERTY_TRAIN_BOOK_DATA, TrainBookDataHolder.toJSON(trainBookDataHolder));
            Affinity.listen(ReportingActivity.this, TrainBookingActivity.class, 5933);
        }

        @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) {
            ReportingActivity.this.i.setEnabled(true);
            ReportingMessage reportingMessage = new ReportingMessage(baseMessage);
            if (reportingMessage.isOK()) {
                if (baseMessage.getItem("total_cashback") != null) {
                    ReportingActivity.this.j.store(AppSession.PROPERTY_AVAILABLE_CASHBACK, Var.toString(baseMessage.getItem("total_cashback"), ""));
                }
                if (ReportingActivity.this.base_reporting_adapter.asDataTables()) {
                    HashMap hashMap = reportingMessage.getData_detail().get(0);
                    if (hashMap.get("aaData") == null) {
                        ReportingActivity.this.base_reporting_adapter.setLoadingState(false);
                    } else {
                        ArrayList<ArrayList<String>> arrayList = (ArrayList) hashMap.get("aaData");
                        if (ReportingActivity.this.base_reporting_adapter.isReverseOrder()) {
                            Objects.requireNonNull(arrayList);
                            Collections.reverse(arrayList);
                        }
                        ReportingActivity.this.base_reporting_adapter.setListData(arrayList);
                    }
                } else {
                    ArrayList<ArrayList<String>> processToDataTables = ReportingActivity.this.base_reporting_adapter.processToDataTables(reportingMessage.getData_detail());
                    if (ReportingActivity.this.base_reporting_adapter.isReverseOrder()) {
                        Collections.reverse(processToDataTables);
                    }
                    ReportingActivity.this.base_reporting_adapter.setListData(processToDataTables);
                }
                ReportingActivity.this.base_reporting_adapter.afterSearchEvent(reportingMessage);
            } else {
                ReportingActivity.this.base_reporting_adapter.setListData(new ArrayList<>());
            }
            WidgetHelper.setReadonly(ReportingActivity.this.f, false, true);
            if (ReportingActivity.this.c.isEmpty()) {
                return;
            }
            ReportingActivity reportingActivity = ReportingActivity.this;
            reportingActivity.base_reporting_adapter.onSearch(reportingActivity.c);
        }

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

        @Override
        public void preProcess() {
            WidgetHelper.setReadonly(ReportingActivity.this.f, true, true);
            ReportingActivity.this.base_reporting_adapter.setLoadingState(true);
            ReportingActivity.this.base_reporting_adapter.beforeSearchEvent();
        }
    }

    public void w(Calendar calendar, Calendar calendar2) {
        this.i.setRefreshing(false);
        this.i.setEnabled(false);
        x(calendar.getTime(), calendar2.getTime());
    }

    @Override
    public String getClassSimpleName() {
        return "reporting";
    }

    @Override
    public Activity getInvokerActivity() {
        return this;
    }

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

    @Override
    public String getWikiNameSpace() {
        return this.base_reporting_adapter.getWikiNamespace();
    }

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

    @Override
    public boolean isSearchVisible() {
        return true;
    }

    @Override
    public void onClick(View view) {
        if (view.getId() == 2131364014) {
            Calendar calendar = Calendar.getInstance();
            calendar.add(1, -5);
            Calendar calendar2 = Calendar.getInstance();
            this.g.setMinDate(calendar);
            this.g.setMaxDate(calendar2);
            this.g.show(getFragmentManager(), "date_start_picker");
            return;
        }
        if (view.getId() == 2131364012) {
            Calendar calendar3 = Calendar.getInstance();
            calendar3.add(1, -5);
            Calendar calendar4 = Calendar.getInstance();
            this.h.setMinDate(calendar3);
            this.h.setMaxDate(calendar4);
            this.h.show(getFragmentManager(), "date_end_picker");
            return;
        }
        if (view.getId() != 2131362413) {
            super.onClick(view);
            return;
        }
        Date parse = DateTime.parse(WidgetHelper.getProductIdTag(this.d), "yyyy-MM-dd");
        Date parse2 = DateTime.parse(WidgetHelper.getProductIdTag(this.e), "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 {
            x(parse, parse2);
        }
    }

    @Override
    public boolean onClose() {
        this.base_reporting_adapter.resetSearch();
        return false;
    }

    @Override
    public void onCreate(Bundle bundle) {
        byte b2;
        super.onCreate(bundle);
        this.j = new AppSession(this);
        Bundle extras = getIntent().getExtras();
        if (extras != null) {
            b2 = extras.getByte(REPORT_MODE_TAG, (byte) 1).byteValue();
            this.c = extras.getString(REPORT_QUERY_TAG, "");
        } else {
            b2 = 1;
        }
        LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this, 1, false);
        RecyclerView recyclerView = (RecyclerView) findViewById(R.id.report_recycler_container);
        recyclerView.setNestedScrollingEnabled(false);
        recyclerView.setLayoutManager(linearLayoutManager);
        if (b2 == 2) {
            this.base_reporting_adapter = new TransactionReportAdapter(this);
        } else if (b2 == 3) {
            this.base_reporting_adapter = new CashbackReportAdapter(this);
        } else if (b2 == 4) {
            this.base_reporting_adapter = new BonusReportAdapter(this);
        } else if (b2 == 5 || b2 == 6) {
            this.base_reporting_adapter = new TransferReportAdapter(this, b2 == 5);
        } else {
            this.base_reporting_adapter = new BalanceReportAdapter(this);
        }
        this.base_reporting_adapter.setViewAnimator(ViewAnimator.createAnimator(recyclerView));
        recyclerView.setAdapter(this.base_reporting_adapter);
        ActionBar supportActionBar = getSupportActionBar();
        if (supportActionBar != null) {
            supportActionBar.setTitle(this.base_reporting_adapter.getTitleRes());
        }
        final Calendar calendar = Calendar.getInstance();
        calendar.set(5, 1);
        this.g = DatePickerDialog.newInstance(this, calendar.get(1), calendar.get(2), calendar.get(5));
        final Calendar calendar2 = Calendar.getInstance();
        this.h = DatePickerDialog.newInstance(this, calendar2.get(1), calendar2.get(2), calendar2.get(5));
        TextView textView = (TextView) findViewById(R.id.input_date_start);
        this.d = textView;
        textView.setOnClickListener(this);
        WidgetHelper.setProductIdTag(this.d, DateTime.format(calendar.getTime(), "yyyy-MM-dd"), getString(R.string.label_date_start) + ":\n" + DateTime.format(calendar.getTime(), "dd-MMMM-yyyy"));
        TextView textView2 = (TextView) findViewById(R.id.input_date_end);
        this.e = textView2;
        textView2.setOnClickListener(this);
        WidgetHelper.setProductIdTag(this.e, DateTime.format(calendar2.getTime(), "yyyy-MM-dd"), getString(R.string.label_date_end) + ":\n" + DateTime.format(calendar2.getTime(), "dd-MMMM-yyyy"));
        View findViewById = findViewById(R.id.btn_search);
        this.f = findViewById;
        findViewById.setOnClickListener(this);
        SwipeRefreshLayout swipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.report_swipe_refresh);
        this.i = swipeRefreshLayout;
        swipeRefreshLayout.setEnabled(false);
        this.i.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
            @Override
            public final void onRefresh() {
                ReportingActivity.this.w(calendar, calendar2);
            }
        });
        x(calendar.getTime(), calendar2.getTime());
    }

    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(), "dd-MMMM-yyyy");
        if (datePickerDialog.getTag().equals("date_start_picker")) {
            WidgetHelper.setProductIdTag(this.d, format, getString(R.string.label_date_start) + ":\n" + format2);
            return;
        }
        if (datePickerDialog.getTag().equals("date_end_picker")) {
            WidgetHelper.setProductIdTag(this.e, format, getString(R.string.label_date_end) + ":\n" + format2);
        }
    }

    @Override
    public boolean onQueryTextChange(String str) {
        this.base_reporting_adapter.onSearch(str);
        return false;
    }

    public final void x(Date date, Date date2) {
        ReportingMessage reportingMessage = new ReportingMessage(this.j.retrieve(AppSession.PROPERTY_MERCHANT_ID), this.j.retrieve(AppSession.PROPERTY_MERCHANT_PIN), this.j.retrieve(AppSession.PROPERTY_AUTH_TOKEN));
        reportingMessage.setAdditional_dataValue(0, this.base_reporting_adapter.getTableCode());
        reportingMessage.setAdditional_dataValue(1, DateTime.format(date, "yyyy-MM-dd"));
        reportingMessage.setAdditional_dataValue(2, DateTime.format(date2, "yyyy-MM-dd"));
        if (!this.base_reporting_adapter.getOption().isEmpty()) {
            reportingMessage.setAdditional_dataValue(4, this.base_reporting_adapter.getOption());
        }
        if (this.base_reporting_adapter.getSortCol() >= 0) {
            HashMap<String, Object> hashMap = new HashMap<>();
            hashMap.put("iSortingCols", 1);
            hashMap.put("iSortCol_0", Integer.valueOf(this.base_reporting_adapter.getSortCol()));
            hashMap.put("bSortable_" + this.base_reporting_adapter.getSortCol(), 1);
            hashMap.put("sSortDir_0", this.base_reporting_adapter.getSortOrder());
            ArrayList<HashMap<String, Object>> arrayList = new ArrayList<>();
            arrayList.add(hashMap);
            reportingMessage.setUploads_detail(arrayList);
        }
        MessageComposer messageComposer = new MessageComposer(1, "");
        messageComposer.setData_type(1);
        messageComposer.setRequest_method(MessageComposer.POST);
        messageComposer.setIs_credential(true);
        messageComposer.setIs_encrypted(true);
        messageComposer.setShowProgressRegular(false);
        messageComposer.setMessageProcess(new b());
        MessageSender messageSender = new MessageSender(this, messageComposer);
        messageSender.setRequestMessage(reportingMessage);
        messageSender.execute();
    }

    @Override
    public void adapterResult(BaseAdapter baseAdapter, ArrayList<String> arrayList, int i) {
        if (baseAdapter instanceof TransactionReportAdapter) {
            String str = arrayList.get(1);
            String str2 = arrayList.get(3);
            ReportingMessage reportingMessage = new ReportingMessage(this.j.retrieve(AppSession.PROPERTY_MERCHANT_ID), this.j.retrieve(AppSession.PROPERTY_MERCHANT_PIN), this.j.retrieve(AppSession.PROPERTY_AUTH_TOKEN));
            reportingMessage.setMsg_type("TRX");
            reportingMessage.setProcessing_code("ADMTRASI");
            reportingMessage.setIncludesValue("product_code", "CU");
            reportingMessage.setIncludesValue(MPMessage.IncludeMessage.REFF_ID, str);
            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 a(str2, str));
            MessageSender messageSender = new MessageSender(this, messageComposer);
            messageSender.setRequestMessage(reportingMessage);
            messageSender.execute();
        }
    }
}