导航菜单

页面标题

页面副标题

Mint v5.7.3 - OpinionatedSoln.java 源代码

正在查看: Mint v5.7.3 应用的 OpinionatedSoln.java JAVA 源代码文件

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


package com.razorpay;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.net.Uri;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import com.snowplowanalytics.snowplow.tracker.constants.Parameters;
import in.juspay.hyper.constants.LogCategory;
import io.jsonwebtoken.JwtParser;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import kotlin.Metadata;

@Metadata(d1 = {"\u0000>\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000b\n\u0000\n\u0002\u0010\u000e\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\f\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\f\bÆ\u0002\u0018\u00002\u00020\u0001:\u0003()*B\t\b\u0002¢\u0006\u0004\b&\u0010'J\u0010\u0010\u0005\u001a\u00020\u00042\u0006\u0010\u0003\u001a\u00020\u0002H\u0002J\u0010\u0010\t\u001a\u00020\b2\u0006\u0010\u0007\u001a\u00020\u0006H\u0002J\u0018\u0010\u000b\u001a\u00020\u00042\u0006\u0010\u0003\u001a\u00020\u00022\u0006\u0010\n\u001a\u00020\bH\u0002J\u000e\u0010\f\u001a\u00020\u00042\u0006\u0010\u0003\u001a\u00020\u0002J\u0016\u0010\f\u001a\u00020\u00042\u0006\u0010\u0003\u001a\u00020\u00022\u0006\u0010\u000e\u001a\u00020\rJ\u000e\u0010\u000f\u001a\u00020\u00042\u0006\u0010\u0003\u001a\u00020\u0002J\u0006\u0010\u0010\u001a\u00020\u0004J\u001a\u0010\u0014\u001a\u0004\u0018\u00010\u00012\u0006\u0010\u0012\u001a\u00020\u00112\b\u0010\u0013\u001a\u0004\u0018\u00010\bR\"\u0010\u0015\u001a\u00020\u00068\u0006@\u0006X\u0086\u000e¢\u0006\u0012\n\u0004\b\u0015\u0010\u0016\u001a\u0004\b\u0017\u0010\u0018\"\u0004\b\u0019\u0010\u001aR\"\u0010\u001b\u001a\u00020\u00068\u0006@\u0006X\u0086\u000e¢\u0006\u0012\n\u0004\b\u001b\u0010\u0016\u001a\u0004\b\u001c\u0010\u0018\"\u0004\b\u001d\u0010\u001aR$\u0010 \u001a\u0012\u0012\u0004\u0012\u00020\b0\u001ej\b\u0012\u0004\u0012\u00020\b`\u001f8\u0002X\u0082\u0004¢\u0006\u0006\n\u0004\b \u0010!R$\u0010\"\u001a\u0012\u0012\u0004\u0012\u00020\b0\u001ej\b\u0012\u0004\u0012\u00020\b`\u001f8\u0002X\u0082\u0004¢\u0006\u0006\n\u0004\b\"\u0010!R$\u0010#\u001a\u0012\u0012\u0004\u0012\u00020\u00060\u001ej\b\u0012\u0004\u0012\u00020\u0006`\u001f8\u0002X\u0082\u0004¢\u0006\u0006\n\u0004\b#\u0010!R\u0016\u0010\u000e\u001a\u00020\r8\u0002@\u0002X\u0082.¢\u0006\u0006\n\u0004\b\u000e\u0010$R\u0016\u0010%\u001a\u00020\u00068\u0002@\u0002X\u0082\u000e¢\u0006\u0006\n\u0004\b%\u0010\u0016¨\u0006+"}, d2 = {"Lcom/razorpay/OpinionatedSoln;", com.thoughtbot.expandablerecyclerview.BuildConfig.FLAVOR, "Landroid/app/Activity;", Parameters.SCREEN_ACTIVITY, "Lug/a0;", "checkEnvVariablesForProject", com.thoughtbot.expandablerecyclerview.BuildConfig.FLAVOR, "isMinor", com.thoughtbot.expandablerecyclerview.BuildConfig.FLAVOR, "getUpdatedVersionNumber", "version", "checkIfVersionUpdateExists", "integrationStatusCheck", "Lcom/razorpay/OpinionatedSoln$DismissCallback;", "dismissCallback", "showDialog", "sendCallbackIfExists", "Landroid/content/Context;", LogCategory.CONTEXT, "fieldName", "getBuildConfigValue", "alertShownForStatus", "Z", "getAlertShownForStatus", "()Z", "setAlertShownForStatus", "(Z)V", "checkedForSubMinorVersion", "getCheckedForSubMinorVersion", "setCheckedForSubMinorVersion", "Ljava/util/ArrayList;", "Lkotlin/collections/ArrayList;", "dialogItemTitles", "Ljava/util/ArrayList;", "dialogItemSubTitles", "dialogItemStatus", "Lcom/razorpay/OpinionatedSoln$DismissCallback;", "callbackSent", "<init>", "()V", "DismissCallback", "HandleDialogShowPreference", "MyListAdapter", "checkout_release"}, k = 1, mv = {1, 6, 0})
public final class OpinionatedSoln {
    private static boolean alertShownForStatus;
    private static boolean callbackSent;
    private static boolean checkedForSubMinorVersion;
    private static DismissCallback dismissCallback;
    public static final OpinionatedSoln INSTANCE = new OpinionatedSoln();
    private static final ArrayList<String> dialogItemTitles = new ArrayList<>();
    private static final ArrayList<String> dialogItemSubTitles = new ArrayList<>();
    private static final ArrayList<Boolean> dialogItemStatus = new ArrayList<>();

