导航菜单

页面标题

页面副标题

Betterhalf.ai v5.1.1 - CheckoutPresenterImpl.java 源代码

正在查看: Betterhalf.ai v5.1.1 应用的 CheckoutPresenterImpl.java JAVA 源代码文件

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


package com.razorpay;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.ActivityNotFoundException;
import android.content.BroadcastReceiver;
import android.content.ComponentName;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.IntentFilter;
import android.graphics.Color;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.os.ParcelFileDescriptor;
import android.text.TextUtils;
import android.util.Base64;
import android.view.WindowManager;
import android.webkit.WebView;
import com.google.android.gms.auth.api.phone.SmsRetriever;
import com.google.android.gms.common.api.Status;
import com.google.android.gms.tasks.Task;
import com.google.firebase.analytics.FirebaseAnalytics;
import com.google.firebase.messaging.Constants;
import com.razorpay.AnalyticsProperty;
import com.razorpay.CheckoutBridge;
import com.razorpay.CheckoutPresenterImpl;
import com.razorpay.CheckoutUtils;
import com.razorpay.b;
import com.razorpay.rn.RazorpayModule;
import com.truecaller.android.sdk.common.network.RestAdapter;
import expo.modules.interfaces.permissions.PermissionsResponse;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URL;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.Map;
import java.util.Queue;
import org.json.JSONException;
import org.json.JSONObject;

class CheckoutPresenterImpl implements CheckoutInteractor, CheckoutPresenter {
    protected Activity activity;
    private b__J_ autoReadOtpHelper;
    private Task<Void> automaticRetrievalTask;
    private long checkoutLoadStartAt;
    J__A$ checkoutOptions;
    private String checkoutUrl;
    private boolean clearHistory;
    private String dashOptions;
    private JSONObject dashOptionsJSON;
    private Task<Void> loginOtpSmsTask;
    String merchantKey;
    private long preloadAbortDuration;
    private long preloadCompleteDuration;
    private Task<Void> userConsentTask;
    protected CheckoutView view;
    private String checkoutContent = "{}";
    private int paymentAttempts = 0;
    private boolean isPaymentSuccessful = false;
    private boolean isSmsReceiverRegistered = false;
    private boolean isTwoWebViewFlow = false;
    private boolean isMagic = false;
    private int merchantLogoResourceId = 0;
    private boolean isActivityCreated = false;
    private boolean sendSmsHash = false;
    private boolean allowRotation = false;
    private String sanitizedChallanEncodedString = "";
    private String payment_id = null;
    private Z$_A_ magicBase = null;
    private boolean nameNotFound_retryStatus = false;
    private Boolean internalUpiApp = Boolean.FALSE;
    BroadcastReceiver otpAutoReadBroadcast = new BroadcastReceiver() {
        @Override
        public final void onReceive(Context context, Intent intent) {
            if ("com.google.android.gms.auth.api.phone.SMS_RETRIEVED".equals(intent.getAction())) {
                Bundle extras = intent.getExtras();
                Status status = (Status) extras.get("com.google.android.gms.auth.api.phone.EXTRA_STATUS");
                AnalyticsUtil.trackEvent(AnalyticsEvent.AUTO_READ_OTP_SMS_RETRIEVER_API_RECEIVED_SMS);
                int statusCode = status.getStatusCode();
                if (statusCode != 0) {
                    if (statusCode != 15) {
                        return;
                    }
                    AnalyticsUtil.trackEvent(AnalyticsEvent.AUTO_READ_OTP_SMS_RETRIEVER_API_TIMEOUT);
                    return;
                }
                Intent intent2 = (Intent) extras.get("com.google.android.gms.auth.api.phone.EXTRA_CONSENT_INTENT");
                if (intent2 == null) {
                    String str = (String) extras.get("com.google.android.gms.auth.api.phone.EXTRA_SMS_MESSAGE");
                    Intent intent3 = new Intent();
                    intent3.putExtra("com.google.android.gms.auth.api.phone.EXTRA_SMS_MESSAGE", str);
                    CheckoutPresenterImpl.this.onActivityResultReceived(1001, -1, intent3);
                    return;
                }
                ComponentName callingActivity = CheckoutPresenterImpl.this.activity.getCallingActivity();
                if (callingActivity != null && callingActivity.getPackageName().equals(CheckoutPresenterImpl.this.activity.getPackageName()) && CheckoutPresenterImpl.this.activity.getLocalClassName().contains("CheckoutActivity")) {
                    try {
                        CheckoutPresenterImpl.this.activity.startActivityForResult(intent2, 1001);
                        AnalyticsUtil.trackEvent(AnalyticsEvent.AUTO_READ_OTP_SMS_RETRIEVER_API_SHOWED_ONE_TIME_CONSENT);
                    } catch (ActivityNotFoundException e) {
                        AnalyticsUtil.reportError("AutoReadOtpHelper", "S0", e.getLocalizedMessage());
                    }
                }
            }
        }
    };
    Queue<String> checkoutMessageQueue = new LinkedList();
    private boolean isCheckoutLoaded = false;
    private boolean truecallerLoginAttempt = false;

    interface CheckoutView {
        void addJavascriptInterfaceToPrimaryWebview(Object obj, String str);

        void checkSmsPermission();

        void clearWebViewHistory(int i);

        void destroy(int i, String str);

        WebView getWebView(int i);

        void hideProgressBar();

        boolean isWebViewVisible(int i);

        void loadData(int i, String str, String str2, String str3);

        void loadDataWithBaseURL(int i, String str, String str2, String str3, String str4, String str5);

        void loadUrl(int i, String str);

        void makeWebViewVisible(int i);

        void showProgressBar(int i);

        void showToast(String str, int i);
    }

    protected void helpersReset() {
    }

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

    @Override
    public void onRequestPermissionsResult(int i, String[] strArr, int[] iArr) {
    }

    @Override
    public void relay(String str) {
    }

    @Override
    public void requestOtpPermission() {
    }

    void enableCheckoutLoaded() {
        this.isCheckoutLoaded = true;
    }

    void enableTwoViewFlow() {
        this.isTwoWebViewFlow = true;
    }

    public CheckoutPresenterImpl(Activity activity, CheckoutView checkoutView) {
        this.activity = activity;
        this.view = checkoutView;
    }

    @Override
    public boolean setOptions(Bundle bundle, boolean z) {
        this.isActivityCreated = z;
        if (bundle == null) {
            destroyActivity(0, this.activity.getResources().getString(R.string.activity_result_invalid_parameters));
            return false;
        }
        J__A$ j__a$ = new J__A$(bundle.getString("OPTIONS"));
        this.checkoutOptions = j__a$;
        JSONObject d = j__a$.d();
        if (d.has("retry")) {
            F_$o_.a().a(d);
        }
        this.merchantKey = this.checkoutOptions.a();
        this.sendSmsHash = this.checkoutOptions.b();
        this.allowRotation = this.checkoutOptions.c();
        int i = bundle.getInt("IMAGE", 0);
        this.merchantLogoResourceId = i;
        this.checkoutOptions.a(this.activity, i);
        AnalyticsUtil.setup(this.activity, this.merchantKey, F_$o_.a, F_$o_.c, F_$o_.b);
        d.has("ep");
        J__A$ j__a$2 = this.checkoutOptions;
        String a = CheckoutUtils.a("https://api.razorpay.com/v1/checkout/public", "version", F_$o_.b);
        Map<String, String> g = F_$o_.a().g();
        for (String str : g.keySet()) {
            a = CheckoutUtils.a(a, str, g.get(str));
        }
        Iterator<String> it = F_$o_.a().h().iterator();
        while (it.hasNext()) {
            String next = it.next();
            if (j__a$2.a(next)) {
                a = CheckoutUtils.a(a, next, (String) j__a$2.c(next));
            }
        }
        this.checkoutUrl = a;
        if (a == null) {
            destroyActivity(3, this.activity.getResources().getString(R.string.activity_result_invalid_url));
        }
        if (!z) {
            this.checkoutOptions.g();
            String a2 = C0026r.a(this.activity, "pref_merchant_options_" + this.merchantKey, null);
            this.dashOptions = a2;
            if (a2 != null) {
                try {
                    this.dashOptionsJSON = new JSONObject(this.dashOptions);
                } catch (Exception e) {
                    AnalyticsUtil.reportError("CxPsntrImpl", "S0", e.getLocalizedMessage());
                }
            }
            String string = bundle.getString("FRAMEWORK");
            if (string != null) {
                AnalyticsUtil.addProperty("framework", new AnalyticsProperty(string, AnalyticsProperty.Scope.ORDER));
            }
            AnalyticsUtil.setFramework(string);
            String string2 = bundle.getString("FRAMEWORK_VERSION");
            if (string2 != null) {
                AnalyticsUtil.addProperty("frameworkVersion", new AnalyticsProperty(string2, AnalyticsProperty.Scope.ORDER));
            }
            if (bundle.getBoolean("DISABLE_FULL_SCREEN", false)) {
                CheckoutUtils.a(this.activity);
            }
            if (bundle.containsKey("PRELOAD_COMPLETE_DURATION")) {
                this.preloadCompleteDuration = bundle.getLong("PRELOAD_COMPLETE_DURATION");
            }
            if (!bundle.containsKey("PRELOAD_ABORT_DURATION")) {
                return true;
            }
            this.preloadAbortDuration = bundle.getLong("PRELOAD_ABORT_DURATION");
            return true;
        }
        this.dashOptions = bundle.getString("DASH_OPTIONS");
        if (!bundle.getBoolean("DISABLE_FULL_SCREEN", false)) {
            return true;
        }
        CheckoutUtils.a(this.activity);
        return true;
    }

    private void injectJs(String str) {
        this.view.loadUrl(1, String.format("javascript: %s", str));
    }

    @Override
    public void onActivityResultReceived(int i, int i2, Intent intent) {
        Intent intent2;
        if (i == 77) {
            if (i2 != -1 || intent.getData() == null) {
                return;
            }
            Uri data = intent.getData();
            try {
                try {
                    ParcelFileDescriptor openFileDescriptor = this.activity.getContentResolver().openFileDescriptor(data, "w");
                    FileOutputStream fileOutputStream = new FileOutputStream(openFileDescriptor.getFileDescriptor());
                    fileOutputStream.write(Base64.decode(this.sanitizedChallanEncodedString, 0));
                    fileOutputStream.close();
                    openFileDescriptor.close();
                    intent2 = new Intent("android.intent.action.VIEW");
                } catch (IOException e) {
                    e.printStackTrace();
                    intent2 = new Intent("android.intent.action.VIEW");
                }
                intent2.setDataAndType(data, "application/pdf");
                intent2.addFlags(1);
                data = this.activity;
                data.startActivity(intent2);
                return;
            } catch (Throwable th) {
                Intent intent3 = new Intent("android.intent.action.VIEW");
                intent3.setDataAndType(data, "application/pdf");
                intent3.addFlags(1);
                this.activity.startActivity(intent3);
                throw th;
            }
        }
        if (i != 1001) {
            if (i == 99) {
                JSONObject jSONFromIntentData = BaseUtils.getJSONFromIntentData(intent);
                if (jSONFromIntentData.toString().contains("\"from\":\"razorpay\"") && AnalyticsUtil.getKeyType().equalsIgnoreCase("test") && this.internalUpiApp.booleanValue()) {
                    destroyActivity(0, "");
                    return;
                } else {
                    loadResultToWebView(jSONFromIntentData, String.format("javascript: upiIntentResponse(%s)", jSONFromIntentData.toString()));
                    return;
                }
            }
            if (i == 20) {
                try {
                    JSONObject jSONObject = new JSONObject("{'data':" + i2 + "}");
                    jSONObject.put("provider", "CRED");
                    loadResultToWebView(jSONObject, String.format("javascript:externalAppResponse(%s)", jSONObject.toString()));
                    return;
                } catch (JSONException e2) {
                    AnalyticsUtil.reportError("CxPsntrImpl", "S0", e2.getMessage());
                    return;
                }
            }
            return;
        }
        if (i2 == -1) {
            AnalyticsUtil.trackEvent(AnalyticsEvent.AUTO_READ_OTP_SMS_RETRIEVER_API_RECEIVED_SMS);
            String stringExtra = intent.getStringExtra("com.google.android.gms.auth.api.phone.EXTRA_SMS_MESSAGE");
            if (this.isCheckoutLoaded) {
                try {
                    JSONObject jSONObject2 = new JSONObject();
                    jSONObject2.put("sender", "razorpay");
                    jSONObject2.put(RestAdapter.JSON_KEY_ERROR_MESSAGE, stringExtra);
                    injectJs(String.format("OTPElf.showOTP('%s','%s')", stringExtra, "razorpay"));
                    AnalyticsUtil.trackEvent(AnalyticsEvent.AUTO_READ_OTP_SMS_RETRIEVER_API_OTP_POPULATION_JS);
                } catch (JSONException e3) {
                    AnalyticsUtil.reportError("CxPsntrImpl", "S0", e3.getLocalizedMessage());
                    e3.printStackTrace();
                }
            }
        } else {
            AnalyticsUtil.trackEvent(AnalyticsEvent.AUTO_READ_OTP_SMS_RETRIEVER_API_CONSENT_DECLINED);
        }
        Task<Void> task = this.userConsentTask;
        if (task == null || task.isSuccessful()) {
            return;
        }
        startSmsRetrievers();
    }