    @Metadata(d1 = {"\u0000\u0010\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\bf\u0018\u00002\u00020\u0001J\b\u0010\u0003\u001a\u00020\u0002H&¨\u0006\u0004"}, d2 = {"Lcom/razorpay/OpinionatedSoln$DismissCallback;", com.thoughtbot.expandablerecyclerview.BuildConfig.FLAVOR, "Lug/a0;", "alertDismissed", "checkout_release"}, k = 1, mv = {1, 6, 0})
    public interface DismissCallback {
        void alertDismissed();
    }

    @Metadata(d1 = {"\u0000\u0010\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\bf\u0018\u00002\u00020\u0001J\b\u0010\u0003\u001a\u00020\u0002H&¨\u0006\u0004"}, d2 = {"Lcom/razorpay/OpinionatedSoln$HandleDialogShowPreference;", com.thoughtbot.expandablerecyclerview.BuildConfig.FLAVOR, "Lug/a0;", "errorFound", "checkout_release"}, k = 1, mv = {1, 6, 0})
    public interface HandleDialogShowPreference {
        void errorFound();
    }

    private OpinionatedSoln() {
    }

    private final void checkEnvVariablesForProject(Activity activity) {
        dialogItemTitles.add("Min SDK Version Check");
        dialogItemSubTitles.add("Min SDK Version Compatible");
        dialogItemStatus.add(Boolean.TRUE);
        showDialog(activity);
    }

    private final void checkIfVersionUpdateExists(final Activity activity, String str) {
        final kotlin.jvm.internal.b0 b0Var = new kotlin.jvm.internal.b0();
        e.a("https://mvnrepository.com/artifact/com.razorpay/checkout/" + str, new Callback() {
            @Override
            public final void run(ResponseObject responseObject) {
                OpinionatedSoln.m486checkIfVersionUpdateExists$lambda0(b0Var, activity, responseObject);
            }
        });
    }

    public static final void m486checkIfVersionUpdateExists$lambda0(kotlin.jvm.internal.b0 b0Var, Activity activity, ResponseObject responseObject) {
        kotlin.jvm.internal.m.g(b0Var, "$versionUpdateExists");
        kotlin.jvm.internal.m.g(activity, "$activity");
        if (responseObject != null && responseObject.getResponseCode() == 200) {
            b0Var.a = true;
            dialogItemTitles.add("Version Upgrade Check");
            dialogItemSubTitles.add("A version update was found. Click here to go to docs");
            dialogItemStatus.add(Boolean.FALSE);
            INSTANCE.checkEnvVariablesForProject(activity);
            return;
        }
        if (!checkedForSubMinorVersion) {
            checkedForSubMinorVersion = true;
            OpinionatedSoln opinionatedSoln = INSTANCE;
            opinionatedSoln.checkIfVersionUpdateExists(activity, opinionatedSoln.getUpdatedVersionNumber(false));
        } else {
            b0Var.a = false;
            dialogItemTitles.add("Version Upgrade Check");
            dialogItemSubTitles.add("Running the latest version");
            dialogItemStatus.add(Boolean.TRUE);
            INSTANCE.checkEnvVariablesForProject(activity);
        }
    }

    private final String getUpdatedVersionNumber(boolean isMinor) {
        String str = (String) oh.m.y0(BuildConfig.VERSION_NAME, new String[]{"."}, false, 0, 6, (Object) null).get(0);
        String str2 = (String) oh.m.y0(BuildConfig.VERSION_NAME, new String[]{"."}, false, 0, 6, (Object) null).get(1);
        String str3 = (String) oh.m.y0(BuildConfig.VERSION_NAME, new String[]{"."}, false, 0, 6, (Object) null).get(2);
        if (isMinor) {
            return str + JwtParser.SEPARATOR_CHAR + (Integer.parseInt(str2) + 1) + ".0";
        }
        return str + JwtParser.SEPARATOR_CHAR + str2 + JwtParser.SEPARATOR_CHAR + (Integer.parseInt(str3) + 1);
    }