    private void loadResultToWebView(JSONObject jSONObject, String str) {
        HashMap hashMap = new HashMap();
        hashMap.put("result", jSONObject);
        AnalyticsUtil.trackEvent(AnalyticsEvent.NATIVE_INTENT_ONACTIVITY_RESULT, AnalyticsUtil.getJSONResponse(hashMap));
        if (this.isCheckoutLoaded) {
            this.view.loadUrl(1, str);
            return;
        }
        if (this.checkoutMessageQueue == null) {
            this.checkoutMessageQueue = new LinkedList();
        }
        this.checkoutMessageQueue.add(str);
    }

    @Override
    public void verifyGPaySdkResponse(String str) {
        String format = String.format("javascript: window.externalSDKResponse(%s)", str);
        if (this.isCheckoutLoaded) {
            this.view.loadUrl(1, format);
            return;
        }
        if (this.checkoutMessageQueue == null) {
            this.checkoutMessageQueue = new LinkedList();
        }
        this.checkoutMessageQueue.add(format);
    }

    @Override
    public void unregisterReceivers() {
        try {
            BroadcastReceiver broadcastReceiver = this.otpAutoReadBroadcast;
            if (broadcastReceiver != null) {
                this.activity.unregisterReceiver(broadcastReceiver);
                this.isSmsReceiverRegistered = false;
            }
        } catch (Exception e) {
            this.isSmsReceiverRegistered = false;
            AnalyticsUtil.reportError("CxPrntrImpl", "S2", e.getMessage());
        }
    }

    @Override
    public String getSdkPlugins() {
        HashMap<String, String> allPluginsFromManifest = BaseUtils.getAllPluginsFromManifest(this.activity);
        JSONObject jSONObject = new JSONObject();
        try {
            jSONObject.put("isAmazonPluginIntegrated", false);
            jSONObject.put("isGooglePayPluginIntegrated", false);
        } catch (JSONException e) {
            AnalyticsUtil.reportError("CxPsntrImpl", "S0", e.getLocalizedMessage());
        }
        if (allPluginsFromManifest != null && allPluginsFromManifest.size() != 0) {
            for (String str : allPluginsFromManifest.values()) {
                if (allPluginsFromManifest.size() > 0 && str.equalsIgnoreCase("com.razorpay.RazorpayAmazon")) {
                    jSONObject.put("isAmazonPluginIntegrated", true);
                }
                if (allPluginsFromManifest.size() > 0 && str.equalsIgnoreCase("com.razorpay.RzpGpayMerged")) {
                    jSONObject.put("isGooglePayPluginIntegrated", true);
                }
            }
            return jSONObject.toString();
        }
        return jSONObject.toString();
    }

    @Override
    public void onCheckoutRendered() {
        AnalyticsUtil.trackEvent(AnalyticsEvent.CHECKOUT_RENDERED_COMPLETE);
    }

    @Override
    public void getPdfString(String str, String str2) {
        if (TextUtils.isEmpty(str2) || !str2.contains("base64,")) {
            return;
        }
        String str3 = str2.split("base64,")[1];
        this.sanitizedChallanEncodedString = str3;
        BaseUtils.pdfDownloadHelper(this.activity, str, str3);
    }

    @Override
    public void registerSmsListener() {
        try {
            IntentFilter intentFilter = new IntentFilter("com.google.android.gms.auth.api.phone.SMS_RETRIEVED");
            if (Build.VERSION.SDK_INT >= 33) {
                this.activity.registerReceiver(this.otpAutoReadBroadcast, intentFilter, "com.google.android.gms.auth.api.phone.permission.SEND", null, 2);
            } else {
                this.activity.registerReceiver(this.otpAutoReadBroadcast, intentFilter, "com.google.android.gms.auth.api.phone.permission.SEND", null);
            }
            this.isSmsReceiverRegistered = true;
        } catch (Exception unused) {
            this.isSmsReceiverRegistered = false;
        }
    }

    @Override
    public void unregisterSmsListener() {
        unregisterReceivers();
    }

    @Override
    public J__A$ getCheckoutOptions() {
        return this.checkoutOptions;
    }

    @Override
    public void setUpAddOn() {
        this.magicBase = new Z$_A_(this.activity, this.view.getWebView(2));
    }