    public static final void m487showDialog$lambda1(Activity activity, AdapterView adapterView, View view, int i, long j) {
        kotlin.jvm.internal.m.g(activity, "$activity");
        if (i == 0) {
            Intent intent = new Intent("android.intent.action.VIEW");
            intent.setData(Uri.parse("https://razorpay.com/docs/payments/payment-gateway/android-integration/standard/#list-of-razorpay-android-standard-sdk-versions-last"));
            activity.startActivity(intent);
        }
    }

    public static final void m488showDialog$lambda2(DialogInterface dialogInterface) {
        INSTANCE.sendCallbackIfExists();
    }

    public static final void m489showDialog$lambda3(Activity activity, DialogInterface dialogInterface, int i) {
        kotlin.jvm.internal.m.g(activity, "$activity");
        BaseConfig.setOpinionatedSolnPreference(activity, Boolean.FALSE);
        Toast.makeText(activity, "Status will be shown in logs. RAZORPAY_SDK", 1).show();
        INSTANCE.sendCallbackIfExists();
    }

    public final boolean getAlertShownForStatus() {
        return alertShownForStatus;
    }

    public final Object getBuildConfigValue(Context context, String fieldName) {
        kotlin.jvm.internal.m.g(context, LogCategory.CONTEXT);
        try {
            Field field = fieldName != null ? Class.forName(context.getPackageName() + ".BuildConfig").getField(fieldName) : null;
            if (field != null) {
                return field.get(null);
            }
        } catch (ClassNotFoundException | IllegalAccessException | NoSuchFieldException unused) {
        }
        return null;
    }

    public final boolean getCheckedForSubMinorVersion() {
        return checkedForSubMinorVersion;
    }

    public final void integrationStatusCheck(Activity activity) {
        kotlin.jvm.internal.m.g(activity, Parameters.SCREEN_ACTIVITY);
        checkIfVersionUpdateExists(activity, getUpdatedVersionNumber(true));
    }

    public final void integrationStatusCheck(Activity activity, DismissCallback dismissCallback2) {
        kotlin.jvm.internal.m.g(activity, Parameters.SCREEN_ACTIVITY);
        kotlin.jvm.internal.m.g(dismissCallback2, "dismissCallback");
        p$_5$.a().a(activity);
        CheckoutUtils.e(activity);
        callbackSent = false;
        dismissCallback = dismissCallback2;
        checkIfVersionUpdateExists(activity, getUpdatedVersionNumber(true));
    }

    public final void sendCallbackIfExists() {
        DismissCallback dismissCallback2 = dismissCallback;
        if (dismissCallback2 == null || callbackSent) {
            return;
        }
        if (dismissCallback2 == null) {
            kotlin.jvm.internal.m.w("dismissCallback");
            dismissCallback2 = null;
        }
        dismissCallback2.alertDismissed();
        callbackSent = true;
    }

    public final void setAlertShownForStatus(boolean z) {
        alertShownForStatus = z;
    }

    public final void setCheckedForSubMinorVersion(boolean z) {
        checkedForSubMinorVersion = z;
    }