    @Override
    public void loadForm(String str) {
        if (this.paymentAttempts != 0) {
            AnalyticsUtil.postData();
        }
        this.paymentAttempts++;
        AnalyticsUtil.addProperty("payment_attempt", new AnalyticsProperty(this.paymentAttempts, AnalyticsProperty.Scope.ORDER));
        this.clearHistory = true;
        this.view.loadUrl(1, (this.checkoutUrl + str).replace(" ", "%20"));
    }

    @Override
    public void showRetryDialog(final int i, final String str) {
        this.view.loadUrl(1, "about:blank");
        final AlertDialog create = new AlertDialog.Builder(this.activity).create();
        create.setTitle("Trouble Connecting");
        create.setMessage("Please check your internet connection & restart the payment process.\n\nRetrying in 5 seconds");
        create.setButton(-2, "Cancel Payment", new DialogInterface.OnClickListener() {
            @Override
            public final void onClick(DialogInterface dialogInterface, int i2) {
                create.dismiss();
                CheckoutPresenterImpl.this.destroyActivity(i, str);
            }
        });
        create.show();
        final long j = 5000;
        final long j2 = 1000;
        new CountDownTimer(j, j2, create) {
            private AlertDialog a;

            {
                super(5000L, 1000L);
                this.a = create;
            }

            @Override
            public final void onTick(long j3) {
                if (j3 > 0) {
                    this.a.setMessage(String.format("Please reset network settings & restart the payment process.\n\nRetrying in %s second(s)", Long.valueOf(j3 / 1000)));
                }
            }

            @Override
            public final void onFinish() {
                this.a.dismiss();
                CheckoutPresenterImpl.this.loadForm("");
            }
        }.start();
    }

    @Override
    public void onResumeTriggered() {
        if (this.truecallerLoginAttempt && this.view.isWebViewVisible(1)) {
            try {
                this.view.loadUrl(1, String.format("javascript: window.externalSDKResponse(%s)", new JSONObject().put("provider", "truecaller")));
                this.truecallerLoginAttempt = false;
            } catch (JSONException e) {
                throw new RuntimeException(e);
            }
        }
    }

    @Override
    public void showLoaderDialog(final int i, final String str) {
        this.view.loadUrl(1, "about:blank");
        if (this.activity.isFinishing()) {
            return;
        }
        final AlertDialog create = new AlertDialog.Builder(this.activity).create();
        create.setCancelable(false);
        create.setTitle("Trouble Connecting");
        create.setMessage("Unable to connect to Razorpay.\n\nPlease check your internet connection and/or disconnect from VPN if connected and hit Try Again");
        create.setButton(-1, "Try again", new E__a_(this));
        create.setButton(-2, "Cancel Payment", new DialogInterface.OnClickListener() {
            @Override
            public final void onClick(DialogInterface dialogInterface, int i2) {
                create.dismiss();
                CheckoutPresenterImpl.this.destroyActivity(i, str);
            }
        });
        create.show();
    }

    @Override
    public void passPrefillToSegment() {
        String j = this.checkoutOptions.j();
        if (!TextUtils.isEmpty(j)) {
            AnalyticsUtil.addProperty("email", new AnalyticsProperty(j, AnalyticsProperty.Scope.ORDER));
        }
        String i = this.checkoutOptions.i();
        if (TextUtils.isEmpty(i)) {
            return;
        }
        AnalyticsUtil.addProperty("contact", new AnalyticsProperty(i, AnalyticsProperty.Scope.ORDER));
    }

    @Override
    public void handleCardSaving() {
        AnalyticsUtil.trackEvent(AnalyticsEvent.CARD_SAVING_START);
        L__R$.a(this.activity.getApplicationContext());
    }

    @Override
    public void saveInstanceState(Bundle bundle) {
        if (this.merchantLogoResourceId != 0) {
            bundle.putString("OPTIONS", this.checkoutOptions.h());
            bundle.putInt("IMAGE", this.merchantLogoResourceId);
        } else {
            bundle.putString("OPTIONS", this.checkoutOptions.e());
        }
        bundle.putString("DASH_OPTIONS", this.dashOptions);
        if (this.activity.getIntent() != null) {
            bundle.putBoolean("DISABLE_FULL_SCREEN", this.activity.getIntent().getBooleanExtra("DISABLE_FULL_SCREEN", false));
        }
    }

    @Override
    public void setCheckoutLoadStartAt() {
        this.checkoutLoadStartAt = System.nanoTime();
    }

    @Override
    public void destroyActivity(int i, String str) {
        AnalyticsUtil.addProperty("destroy_resultCode", new AnalyticsProperty(String.valueOf(i), AnalyticsProperty.Scope.ORDER));
        AnalyticsUtil.addProperty("destroy_result", new AnalyticsProperty(str, AnalyticsProperty.Scope.ORDER));
        AnalyticsUtil.trackEvent(AnalyticsEvent.INTERNAL_DESTROY_METHOD_CALLED);
        cleanUpOnDestroy();
        this.view.destroy(i, str);
    }

    @Override
    public void onCheckoutBackPress() {
        AnalyticsUtil.trackEvent(AnalyticsEvent.CHECKOUT_SOFT_BACK_PRESSED);
        destroyActivity(0, BaseUtils.getPaymentCancelledResponse(BaseUtils.getInstance().getMetadata()));
    }

    protected void enableAddon(JSONObject jSONObject) {
        try {
            if (jSONObject.has("magic")) {
                boolean z = jSONObject.getBoolean("magic");
                this.isMagic = z;
                Z$_A_ z$_a_ = this.magicBase;
                if (z$_a_ != null) {
                    z$_a_.c = z;
                }
                AnalyticsUtil.addProperty("is_magic", new AnalyticsProperty(this.isMagic, AnalyticsProperty.Scope.PAYMENT));
            }
        } catch (JSONException e) {
            AnalyticsUtil.reportError("CxPsntrImpl", "S0", e.getLocalizedMessage());
            e.printStackTrace();
        }
    }

    @Override
    public void invokePopup(String str) {
        this.isTwoWebViewFlow = true;
        try {
            this.activity.runOnUiThread(new l__9_(this, str));
        } catch (Exception e) {
            AnalyticsUtil.reportError("CxPsntrImpl", "S0", e.getLocalizedMessage());
            e.printStackTrace();
        }
    }

    @Override
    public void fetchCondfig() {
        F_$o_.d = isMagicPresent();
        F_$o_.a(this.activity, this.merchantKey);
    }

    @Override
    public void onProgressChanges(int i, int i2) {
        if (i != 1) {
            return;
        }
        this.view.showProgressBar(i2);
    }

    @Override
    public void onPageStarted(int i, WebView webView, String str) {
        Z$_A_ z$_a_;
        if (i == 1) {
            CheckoutUtils.c(this.activity);
        } else if (i == 2 && (z$_a_ = this.magicBase) != null && this.isMagic) {
            z$_a_.d = false;
        }
    }

    @Override
    public void onPageFinished(int i, WebView webView, String str) {
        Z$_A_ z$_a_;
        if (i == 1) {
            primaryWebviewPageFinished(str, webView);
        } else if (i == 2 && (z$_a_ = this.magicBase) != null && this.isMagic) {
            z$_a_.a();
        }
    }

    private void sendQueuedMessagesToCheckout() {
        Queue<String> queue = this.checkoutMessageQueue;
        if (queue == null || queue.isEmpty()) {
            return;
        }
        Iterator<String> it = this.checkoutMessageQueue.iterator();
        while (it.hasNext()) {
            this.view.loadUrl(1, it.next());
        }
        this.checkoutMessageQueue.clear();
    }

    protected void primaryWebviewPageFinished(String str, WebView webView) {
        long nanoTime = System.nanoTime();
        CheckoutUtils.a();
        this.view.hideProgressBar();
        if (str.contains("https://api.razorpay.com") && str.contains("android") && str.contains(BuildConfig.VERSION_NAME)) {
            if (this.paymentAttempts == 1) {
                this.isCheckoutLoaded = true;
                sendQueuedMessagesToCheckout();
                HashMap hashMap = new HashMap();
                long j = nanoTime - this.checkoutLoadStartAt;
                hashMap.put("checkout_load_duration", Long.valueOf(j));
                BaseUtils.nanoTimeToSecondsString(j, 2);
                long j2 = this.preloadCompleteDuration;
                if (j2 > 0) {
                    hashMap.put("preload_finish_duration", Long.valueOf(j2));
                    BaseUtils.nanoTimeToSecondsString(this.preloadCompleteDuration, 2);
                } else {
                    long j3 = this.preloadAbortDuration;
                    if (j3 > 0) {
                        hashMap.put("preload_abort_duration", Long.valueOf(j3));
                        BaseUtils.nanoTimeToSecondsString(this.preloadAbortDuration, 2);
                    }
                }
                long j4 = this.preloadCompleteDuration - j;
                if (j4 > 0) {
                    hashMap.put("time_shaved_off", Long.valueOf(j4));
                    BaseUtils.nanoTimeToSecondsString(j4, 2);
                }
                AnalyticsUtil.trackEvent(AnalyticsEvent.CHECKOUT_LOADED, AnalyticsUtil.getJSONResponse(hashMap));
            }
            if (this.clearHistory) {
                this.view.clearWebViewHistory(1);
                this.clearHistory = false;
            }
        }
    }

    @Override
    public String getProgressBarColor() {
        JSONObject jSONObject;
        String str = null;
        try {
            if (this.checkoutOptions.d() != null) {
                String string = this.checkoutOptions.d().getJSONObject("theme").getString("color");
                Color.parseColor(string);
                return string;
            }
            throw new Exception("No options defined");
        } catch (Exception e) {
            try {
                jSONObject = this.dashOptionsJSON;
            } catch (Exception e2) {
                AnalyticsUtil.reportError("CxPsntrImpl", "S2", e2.getMessage());
            }
            if (jSONObject != null) {
                str = jSONObject.getJSONObject("theme").getString("color");
                Color.parseColor(str);
                AnalyticsUtil.reportError("CxPsntrImpl", "S2", e.getMessage());
                return str;
            }
            throw new Exception("No dash options defined");
        }
    }

    @Override
    public void sendOtpPermissionCallback(final boolean z) {
        this.activity.runOnUiThread(new Runnable() {
            @Override
            public final void run() {
                try {
                    JSONObject jSONObject = new JSONObject();
                    jSONObject.put(PermissionsResponse.GRANTED_KEY, z);
                    CheckoutPresenterImpl.this.view.loadUrl(1, String.format("javascript: otpPermissionCallback(%s)", jSONObject.toString()));
                } catch (Exception e) {
                    AnalyticsUtil.reportError("CxPsntrImpl", "S2", e.getLocalizedMessage());
                }
            }
        });
    }

    protected void addOnFlowEnd() {
        Z$_A_ z$_a_ = this.magicBase;
        if (z$_a_ != null) {
            z$_a_.b.a((Activity) z$_a_.a);
        }
    }

    @Override
    public void cleanUpOnDestroy() {
        try {
            markPaymentCancelled();
            unregisterReceivers();
            f.a();
        } catch (Exception e) {
            AnalyticsUtil.reportError("CxPsntrImpl", "S2", e.getLocalizedMessage());
        }
    }

    public void markPaymentCancelled() {
        if (this.payment_id == null || this.isPaymentSuccessful) {
            return;
        }
        try {
            String constructBasicAuth = BaseUtils.constructBasicAuth(this.merchantKey);
            HashMap hashMap = new HashMap();
            hashMap.put("Authorization", "Basic " + constructBasicAuth);
            J$_M_.a("https://api.razorpay.com/v1/payments/" + this.payment_id + "/cancel?platform=android_sdk", hashMap, new Callback(this) {
                @Override
                public final void run(ResponseObject responseObject) {
                    responseObject.getResponseResult();
                }
            });
            this.payment_id = null;
        } catch (Exception e) {
            AnalyticsUtil.reportError("CxPsntrImpl", "S0", e.getLocalizedMessage());
        }
    }