    public final void showDialog(final Activity activity) {
        kotlin.jvm.internal.m.g(activity, Parameters.SCREEN_ACTIVITY);
        Object buildConfigValue = getBuildConfigValue(activity, "DEBUG");
        if (buildConfigValue == null) {
            CheckoutUtils.a();
            sendCallbackIfExists();
            return;
        }
        if (!((Boolean) buildConfigValue).booleanValue() || alertShownForStatus) {
            CheckoutUtils.a();
            sendCallbackIfExists();
            return;
        }
        AlertDialog.Builder builder = new AlertDialog.Builder(activity);
        View inflate = activity.getLayoutInflater().inflate(R.layout.sdk_integration_status, (ViewGroup) null);
        kotlin.jvm.internal.m.f(inflate, "activity.layoutInflater.…integration_status, null)");
        ListView listView = (ListView) inflate.findViewById(R.id.check_list);
        final ArrayList<String> arrayList = dialogItemTitles;
        final ArrayList<String> arrayList2 = dialogItemSubTitles;
        final ArrayList<Boolean> arrayList3 = dialogItemStatus;
        listView.setAdapter((ListAdapter) new ArrayAdapter<String>(activity, arrayList, arrayList2, arrayList3) {
            private final Activity a;
            private final ArrayList<String> b;
            private final ArrayList<String> c;
            private final ArrayList<Boolean> d;

            {
                super(activity, R.layout.single_item);
                kotlin.jvm.internal.m.g(activity, LogCategory.CONTEXT);
                kotlin.jvm.internal.m.g(arrayList, "itemTitles");
                kotlin.jvm.internal.m.g(arrayList2, "itemDescs");
                kotlin.jvm.internal.m.g(arrayList3, "status");
                this.a = activity;
                this.b = arrayList;
                this.c = arrayList2;
                this.d = arrayList3;
            }

            @Override
            public final int getCount() {
                return this.b.size();
            }

            @Override
            public final View getView(int position, View view, ViewGroup parent) {
                kotlin.jvm.internal.m.g(parent, "parent");
                LayoutInflater layoutInflater = this.a.getLayoutInflater();
                kotlin.jvm.internal.m.f(layoutInflater, "context.layoutInflater");
                View inflate2 = layoutInflater.inflate(R.layout.single_item, (ViewGroup) null, true);
                View findViewById = inflate2.findViewById(R.id.tv_title);
                if (findViewById == null) {
                    throw new NullPointerException("null cannot be cast to non-null type android.widget.TextView");
                }
                TextView textView = (TextView) findViewById;
                View findViewById2 = inflate2.findViewById(R.id.iv_check_mark);
                if (findViewById2 == null) {
                    throw new NullPointerException("null cannot be cast to non-null type android.widget.ImageView");
                }
                ImageView imageView = (ImageView) findViewById2;
                View findViewById3 = inflate2.findViewById(R.id.tv_sub_item);
                if (findViewById3 == null) {
                    throw new NullPointerException("null cannot be cast to non-null type android.widget.TextView");
                }
                TextView textView2 = (TextView) findViewById3;
                textView.setText(this.b.get(position));
                Boolean bool = this.d.get(position);
                kotlin.jvm.internal.m.f(bool, "status[position]");
                if (bool.booleanValue()) {
                    imageView.setImageResource(R.drawable.ic_tick_mark);
                } else {
                    imageView.setImageResource(R.drawable.ic_alert);
                }
                textView2.setText(this.c.get(position));
                kotlin.jvm.internal.m.f(inflate2, "rowView");
                return inflate2;
            }
        });
        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public final void onItemClick(AdapterView adapterView, View view, int i, long j) {
                OpinionatedSoln.m487showDialog$lambda1(activity, adapterView, view, i, j);
            }
        });
        builder.setView(inflate);
        builder.setOnDismissListener(new DialogInterface.OnDismissListener() {
            @Override
            public final void onDismiss(DialogInterface dialogInterface) {
                OpinionatedSoln.m488showDialog$lambda2(dialogInterface);
            }
        });
        Iterator<Boolean> it = arrayList3.iterator();
        boolean z = true;
        while (it.hasNext()) {
            if (!it.next().booleanValue()) {
                z = false;
            }
        }
        if (z) {
            builder.setNegativeButton("Hide notification forever", new DialogInterface.OnClickListener() {
                @Override
                public final void onClick(DialogInterface dialogInterface, int i) {
                    OpinionatedSoln.m489showDialog$lambda3(activity, dialogInterface, i);
                }
            });
        }
        Boolean opinionatedSolnPreference = BaseConfig.getOpinionatedSolnPreference(activity);
        kotlin.jvm.internal.m.f(opinionatedSolnPreference, "getOpinionatedSolnPreference(activity)");
        if (opinionatedSolnPreference.booleanValue() || !z) {
            if (!z) {
                BaseConfig.setOpinionatedSolnPreference(activity, Boolean.TRUE);
            }
            AlertDialog show = builder.show();
            alertShownForStatus = true;
            new CountDownTimerC0251a(show).start();
            CheckoutUtils.a();
            return;
        }
        HashMap hashMap = new HashMap();
        Iterator<String> it2 = dialogItemTitles.iterator();
        while (it2.hasNext()) {
            String next = it2.next();
            kotlin.jvm.internal.m.f(next, "item");
            ArrayList<String> arrayList4 = dialogItemSubTitles;
            ArrayList<String> arrayList5 = dialogItemTitles;
            String str = arrayList4.get(arrayList5.indexOf(next));
            kotlin.jvm.internal.m.f(str, "dialogItemSubTitles[dial…ItemTitles.indexOf(item)]");
            hashMap.put(next, str);
            dialogItemStatus.get(arrayList5.indexOf(next)).booleanValue();
        }
        hashMap.toString();
        sendCallbackIfExists();
        CheckoutUtils.a();
    }
}