    @Override
    public void backPressed(final Map<String, Object> map) {
        AnalyticsUtil.trackEvent(AnalyticsEvent.CHECKOUT_HARD_BACK_PRESSED, AnalyticsUtil.getJSONResponse(map));
        WebView webView = this.view.getWebView(1);
        if ((webView.getTag() == null ? "" : webView.getTag().toString()).contains(F_$o_.a().getCheckoutEndpoint()) && !this.view.isWebViewVisible(2)) {
            this.view.loadUrl(1, "javascript: window.backPressed ? window.backPressed('onCheckoutBackPress') : CheckoutBridge.onCheckoutBackPress();");
            map.put("in_checkout", "true");
        } else if (!F_$o_.a().k()) {
            destroyActivity(0, "BackPressed");
        } else {
            CheckoutUtils.a(this.activity, F_$o_.a().l(), F_$o_.a().j(), F_$o_.a().i(), new CheckoutUtils.BackButtonDialogCallback() {
                @Override
                public final void onPositiveButtonClick() {
                    AnalyticsUtil.trackEvent(AnalyticsEvent.ALERT_PAYMENT_CONTINUE, AnalyticsUtil.getJSONResponse((Map<String, Object>) map));
                }

                @Override
                public final void onNegativeButtonClick() {
                    boolean z;
                    AnalyticsUtil.trackEvent(AnalyticsEvent.ALERT_PAYMENT_CANCELLED, AnalyticsUtil.getJSONResponse((Map<String, Object>) map));
                    z = CheckoutPresenterImpl.this.isTwoWebViewFlow;
                    if (!z) {
                        CheckoutPresenterImpl.this.handleRetry(null);
                        CheckoutPresenterImpl.this.markPaymentCancelled();
                    } else {
                        CheckoutPresenterImpl.this.view.makeWebViewVisible(1);
                        CheckoutPresenterImpl.this.view.loadUrl(2, "about:blank");
                        CheckoutPresenterImpl.this.view.loadUrl(1, "javascript: window.onpaymentcancel()");
                    }
                    CheckoutPresenterImpl.this.isTwoWebViewFlow = false;
                }
            });
        }
    }

    @Override
    public void onLoad() {
        this.activity.runOnUiThread(new Runnable() {
            @Override
            public final void run() {
                String handleMessageFormattedString;
                CheckoutPresenterImpl.this.nameNotFound_retryStatus = false;
                CheckoutPresenterImpl.CheckoutView checkoutView = CheckoutPresenterImpl.this.view;
                handleMessageFormattedString = CheckoutPresenterImpl.this.getHandleMessageFormattedString();
                checkoutView.loadUrl(1, handleMessageFormattedString);
                CheckoutPresenterImpl.this.view.loadUrl(1, String.format("javascript: CheckoutBridge.sendAnalyticsData({data: %s})", AnalyticsUtil.getAnalyticsDataForCheckout(CheckoutPresenterImpl.this.activity).toString()));
            }
        });
        startSmsRetrievers();
    }

    private void startSmsRetrievers() {
        this.automaticRetrievalTask = SmsRetriever.getClient(this.activity).startSmsRetriever();
        this.userConsentTask = SmsRetriever.getClient(this.activity).startSmsUserConsent((String) null);
    }

    protected JSONObject getOptionsForHandleMessage() {
        JSONObject jSONObject = new JSONObject();
        try {
            jSONObject.put("options", this.checkoutOptions.d());
            jSONObject.put("data", this.checkoutContent);
            jSONObject.put("id", AnalyticsUtil.getLocalOrderId());
            jSONObject.put("pdf_download_supported", true);
            jSONObject.put("key_id", this.merchantKey);
            jSONObject.put("externalSDKs", new JSONObject());
            if (this.checkoutOptions.b()) {
                jSONObject.put("sms_hash", new AppSignatureHelper(this.activity).getAppSignatures().get(0));
            }
            jSONObject.put("upi_intents_data", CheckoutUtils.a((Context) this.activity));
            jSONObject.put("uri_data", CheckoutUtils.b(this.activity));
            JSONObject jSONObject2 = new JSONObject();
            jSONObject2.put("openedAt", System.currentTimeMillis());
            jSONObject.put("metadata", jSONObject2);
            jSONObject.put("sdk", getSdkObject());
            String b = L__R$.b(this.activity.getApplicationContext());
            if (!TextUtils.isEmpty(b)) {
                jSONObject.put("device_token", b);
            }
            jSONObject.put("sdk_popup", true);
            jSONObject.put("magic", true);
            jSONObject.put("network_type", BaseUtils.getNetworkType(this.activity));
            jSONObject.put("activity_recreated", this.isActivityCreated);
        } catch (JSONException e) {
            AnalyticsUtil.reportError("CxPsntrImpl", "S2", e.getLocalizedMessage());
        }
        return jSONObject;
    }

    private JSONObject getSdkObject() {
        String str;
        JSONObject jSONObject = new JSONObject();
        jSONObject.put("framework", AnalyticsUtil.getFramework());
        jSONObject.put("type", F_$o_.a);
        jSONObject.put(RazorpayModule.MAP_KEY_WALLET_NAME, F_$o_.a + "_android_" + AnalyticsUtil.getFramework());
        jSONObject.put("version", BuildConfig.VERSION_NAME);
        jSONObject.put("platform", "android");
        String callingPackage = this.activity.getCallingPackage();
        if (callingPackage == null) {
            callingPackage = this.activity.getPackageName();
            str = "getPackageName";
        } else {
            str = "getCallingPackage";
        }
        if (callingPackage == null) {
            callingPackage = this.activity.getApplicationContext().getPackageName();
            str = "getApplicationContext.getPackageName";
        }
        if (callingPackage == null) {
            callingPackage = this.activity.getApplication().getPackageName();
            str = "getApplication.getPackageName";
        }
        if (callingPackage == null) {
            str = "null";
        }
        JSONObject jSONObject2 = new JSONObject();
        jSONObject2.put("function_name", str);
        AnalyticsUtil.trackEvent(AnalyticsEvent.CHECKOUT_PACKAGE_NAME_FUNC_USED, jSONObject2);
        jSONObject.put("package_name", callingPackage);
        return jSONObject;
    }

    public String getHandleMessageFormattedString() {
        return String.format("javascript: handleMessage(%s)", getOptionsForHandleMessage().toString());
    }

    @Override
    public void setAppToken(String str) {
        C0026r.b(this.activity).putString("rzp_app_token", str).apply();
    }

    @Override
    public void setDeviceToken(String str) {
        L__R$.a(this.activity, str);
    }

    @Override
    public void callNativeIntent(String str, String str2) {
        if (str.contains("truecallersdk://truesdk")) {
            this.truecallerLoginAttempt = true;
        }
        BaseUtils.startActivityForResult(str, str2, this.activity);
        HashMap hashMap = new HashMap();
        if (str == null) {
            str = "null";
        }
        hashMap.put("url", str);
        if (str2 == null) {
            str2 = "null";
        }
        hashMap.put("package_name", str2);
        AnalyticsUtil.trackEvent(AnalyticsEvent.NATIVE_INTENT_CALLED, AnalyticsUtil.getJSONResponse(hashMap));
    }

    @Override
    public void setPaymentID(String str) {
        this.payment_id = str;
        BaseUtils.getInstance().setPaymentId(str);
        if (this.checkoutOptions.f() != null) {
            BaseUtils.getInstance().setOrderId(this.checkoutOptions.f());
        }
        AnalyticsUtil.addProperty(RazorpayModule.MAP_KEY_PAYMENT_ID, new AnalyticsProperty(str, AnalyticsProperty.Scope.PAYMENT));
        AnalyticsUtil.trackEvent(AnalyticsEvent.PAYMENT_ID_ATTACHED);
    }

    @Override
    public void setMerchantOptions(java.lang.String r5) {
        throw new UnsupportedOperationException("Method not decompiled: com.razorpay.CheckoutPresenterImpl.setMerchantOptions(java.lang.String):void");
    }

    protected void addAnalyticsData(JSONObject jSONObject) {
        AnalyticsUtil.addFilteredPropertiesFromPayload(jSONObject);
    }

    @Override
    public void onSubmit(java.lang.String r6) {
        throw new UnsupportedOperationException("Method not decompiled: com.razorpay.CheckoutPresenterImpl.onSubmit(java.lang.String):void");
    }

    protected void onComplete(JSONObject jSONObject) {
        try {
            if (jSONObject.has(Constants.IPC_BUNDLE_KEY_SEND_ERROR)) {
                AnalyticsUtil.addProperty("payment_status", new AnalyticsProperty("fail", AnalyticsProperty.Scope.PAYMENT));
                AnalyticsUtil.addProperty("payload", new AnalyticsProperty(jSONObject.toString(), AnalyticsProperty.Scope.PAYMENT));
                AnalyticsUtil.trackEvent(AnalyticsEvent.CHECKOUT_PAYMENT_COMPLETE);
                if (this.isTwoWebViewFlow) {
                    this.view.makeWebViewVisible(1);
                }
                onError(jSONObject);
            } else if (jSONObject.has("razorpay_fund_account_id")) {
                destroyActivity(1, jSONObject.toString());
            } else if (jSONObject.has(RazorpayModule.MAP_KEY_RZP_PAYMENT_ID)) {
                String string = jSONObject.getString(RazorpayModule.MAP_KEY_RZP_PAYMENT_ID);
                this.payment_id = string;
                AnalyticsUtil.addProperty(RazorpayModule.MAP_KEY_PAYMENT_ID, new AnalyticsProperty(string, AnalyticsProperty.Scope.PAYMENT));
                AnalyticsUtil.addProperty("payment_status", new AnalyticsProperty(FirebaseAnalytics.Param.SUCCESS, AnalyticsProperty.Scope.PAYMENT));
                AnalyticsUtil.addProperty("payload", new AnalyticsProperty(jSONObject.toString(), AnalyticsProperty.Scope.PAYMENT));
                AnalyticsUtil.trackEvent(AnalyticsEvent.CHECKOUT_PAYMENT_COMPLETE);
                this.isPaymentSuccessful = true;
                destroyActivity(1, jSONObject.toString());
            } else if (jSONObject.has("external_wallet")) {
                destroyActivity(4, jSONObject.toString());
            } else {
                destroyActivity(0, "Post payment parsing error");
            }
        } catch (Exception e) {
            AnalyticsUtil.reportError("CxPsntrImpl", "S0", e.getMessage());
            destroyActivity(0, e.getMessage());
        }
        this.isTwoWebViewFlow = false;
    }

    protected void onError(final JSONObject jSONObject) {
        if (this.isTwoWebViewFlow) {
            this.view.loadUrl(1, String.format("javascript: window.onComplete(%s)", jSONObject.toString()));
        } else {
            this.activity.runOnUiThread(new Runnable() {
                @Override
                public final void run() {
                    CheckoutPresenterImpl.this.handleRetry(jSONObject.toString());
                }
            });
        }
    }

    public void handleRetry(String str) {
        int i = this.paymentAttempts;
        int f = F_$o_.a().f();
        if (F_$o_.a().e() && (f == -1 || f >= i)) {
            try {
                if (str != null) {
                    JSONObject jSONObject = new JSONObject(str);
                    if (jSONObject.has(Constants.IPC_BUNDLE_KEY_SEND_ERROR)) {
                        str = str + (this.checkoutUrl.contains("?") ? "&" : "?");
                        if (jSONObject.get(Constants.IPC_BUNDLE_KEY_SEND_ERROR) instanceof JSONObject) {
                            str = str + "error=" + ((JSONObject) jSONObject.get(Constants.IPC_BUNDLE_KEY_SEND_ERROR)).toString();
                        }
                    }
                    helpersReset();
                    loadForm(str);
                    return;
                }
                destroyActivity(0, "");
                return;
            } catch (Exception e) {
                destroyActivity(0, "");
                AnalyticsUtil.reportError("CxPsntrImpl", "S0", e.getMessage());
                return;
            }
        }
        destroyActivity(0, str);
    }

    private void savePrefillData(JSONObject jSONObject) {
        try {
            if (jSONObject.has("contact")) {
                CheckoutUtils.b(this.activity, jSONObject.getString("contact"));
                this.checkoutOptions.a("contact", jSONObject.getString("contact"));
            }
            if (jSONObject.has("email")) {
                CheckoutUtils.a(this.activity, jSONObject.getString("email"));
                this.checkoutOptions.a("email", jSONObject.getString("email"));
            }
        } catch (JSONException e) {
            d__1_.a("Error parsing JSON", e);
        }
    }

    @Override
    public void onFault(String str) {
        try {
            destroyActivity(3, new JSONObject(str).toString());
        } catch (JSONException unused) {
            destroyActivity(3, BaseUtils.getGenericPaymentErrorResponse(str, BaseUtils.getInstance().getMetadata()));
        }
    }

    @Override
    public void onComplete(String str) {
        this.activity.runOnUiThread(new J__n_(this, str));
    }

    @Override
    public void setDimensions(final int i, final int i2) {
        if (h.a(this.activity)) {
            this.activity.runOnUiThread(new Runnable() {
                @Override
                public final void run() {
                    WindowManager.LayoutParams attributes = CheckoutPresenterImpl.this.activity.getWindow().getAttributes();
                    attributes.height = h.a(CheckoutPresenterImpl.this.activity, i2);
                    attributes.width = h.a(CheckoutPresenterImpl.this.activity, i);
                    CheckoutPresenterImpl.this.activity.getWindow().setAttributes(attributes);
                }
            });
        }
    }

    @Override
    public void onDismiss() {
        destroyActivity(0, BaseUtils.getPaymentCancelledResponse(BaseUtils.getInstance().getMetadata()));
    }

    @Override
    public void onDismiss(String str) {
        try {
            destroyActivity(0, new JSONObject(str).toString());
        } catch (JSONException unused) {
            destroyActivity(0, BaseUtils.getGenericPaymentErrorResponse(str, BaseUtils.getInstance().getMetadata()));
        }
    }

    @Override
    public void requestExtraAnalyticsData() {
        this.activity.runOnUiThread(new b._f_(this, AnalyticsUtil.getExtraAnalyticsPayload()));
    }

    @Override
    public void onError(String str) {
        try {
            onError(new JSONObject(str));
        } catch (Exception e) {
            AnalyticsUtil.reportError("CxPsntrImpl", "S0", e.getMessage());
            this.activity.runOnUiThread(new Runnable() {
                @Override
                public final void run() {
                    CheckoutPresenterImpl.this.helpersReset();
                    CheckoutPresenterImpl.this.loadForm("");
                }
            });
        }
    }

    @Override
    public void toast(final String str, final int i) {
        this.activity.runOnUiThread(new Runnable() {
            @Override
            public final void run() {
                CheckoutPresenterImpl.this.view.showToast(str, i);
            }
        });
    }

    @Override
    public void showAlertDialog(String str, String str2, String str3) {
        this.activity.runOnUiThread(new c__h$(this, str, str3, str2));
    }

    @Override
    public void sendDataToWebView(final int i, final String str) {
        this.activity.runOnUiThread(new Runnable() {
            @Override
            public final void run() {
                int i2 = i;
                if (i2 == 1) {
                    CheckoutPresenterImpl.this.view.loadUrl(1, String.format("javascript: handleRelay(%s)", str));
                } else {
                    if (i2 != 2) {
                        return;
                    }
                    CheckoutPresenterImpl.this.view.loadUrl(2, String.format("javascript: Magic.handleRelay(%s)", str));
                }
            }
        });
    }

    @Override
    public void checkSmsPermission() {
        this.view.checkSmsPermission();
    }

    @Override
    public void isWebViewSafeOnUI(final int i, final CheckoutBridge.WebViewSafeCheckCallback webViewSafeCheckCallback) {
        this.activity.runOnUiThread(new Runnable() {
            @Override
            public final void run() {
                CheckoutPresenterImpl.this.executeWebViewCallback(i, webViewSafeCheckCallback);
            }
        });
    }

    public void executeWebViewCallback(int i, CheckoutBridge.WebViewSafeCheckCallback webViewSafeCheckCallback) {
        CheckoutView checkoutView;
        int i2 = 1;
        if (i == 1) {
            checkoutView = this.view;
        } else {
            checkoutView = this.view;
            i2 = 2;
        }
        try {
            String host = new URL(checkoutView.getWebView(i2).getTag().toString()).getHost();
            if (host != null && (host.endsWith("razorpay.com") || host.endsWith("razorpay.in"))) {
                webViewSafeCheckCallback.secure();
            } else {
                webViewSafeCheckCallback.unSecure();
            }
        } catch (Exception e) {
            AnalyticsUtil.reportError("CxPsntrImpl", "S0", e.getLocalizedMessage());
            webViewSafeCheckCallback.unSecure();
        }
    }

    @Override
    public void isWebViewSafe(int i, CheckoutBridge.WebViewSafeCheckCallback webViewSafeCheckCallback) {
        executeWebViewCallback(i, webViewSafeCheckCallback);
    }

    @Override
    public boolean isUserRegisteredOnUPI(String str) {
        return BaseUtils.checkUpiRegisteredApp(this.activity, str);
    }

    @Override
    public boolean isUserRegistered(String str) {
        return BaseUtils.checkGpayCardsUpiRegistered(this.activity, str);
    }

    @Override
    public boolean isAllowRotation() {
        return this.allowRotation;
    }
}