Checkout.smali
.class public Lcom/razorpay/Checkout;
.super Landroid/app/Fragment;
.source "Checkout.java"
# static fields
.field static final EVENT_CALLBACK_DNE:Ljava/lang/String; = "dne"
.field static final EVENT_CALLBACK_THREW_ERROR:Ljava/lang/String; = "threw_error"
.field static final EXTERNAL_WALLET:I = 0x4
.field public static final INCOMPATIBLE_PLUGIN:I = 0x7
.field static final INTEGRATION_ONE:I = 0x1
.field static final INTEGRATION_THREE:I = 0x3
.field static final INTEGRATION_TWO:I = 0x2
.field public static final INVALID_OPTIONS:I = 0x3
.field public static final NETWORK_ERROR:I = 0x2
.field public static final PAYMENT_CANCELED:I = 0x0
.field static final PAYMENT_SUCCESS:I = 0x1
.field public static final RZP_REQUEST_CODE:I = 0xf3ea
.field public static final TLS_ERROR:I = 0x6
.field private static paymentData:Lcom/razorpay/PaymentData;
.field private static sPreloadAbortDuration:J
.field private static sPreloadCompleteDuration:J
.field private static sPreloadFailed:Z
.field private static sPreloadView:Landroid/webkit/WebView;
# instance fields
.field private checkoutImage:I
.field private disableFullScreen:Z
.field private isMethodOverridden:Z
.field private key:Ljava/lang/String;
.field private merchantActivity:Landroid/app/Activity;
.field private merchantClassName:Ljava/lang/String;
.field private options:Lorg/json/JSONObject;
# direct methods
.method public constructor <init>()V
.registers 1
.line 28
invoke-direct {p0}, Landroid/app/Fragment;-><init>()V
return-void
.end method
.method private static abortPreloadIfRequired()V
.registers 4
.line 289
invoke-static {}, Ljava/lang/System;->nanoTime()J
move-result-wide v0
.line 292
:try_start_4
sget-object v2, Lcom/razorpay/Checkout;->sPreloadView:Landroid/webkit/WebView;
if-eqz v2, :cond_2c
.line 293
invoke-virtual {v2}, Landroid/webkit/WebView;->getTag()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/Long;
invoke-virtual {v2}, Ljava/lang/Long;->longValue()J
move-result-wide v2
sub-long/2addr v0, v2
.line 294
sput-wide v0, Lcom/razorpay/Checkout;->sPreloadAbortDuration:J
.line 302
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "Preload aborted in "
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
sget-wide v1, Lcom/razorpay/Checkout;->sPreloadAbortDuration:J
const/4 v3, 0x2
.line 303
invoke-static {v1, v2, v3}, Lcom/razorpay/BaseUtils;->nanoTimeToSecondsString(JI)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, " sec."
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
:try_end_2c
.catch Ljava/lang/Exception; {:try_start_4 .. :try_end_2c} :catch_2c
.line 308
:catch_2c
:cond_2c
invoke-static {}, Lcom/razorpay/Checkout;->destroyPreloadView()V
return-void
.end method
.method static synthetic access$000(Lcom/razorpay/Checkout;Landroid/app/Activity;Lorg/json/JSONObject;)V
.registers 3
.line 28
invoke-direct {p0, p1, p2}, Lcom/razorpay/Checkout;->openInternal(Landroid/app/Activity;Lorg/json/JSONObject;)V
return-void
.end method
.method static synthetic access$100()Landroid/webkit/WebView;
.registers 1
.line 28
sget-object v0, Lcom/razorpay/Checkout;->sPreloadView:Landroid/webkit/WebView;
return-object v0
.end method
.method static synthetic access$200()V
.registers 0
.line 28
invoke-static {}, Lcom/razorpay/Checkout;->failPreload()V
return-void
.end method
.method static synthetic access$300()Z
.registers 1
.line 28
sget-boolean v0, Lcom/razorpay/Checkout;->sPreloadFailed:Z
return v0
.end method
.method static synthetic access$400()J
.registers 2
.line 28
sget-wide v0, Lcom/razorpay/Checkout;->sPreloadCompleteDuration:J
return-wide v0
.end method
.method static synthetic access$402(J)J
.registers 2
.line 28
sput-wide p0, Lcom/razorpay/Checkout;->sPreloadCompleteDuration:J
return-wide p0
.end method
.method static synthetic access$500()V
.registers 0
.line 28
invoke-static {}, Lcom/razorpay/Checkout;->destroyPreloadView()V
return-void
.end method
.method public static clearUserData(Landroid/content/Context;)V
.registers 3
const/4 v0, 0x0
.line 1371
invoke-static {p0, v0}, Lcom/razorpay/CheckoutUtils;->b(Landroid/content/Context;Ljava/lang/String;)V
.line 1372
invoke-static {p0, v0}, Lcom/razorpay/CheckoutUtils;->a(Landroid/content/Context;Ljava/lang/String;)V
.line 1373
invoke-static {p0, v0}, Lcom/razorpay/f$_G$;->a(Landroid/content/Context;Ljava/lang/String;)V
.line 1383
invoke-static {}, Landroid/webkit/CookieManager;->getInstance()Landroid/webkit/CookieManager;
move-result-object p0
const-string v0, "https://api.razorpay.com"
const-string v1, "razorpay_api_session="
.line 1384
invoke-virtual {p0, v0, v1}, Landroid/webkit/CookieManager;->setCookie(Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method private static createPaymentData(Landroid/app/Activity;Ljava/lang/String;)V
.registers 9
const-string v0, "external_wallet"
const-string v1, "razorpay_signature"
const-string v2, "razorpay_order_id"
const-string v3, "razorpay_payment_id"
const-string v4, "error"
.line 639
new-instance v5, Lcom/razorpay/PaymentData;
invoke-direct {v5}, Lcom/razorpay/PaymentData;-><init>()V
.line 640
sput-object v5, Lcom/razorpay/Checkout;->paymentData:Lcom/razorpay/PaymentData;
invoke-static {p0}, Lcom/razorpay/CheckoutUtils;->b(Landroid/content/Context;)Ljava/lang/String;
move-result-object v6
invoke-virtual {v5, v6}, Lcom/razorpay/PaymentData;->setUserContact(Ljava/lang/String;)V
.line 641
sget-object v5, Lcom/razorpay/Checkout;->paymentData:Lcom/razorpay/PaymentData;
invoke-static {p0}, Lcom/razorpay/CheckoutUtils;->a(Landroid/content/Context;)Ljava/lang/String;
move-result-object p0
invoke-virtual {v5, p0}, Lcom/razorpay/PaymentData;->setUserEmail(Ljava/lang/String;)V
.line 643
:try_start_21
new-instance p0, Lorg/json/JSONObject;
invoke-direct {p0, p1}, Lorg/json/JSONObject;-><init>(Ljava/lang/String;)V
.line 644
invoke-virtual {p0, v4}, Lorg/json/JSONObject;->optJSONObject(Ljava/lang/String;)Lorg/json/JSONObject;
move-result-object v5
if-eqz v5, :cond_3e
.line 645
new-instance v5, Lorg/json/JSONObject;
invoke-direct {v5}, Lorg/json/JSONObject;-><init>()V
.line 646
invoke-virtual {p0, v4}, Lorg/json/JSONObject;->getJSONObject(Ljava/lang/String;)Lorg/json/JSONObject;
move-result-object v6
invoke-virtual {v5, v4, v6}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
.line 647
sget-object v6, Lcom/razorpay/Checkout;->paymentData:Lcom/razorpay/PaymentData;
invoke-virtual {v6, v5}, Lcom/razorpay/PaymentData;->setData(Lorg/json/JSONObject;)V
goto :goto_43
.line 649
:cond_3e
sget-object v5, Lcom/razorpay/Checkout;->paymentData:Lcom/razorpay/PaymentData;
invoke-virtual {v5, p0}, Lcom/razorpay/PaymentData;->setData(Lorg/json/JSONObject;)V
.line 651
:goto_43
invoke-virtual {p0, v3}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z
move-result v5
if-eqz v5, :cond_52
.line 652
sget-object v5, Lcom/razorpay/Checkout;->paymentData:Lcom/razorpay/PaymentData;
invoke-virtual {p0, v3}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
invoke-virtual {v5, v3}, Lcom/razorpay/PaymentData;->setPaymentId(Ljava/lang/String;)V
.line 654
:cond_52
invoke-virtual {p0, v2}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z
move-result v3
if-eqz v3, :cond_61
.line 655
sget-object v3, Lcom/razorpay/Checkout;->paymentData:Lcom/razorpay/PaymentData;
invoke-virtual {p0, v2}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
invoke-virtual {v3, v2}, Lcom/razorpay/PaymentData;->setOrderId(Ljava/lang/String;)V
.line 657
:cond_61
invoke-virtual {p0, v1}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z
move-result v2
if-eqz v2, :cond_70
.line 658
sget-object v2, Lcom/razorpay/Checkout;->paymentData:Lcom/razorpay/PaymentData;
invoke-virtual {p0, v1}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v2, v1}, Lcom/razorpay/PaymentData;->setSignature(Ljava/lang/String;)V
.line 660
:cond_70
invoke-virtual {p0, v0}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_7f
.line 661
sget-object v1, Lcom/razorpay/Checkout;->paymentData:Lcom/razorpay/PaymentData;
invoke-virtual {p0, v0}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
invoke-virtual {v1, p0}, Lcom/razorpay/PaymentData;->setExternalWallet(Ljava/lang/String;)V
:try_end_7f
.catch Lorg/json/JSONException; {:try_start_21 .. :try_end_7f} :catch_80
:cond_7f
return-void
:catch_80
move-exception p0
.line 664
new-instance v0, Lorg/json/JSONObject;
invoke-direct {v0}, Lorg/json/JSONObject;-><init>()V
.line 665
new-instance v1, Lorg/json/JSONObject;
invoke-direct {v1}, Lorg/json/JSONObject;-><init>()V
:try_start_8b
const-string v2, "code"
const-string v3, "RESPONSE"
.line 667
invoke-virtual {v1, v2, v3}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
const-string v2, "description"
.line 668
invoke-virtual {v1, v2, p1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
.line 669
invoke-virtual {v0, v4, v1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
:try_end_9a
.catch Lorg/json/JSONException; {:try_start_8b .. :try_end_9a} :catch_9a
.line 673
:catch_9a
invoke-virtual {p0}, Lorg/json/JSONException;->getMessage()Ljava/lang/String;
move-result-object p1
invoke-virtual {p0}, Lorg/json/JSONException;->getMessage()Ljava/lang/String;
move-result-object p0
const-string v0, "S2"
invoke-static {p1, v0, p0}, Lcom/razorpay/AnalyticsUtil;->reportError(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method private static destroyPreloadView()V
.registers 1
.line 278
:try_start_0
sget-object v0, Lcom/razorpay/Checkout;->sPreloadView:Landroid/webkit/WebView;
invoke-virtual {v0}, Landroid/webkit/WebView;->stopLoading()V
:try_end_5
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_5} :catch_5
:catch_5
const/4 v0, 0x0
.line 285
sput-object v0, Lcom/razorpay/Checkout;->sPreloadView:Landroid/webkit/WebView;
return-void
.end method
.method private static failPreload()V
.registers 1
const/4 v0, 0x1
.line 273
sput-boolean v0, Lcom/razorpay/Checkout;->sPreloadFailed:Z
return-void
.end method
.method private varargs getMerchantClassMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
.registers 4
.line 561
iget-object v0, p0, Lcom/razorpay/Checkout;->merchantClassName:Ljava/lang/String;
invoke-static {v0}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v0
.line 562
invoke-virtual {v0, p1, p2}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object p1
return-object p1
.end method
.method private static getPaymentResult(Landroid/content/Intent;)Ljava/lang/String;
.registers 2
if-eqz p0, :cond_f
.line 744
invoke-virtual {p0}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle;
move-result-object p0
if-eqz p0, :cond_f
const-string v0, "RESULT"
.line 746
invoke-virtual {p0, v0}, Landroid/os/Bundle;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
return-object p0
:cond_f
const/4 p0, 0x0
return-object p0
.end method
.method public static handleActivityResult(Landroid/app/Activity;IILandroid/content/Intent;Lcom/razorpay/PaymentResultWithDataListener;Lcom/razorpay/ExternalWalletListener;)V
.registers 10
const-string v0, "metadata"
const-string v1, ""
const-string v2, "error"
const v3, 0xf3ea
if-eq p1, v3, :cond_c
return-void
.line 680
:cond_c
invoke-static {p3}, Lcom/razorpay/Checkout;->getPaymentResult(Landroid/content/Intent;)Ljava/lang/String;
move-result-object p1
if-eqz p1, :cond_18
.line 683
invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result p3
if-eqz p3, :cond_1a
:cond_18
const-string p1, "Payment Error"
:cond_1a
const-string p3, "cancelled"
.line 688
invoke-virtual {p1, p3}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result p3
if-eqz p3, :cond_83
.line 690
:try_start_22
new-instance p3, Lorg/json/JSONObject;
invoke-direct {p3, p1}, Lorg/json/JSONObject;-><init>(Ljava/lang/String;)V
.line 691
invoke-virtual {p3, v2}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z
move-result p1
if-eqz p1, :cond_4a
invoke-virtual {p3, v2}, Lorg/json/JSONObject;->getJSONObject(Ljava/lang/String;)Lorg/json/JSONObject;
move-result-object p1
invoke-virtual {p1, v0}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z
move-result p1
if-eqz p1, :cond_4a
.line 692
invoke-virtual {p3, v2}, Lorg/json/JSONObject;->getJSONObject(Ljava/lang/String;)Lorg/json/JSONObject;
move-result-object p1
invoke-virtual {p1, v0}, Lorg/json/JSONObject;->getJSONObject(Ljava/lang/String;)Lorg/json/JSONObject;
move-result-object p1
const-string p3, "payment_id"
invoke-virtual {p1, p3}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
invoke-static {p1}, Lcom/razorpay/BaseUtils;->getPaymentCancelledResponse(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
goto :goto_83
.line 694
:cond_4a
invoke-static {v1}, Lcom/razorpay/BaseUtils;->getPaymentCancelledResponse(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
:try_end_4e
.catch Lorg/json/JSONException; {:try_start_22 .. :try_end_4e} :catch_4f
goto :goto_83
:catch_4f
move-exception p1
.line 697
invoke-virtual {p1}, Lorg/json/JSONException;->getMessage()Ljava/lang/String;
move-result-object p3
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p1}, Lorg/json/JSONException;->getStackTrace()[Ljava/lang/StackTraceElement;
move-result-object v2
const/4 v3, 0x0
aget-object v2, v2, v3
invoke-virtual {v2}, Ljava/lang/StackTraceElement;->getClassName()Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v2, ":"
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {p1}, Lorg/json/JSONException;->getMessage()Ljava/lang/String;
move-result-object p1
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p1
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
const-string v0, "S1"
invoke-static {p3, v0, p1}, Lcom/razorpay/AnalyticsUtil;->reportError(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
.line 698
invoke-static {v1}, Lcom/razorpay/BaseUtils;->getPaymentCancelledResponse(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
.line 703
:cond_83
:goto_83
invoke-static {p0, p1}, Lcom/razorpay/Checkout;->createPaymentData(Landroid/app/Activity;Ljava/lang/String;)V
.line 706
invoke-static {p2, p1}, Lcom/razorpay/Checkout;->trackOnActivityResultEvent(ILjava/lang/String;)V
const/4 p3, 0x1
const-string v0, "threw_error"
if-ne p2, p3, :cond_9f
.line 709
:try_start_8e
sget-object p1, Lcom/razorpay/Checkout;->paymentData:Lcom/razorpay/PaymentData;
invoke-virtual {p1}, Lcom/razorpay/PaymentData;->getPaymentId()Ljava/lang/String;
move-result-object p1
.line 710
sget-object p3, Lcom/razorpay/Checkout;->paymentData:Lcom/razorpay/PaymentData;
invoke-interface {p4, p1, p3}, Lcom/razorpay/PaymentResultWithDataListener;->onPaymentSuccess(Ljava/lang/String;Lcom/razorpay/PaymentData;)V
:try_end_99
.catch Ljava/lang/Exception; {:try_start_8e .. :try_end_99} :catch_9a
return-void
:catch_9a
move-exception p1
.line 712
invoke-static {p0, p2, v0, p1}, Lcom/razorpay/Checkout;->handleMerchantCallbackError(Landroid/app/Activity;ILjava/lang/String;Ljava/lang/Exception;)V
return-void
:cond_9f
const/4 p3, 0x4
if-ne p2, p3, :cond_b5
if-eqz p5, :cond_bf
.line 718
:try_start_a4
sget-object p1, Lcom/razorpay/Checkout;->paymentData:Lcom/razorpay/PaymentData;
invoke-virtual {p1}, Lcom/razorpay/PaymentData;->getExternalWallet()Ljava/lang/String;
move-result-object p1
sget-object p3, Lcom/razorpay/Checkout;->paymentData:Lcom/razorpay/PaymentData;
invoke-interface {p5, p1, p3}, Lcom/razorpay/ExternalWalletListener;->onExternalWalletSelected(Ljava/lang/String;Lcom/razorpay/PaymentData;)V
:try_end_af
.catch Ljava/lang/Exception; {:try_start_a4 .. :try_end_af} :catch_b0
return-void
:catch_b0
move-exception p1
.line 720
invoke-static {p0, p2, v0, p1}, Lcom/razorpay/Checkout;->handleMerchantCallbackError(Landroid/app/Activity;ILjava/lang/String;Ljava/lang/Exception;)V
return-void
.line 726
:cond_b5
:try_start_b5
sget-object p3, Lcom/razorpay/Checkout;->paymentData:Lcom/razorpay/PaymentData;
invoke-interface {p4, p2, p1, p3}, Lcom/razorpay/PaymentResultWithDataListener;->onPaymentError(ILjava/lang/String;Lcom/razorpay/PaymentData;)V
:try_end_ba
.catch Ljava/lang/Exception; {:try_start_b5 .. :try_end_ba} :catch_bb
return-void
:catch_bb
move-exception p1
.line 728
invoke-static {p0, p2, v0, p1}, Lcom/razorpay/Checkout;->handleMerchantCallbackError(Landroid/app/Activity;ILjava/lang/String;Ljava/lang/Exception;)V
:cond_bf
return-void
.end method
.method private handleExternalWalletSelected()V
.registers 5
.line 394
invoke-virtual {p0}, Lcom/razorpay/Checkout;->getActivity()Landroid/app/Activity;
move-result-object v0
instance-of v0, v0, Lcom/razorpay/ExternalWalletListener;
const/4 v1, 0x4
if-eqz v0, :cond_32
.line 396
:try_start_9
invoke-virtual {p0}, Lcom/razorpay/Checkout;->getActivity()Landroid/app/Activity;
move-result-object v0
check-cast v0, Lcom/razorpay/ExternalWalletListener;
.line 397
sget-object v2, Lcom/razorpay/Checkout;->paymentData:Lcom/razorpay/PaymentData;
invoke-virtual {v2}, Lcom/razorpay/PaymentData;->getExternalWallet()Ljava/lang/String;
move-result-object v2
.line 398
invoke-static {v2}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v3
if-nez v3, :cond_28
.line 399
sget-object v3, Lcom/razorpay/Checkout;->paymentData:Lcom/razorpay/PaymentData;
invoke-interface {v0, v2, v3}, Lcom/razorpay/ExternalWalletListener;->onExternalWalletSelected(Ljava/lang/String;Lcom/razorpay/PaymentData;)V
.line 400
sget-object v0, Lcom/razorpay/AnalyticsEvent;->MERCHANT_EXTERNAL_WALLET_SELECTED_CALLED:Lcom/razorpay/AnalyticsEvent;
invoke-static {v0}, Lcom/razorpay/AnalyticsUtil;->trackEvent(Lcom/razorpay/AnalyticsEvent;)V
.line 401
invoke-static {}, Lcom/razorpay/AnalyticsUtil;->postData()V
:try_end_28
.catch Ljava/lang/Exception; {:try_start_9 .. :try_end_28} :catch_29
:cond_28
return-void
:catch_29
move-exception v0
.line 404
iget-object v2, p0, Lcom/razorpay/Checkout;->merchantActivity:Landroid/app/Activity;
const-string v3, "threw_error"
invoke-static {v2, v1, v3, v0}, Lcom/razorpay/Checkout;->handleMerchantCallbackError(Landroid/app/Activity;ILjava/lang/String;Ljava/lang/Exception;)V
return-void
.line 408
:cond_32
iget-object v0, p0, Lcom/razorpay/Checkout;->merchantActivity:Landroid/app/Activity;
new-instance v2, Ljava/lang/Exception;
invoke-direct {v2}, Ljava/lang/Exception;-><init>()V
const-string v3, "dne"
invoke-static {v0, v1, v3, v2}, Lcom/razorpay/Checkout;->handleMerchantCallbackError(Landroid/app/Activity;ILjava/lang/String;Ljava/lang/Exception;)V
return-void
.end method
.method private static handleMerchantCallbackError(Landroid/app/Activity;ILjava/lang/String;Ljava/lang/Exception;)V
.registers 10
const/4 v0, 0x4
const/4 v1, 0x1
if-ne p1, v1, :cond_9
const-string v1, "onPaymentSuccess"
const-string v2, "success"
goto :goto_14
:cond_9
if-ne p1, v0, :cond_10
const-string v1, "onExternalWalletSelected"
const-string v2, "redirected"
goto :goto_14
:cond_10
const-string v1, "onPaymentError"
const-string v2, "error"
.line 617
:goto_14
:try_start_14
new-instance v3, Ljava/util/HashMap;
invoke-direct {v3}, Ljava/util/HashMap;-><init>()V
const-string v4, "event_details"
.line 618
invoke-virtual {p3}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object v5
invoke-virtual {v3, v4, v5}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v4, "event_type"
.line 619
invoke-virtual {p3}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object p3
invoke-virtual {v3, v4, p3}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string p3, "payment_status"
.line 620
invoke-virtual {v3, p3, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 621
sget-object p3, Lcom/razorpay/AnalyticsEvent;->HANDOVER_ERROR:Lcom/razorpay/AnalyticsEvent;
invoke-static {v3}, Lcom/razorpay/AnalyticsUtil;->getJSONResponse(Ljava/util/Map;)Lorg/json/JSONObject;
move-result-object v2
invoke-static {p3, v2}, Lcom/razorpay/AnalyticsUtil;->trackEvent(Lcom/razorpay/AnalyticsEvent;Lorg/json/JSONObject;)V
.line 622
invoke-static {}, Lcom/razorpay/AnalyticsUtil;->postData()V
:try_end_3c
.catch Ljava/lang/Exception; {:try_start_14 .. :try_end_3c} :catch_3d
goto :goto_4b
:catch_3d
move-exception p3
.line 624
invoke-virtual {p3}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object v2
invoke-virtual {p3}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object p3
const-string v3, "S0"
invoke-static {v2, v3, p3}, Lcom/razorpay/AnalyticsUtil;->reportError(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
:goto_4b
const-string p3, "dne"
.line 626
invoke-virtual {p2, p3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p3
const/4 v2, 0x0
if-eqz p3, :cond_7d
if-ne p1, v0, :cond_60
const-string p1, "Error: ExternalWalletListener probably not implemented in your activity"
.line 628
invoke-static {p0, p1, v2}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;
move-result-object p0
invoke-virtual {p0}, Landroid/widget/Toast;->show()V
return-void
.line 630
:cond_60
new-instance p1, Ljava/lang/StringBuilder;
const-string p2, "Error: "
invoke-direct {p1, p2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p1
const-string p2, " probably not implemented in your activity"
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p1
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-static {p0, p1, v2}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;
move-result-object p0
invoke-virtual {p0}, Landroid/widget/Toast;->show()V
return-void
:cond_7d
const-string p1, "threw_error"
.line 633
invoke-virtual {p2, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_a1
.line 634
new-instance p1, Ljava/lang/StringBuilder;
const-string p2, "Your "
invoke-direct {p1, p2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p1
const-string p2, " method is throwing an error. Wrap the entire code of the method inside a try catch."
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p1
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-static {p0, p1, v2}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;
move-result-object p0
invoke-virtual {p0}, Landroid/widget/Toast;->show()V
:cond_a1
return-void
.end method
.method private handleOnError(ILjava/lang/String;)V
.registers 4
const/4 v0, 0x1
.line 421
iput-boolean v0, p0, Lcom/razorpay/Checkout;->isMethodOverridden:Z
.line 422
invoke-virtual {p0, p1, p2}, Lcom/razorpay/Checkout;->onError(ILjava/lang/String;)V
.line 423
iget-boolean p2, p0, Lcom/razorpay/Checkout;->isMethodOverridden:Z
if-eqz p2, :cond_d
.line 424
invoke-static {p1, v0}, Lcom/razorpay/Checkout;->trackIntegrationType(II)V
:cond_d
return-void
.end method
.method private handleOnErrorViaInterface(ILjava/lang/String;)Z
.registers 8
.line 486
invoke-virtual {p0}, Lcom/razorpay/Checkout;->getActivity()Landroid/app/Activity;
move-result-object v0
instance-of v0, v0, Lcom/razorpay/PaymentResultListener;
const/4 v1, 0x3
const/4 v2, 0x1
const-string v3, "threw_error"
if-eqz v0, :cond_20
.line 488
:try_start_c
invoke-virtual {p0}, Lcom/razorpay/Checkout;->getActivity()Landroid/app/Activity;
move-result-object v0
check-cast v0, Lcom/razorpay/PaymentResultListener;
.line 489
invoke-interface {v0, p1, p2}, Lcom/razorpay/PaymentResultListener;->onPaymentError(ILjava/lang/String;)V
.line 490
invoke-static {p1, v1}, Lcom/razorpay/Checkout;->trackIntegrationType(II)V
:try_end_18
.catch Ljava/lang/Exception; {:try_start_c .. :try_end_18} :catch_19
goto :goto_1f
:catch_19
move-exception p2
.line 492
iget-object v0, p0, Lcom/razorpay/Checkout;->merchantActivity:Landroid/app/Activity;
invoke-static {v0, p1, v3, p2}, Lcom/razorpay/Checkout;->handleMerchantCallbackError(Landroid/app/Activity;ILjava/lang/String;Ljava/lang/Exception;)V
:goto_1f
return v2
.line 497
:cond_20
invoke-virtual {p0}, Lcom/razorpay/Checkout;->getActivity()Landroid/app/Activity;
move-result-object v0
instance-of v0, v0, Lcom/razorpay/PaymentResultWithDataListener;
if-eqz v0, :cond_3e
.line 499
:try_start_28
invoke-virtual {p0}, Lcom/razorpay/Checkout;->getActivity()Landroid/app/Activity;
move-result-object v0
check-cast v0, Lcom/razorpay/PaymentResultWithDataListener;
.line 500
sget-object v4, Lcom/razorpay/Checkout;->paymentData:Lcom/razorpay/PaymentData;
invoke-interface {v0, p1, p2, v4}, Lcom/razorpay/PaymentResultWithDataListener;->onPaymentError(ILjava/lang/String;Lcom/razorpay/PaymentData;)V
.line 501
invoke-static {p1, v1}, Lcom/razorpay/Checkout;->trackIntegrationType(II)V
:try_end_36
.catch Ljava/lang/Exception; {:try_start_28 .. :try_end_36} :catch_37
goto :goto_3d
:catch_37
move-exception p2
.line 503
iget-object v0, p0, Lcom/razorpay/Checkout;->merchantActivity:Landroid/app/Activity;
invoke-static {v0, p1, v3, p2}, Lcom/razorpay/Checkout;->handleMerchantCallbackError(Landroid/app/Activity;ILjava/lang/String;Ljava/lang/Exception;)V
:goto_3d
return v2
:cond_3e
const/4 p1, 0x0
return p1
.end method
.method private handleOnErrorViaReflection(ILjava/lang/String;)V
.registers 9
const/4 v0, 0x1
const/4 v1, 0x0
const/4 v2, 0x2
:try_start_3
const-string v3, "onPaymentError"
new-array v4, v2, [Ljava/lang/Class;
.line 472
sget-object v5, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
aput-object v5, v4, v1
const-class v5, Ljava/lang/String;
aput-object v5, v4, v0
invoke-direct {p0, v3, v4}, Lcom/razorpay/Checkout;->getMerchantClassMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v3
:try_end_13
.catch Ljava/lang/Exception; {:try_start_3 .. :try_end_13} :catch_14
goto :goto_1d
:catch_14
move-exception v3
.line 474
iget-object v4, p0, Lcom/razorpay/Checkout;->merchantActivity:Landroid/app/Activity;
const-string v5, "dne"
invoke-static {v4, p1, v5, v3}, Lcom/razorpay/Checkout;->handleMerchantCallbackError(Landroid/app/Activity;ILjava/lang/String;Ljava/lang/Exception;)V
const/4 v3, 0x0
:goto_1d
:try_start_1d
new-array v4, v2, [Ljava/lang/Object;
.line 478
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v5
aput-object v5, v4, v1
aput-object p2, v4, v0
invoke-direct {p0, v3, v4}, Lcom/razorpay/Checkout;->invokeMethod(Ljava/lang/reflect/Method;[Ljava/lang/Object;)V
.line 479
invoke-static {p1, v2}, Lcom/razorpay/Checkout;->trackIntegrationType(II)V
:try_end_2d
.catch Ljava/lang/Exception; {:try_start_1d .. :try_end_2d} :catch_2e
return-void
:catch_2e
move-exception p2
.line 481
iget-object v0, p0, Lcom/razorpay/Checkout;->merchantActivity:Landroid/app/Activity;
const-string v1, "threw_error"
invoke-static {v0, p1, v1, p2}, Lcom/razorpay/Checkout;->handleMerchantCallbackError(Landroid/app/Activity;ILjava/lang/String;Ljava/lang/Exception;)V
return-void
.end method
.method private handleOnSuccess()V
.registers 3
.line 430
sget-object v0, Lcom/razorpay/Checkout;->paymentData:Lcom/razorpay/PaymentData;
invoke-virtual {v0}, Lcom/razorpay/PaymentData;->getPaymentId()Ljava/lang/String;
move-result-object v0
const/4 v1, 0x1
if-eqz v0, :cond_e
.line 439
iput-boolean v1, p0, Lcom/razorpay/Checkout;->isMethodOverridden:Z
.line 440
invoke-virtual {p0, v0}, Lcom/razorpay/Checkout;->onSuccess(Ljava/lang/String;)V
.line 442
:cond_e
iget-boolean v0, p0, Lcom/razorpay/Checkout;->isMethodOverridden:Z
if-eqz v0, :cond_15
.line 443
invoke-static {v1, v1}, Lcom/razorpay/Checkout;->trackIntegrationType(II)V
:cond_15
return-void
.end method
.method private handleOnSuccessViaInterface(Ljava/lang/String;)Z
.registers 7
.line 512
invoke-virtual {p0}, Lcom/razorpay/Checkout;->getActivity()Landroid/app/Activity;
move-result-object v0
instance-of v0, v0, Lcom/razorpay/PaymentResultListener;
const/4 v1, 0x3
const-string v2, "threw_error"
const/4 v3, 0x1
if-eqz v0, :cond_20
.line 514
:try_start_c
invoke-virtual {p0}, Lcom/razorpay/Checkout;->getActivity()Landroid/app/Activity;
move-result-object v0
check-cast v0, Lcom/razorpay/PaymentResultListener;
.line 515
invoke-interface {v0, p1}, Lcom/razorpay/PaymentResultListener;->onPaymentSuccess(Ljava/lang/String;)V
.line 516
invoke-static {v3, v1}, Lcom/razorpay/Checkout;->trackIntegrationType(II)V
:try_end_18
.catch Ljava/lang/Exception; {:try_start_c .. :try_end_18} :catch_19
goto :goto_1f
:catch_19
move-exception p1
.line 518
iget-object v0, p0, Lcom/razorpay/Checkout;->merchantActivity:Landroid/app/Activity;
invoke-static {v0, v3, v2, p1}, Lcom/razorpay/Checkout;->handleMerchantCallbackError(Landroid/app/Activity;ILjava/lang/String;Ljava/lang/Exception;)V
:goto_1f
return v3
.line 523
:cond_20
invoke-virtual {p0}, Lcom/razorpay/Checkout;->getActivity()Landroid/app/Activity;
move-result-object v0
instance-of v0, v0, Lcom/razorpay/PaymentResultWithDataListener;
if-eqz v0, :cond_3e
.line 525
:try_start_28
invoke-virtual {p0}, Lcom/razorpay/Checkout;->getActivity()Landroid/app/Activity;
move-result-object v0
check-cast v0, Lcom/razorpay/PaymentResultWithDataListener;
.line 526
sget-object v4, Lcom/razorpay/Checkout;->paymentData:Lcom/razorpay/PaymentData;
invoke-interface {v0, p1, v4}, Lcom/razorpay/PaymentResultWithDataListener;->onPaymentSuccess(Ljava/lang/String;Lcom/razorpay/PaymentData;)V
.line 527
invoke-static {v3, v1}, Lcom/razorpay/Checkout;->trackIntegrationType(II)V
:try_end_36
.catch Ljava/lang/Exception; {:try_start_28 .. :try_end_36} :catch_37
goto :goto_3d
:catch_37
move-exception p1
.line 529
iget-object v0, p0, Lcom/razorpay/Checkout;->merchantActivity:Landroid/app/Activity;
invoke-static {v0, v3, v2, p1}, Lcom/razorpay/Checkout;->handleMerchantCallbackError(Landroid/app/Activity;ILjava/lang/String;Ljava/lang/Exception;)V
:goto_3d
return v3
:cond_3e
const/4 p1, 0x0
return p1
.end method
.method private handleOnSuccessViaReflection(Ljava/lang/String;)V
.registers 7
const/4 v0, 0x0
const/4 v1, 0x1
:try_start_2
const-string v2, "onPaymentSuccess"
new-array v3, v1, [Ljava/lang/Class;
.line 540
const-class v4, Ljava/lang/String;
aput-object v4, v3, v0
invoke-direct {p0, v2, v3}, Lcom/razorpay/Checkout;->getMerchantClassMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v2
:try_end_e
.catch Ljava/lang/Exception; {:try_start_2 .. :try_end_e} :catch_f
goto :goto_18
:catch_f
move-exception v2
.line 542
iget-object v3, p0, Lcom/razorpay/Checkout;->merchantActivity:Landroid/app/Activity;
const-string v4, "dne"
invoke-static {v3, v1, v4, v2}, Lcom/razorpay/Checkout;->handleMerchantCallbackError(Landroid/app/Activity;ILjava/lang/String;Ljava/lang/Exception;)V
const/4 v2, 0x0
:goto_18
:try_start_18
new-array v3, v1, [Ljava/lang/Object;
aput-object p1, v3, v0
.line 546
invoke-direct {p0, v2, v3}, Lcom/razorpay/Checkout;->invokeMethod(Ljava/lang/reflect/Method;[Ljava/lang/Object;)V
const/4 p1, 0x2
.line 547
invoke-static {v1, p1}, Lcom/razorpay/Checkout;->trackIntegrationType(II)V
:try_end_23
.catch Ljava/lang/Exception; {:try_start_18 .. :try_end_23} :catch_24
return-void
:catch_24
move-exception p1
.line 549
iget-object v0, p0, Lcom/razorpay/Checkout;->merchantActivity:Landroid/app/Activity;
const-string v2, "threw_error"
invoke-static {v0, v1, v2, p1}, Lcom/razorpay/Checkout;->handleMerchantCallbackError(Landroid/app/Activity;ILjava/lang/String;Ljava/lang/Exception;)V
return-void
.end method
.method private varargs invokeMethod(Ljava/lang/reflect/Method;[Ljava/lang/Object;)V
.registers 4
if-nez p1, :cond_3
return-void
.line 557
:cond_3
iget-object v0, p0, Lcom/razorpay/Checkout;->merchantActivity:Landroid/app/Activity;
invoke-virtual {p1, v0, p2}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
return-void
.end method
.method private openInternal(Landroid/app/Activity;Lorg/json/JSONObject;)V
.registers 6
const-string v0, "S2"
.line 157
iget-object v1, p0, Lcom/razorpay/Checkout;->key:Ljava/lang/String;
invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v1
if-eqz v1, :cond_10
.line 158
invoke-static {p1}, Lcom/razorpay/BaseUtils;->getKeyId(Landroid/content/Context;)Ljava/lang/String;
move-result-object v1
iput-object v1, p0, Lcom/razorpay/Checkout;->key:Ljava/lang/String;
.line 161
:cond_10
invoke-static {p1}, Lcom/razorpay/n$_B$;->getAdvertisingIdFromUtil(Landroid/content/Context;)V
.line 163
iget-object v1, p0, Lcom/razorpay/Checkout;->key:Ljava/lang/String;
invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v1
if-nez v1, :cond_6c
if-eqz p2, :cond_64
.line 167
invoke-virtual {p2}, Lorg/json/JSONObject;->length()I
move-result v1
if-eqz v1, :cond_64
:try_start_23
const-string v1, "key"
.line 172
iget-object v2, p0, Lcom/razorpay/Checkout;->key:Ljava/lang/String;
invoke-virtual {p2, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
:try_end_2a
.catch Lorg/json/JSONException; {:try_start_23 .. :try_end_2a} :catch_2b
goto :goto_37
:catch_2b
move-exception v1
.line 174
invoke-virtual {v1}, Lorg/json/JSONException;->getMessage()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1}, Lorg/json/JSONException;->getMessage()Ljava/lang/String;
move-result-object v1
invoke-static {v2, v0, v1}, Lcom/razorpay/AnalyticsUtil;->reportError(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
.line 183
:goto_37
invoke-static {}, Lcom/razorpay/Checkout;->abortPreloadIfRequired()V
.line 185
iput-object p2, p0, Lcom/razorpay/Checkout;->options:Lorg/json/JSONObject;
.line 186
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object p2
invoke-virtual {p2}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object p2
iput-object p2, p0, Lcom/razorpay/Checkout;->merchantClassName:Ljava/lang/String;
.line 187
iput-object p1, p0, Lcom/razorpay/Checkout;->merchantActivity:Landroid/app/Activity;
.line 189
:try_start_48
invoke-virtual {p1}, Landroid/app/Activity;->getFragmentManager()Landroid/app/FragmentManager;
move-result-object p1
invoke-virtual {p1}, Landroid/app/FragmentManager;->beginTransaction()Landroid/app/FragmentTransaction;
move-result-object p1
const/4 p2, 0x0
invoke-virtual {p1, p0, p2}, Landroid/app/FragmentTransaction;->add(Landroid/app/Fragment;Ljava/lang/String;)Landroid/app/FragmentTransaction;
move-result-object p1
invoke-virtual {p1}, Landroid/app/FragmentTransaction;->commitAllowingStateLoss()I
:try_end_58
.catch Ljava/lang/IllegalStateException; {:try_start_48 .. :try_end_58} :catch_59
return-void
:catch_59
move-exception p1
.line 191
invoke-virtual {p1}, Ljava/lang/IllegalStateException;->getMessage()Ljava/lang/String;
move-result-object p1
const-string p2, "Checkout"
invoke-static {p2, v0, p1}, Lcom/razorpay/AnalyticsUtil;->reportError(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
return-void
.line 168
:cond_64
new-instance p1, Ljava/lang/RuntimeException;
const-string p2, "Checkout options cannot be null or empty"
invoke-direct {p1, p2}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw p1
.line 164
:cond_6c
new-instance p1, Ljava/lang/RuntimeException;
const-string p2, "Please set your Razorpay API key in AndroidManifest.xml"
invoke-direct {p1, p2}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public static preload(Landroid/content/Context;)V
.registers 3
const-wide/16 v0, 0x0
.line 197
sput-wide v0, Lcom/razorpay/Checkout;->sPreloadCompleteDuration:J
.line 198
sput-wide v0, Lcom/razorpay/Checkout;->sPreloadAbortDuration:J
const/4 v0, 0x0
.line 199
sput-boolean v0, Lcom/razorpay/Checkout;->sPreloadFailed:Z
.line 201
invoke-virtual {p0}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object p0
.line 203
new-instance v1, Landroid/webkit/WebView;
invoke-direct {v1, p0}, Landroid/webkit/WebView;-><init>(Landroid/content/Context;)V
sput-object v1, Lcom/razorpay/Checkout;->sPreloadView:Landroid/webkit/WebView;
.line 204
invoke-static {p0, v1, v0}, Lcom/razorpay/BaseUtils;->setWebViewSettings(Landroid/content/Context;Landroid/webkit/WebView;Z)V
.line 206
sget-object p0, Lcom/razorpay/Checkout;->sPreloadView:Landroid/webkit/WebView;
new-instance v0, Lcom/razorpay/Checkout$2;
invoke-direct {v0}, Lcom/razorpay/Checkout$2;-><init>()V
invoke-virtual {p0, v0}, Landroid/webkit/WebView;->setWebViewClient(Landroid/webkit/WebViewClient;)V
.line 262
sget-object p0, Lcom/razorpay/Checkout;->sPreloadView:Landroid/webkit/WebView;
new-instance v0, Lcom/razorpay/l__d$;
invoke-direct {v0}, Lcom/razorpay/l__d$;-><init>()V
invoke-virtual {p0, v0}, Landroid/webkit/WebView;->setWebChromeClient(Landroid/webkit/WebChromeClient;)V
.line 268
sget-object p0, Lcom/razorpay/Checkout;->sPreloadView:Landroid/webkit/WebView;
const-string v0, "https://api.razorpay.com/v1/checkout/public"
invoke-virtual {p0, v0}, Landroid/webkit/WebView;->loadUrl(Ljava/lang/String;)V
return-void
.end method
.method public static sdkCheckIntegration(Landroid/app/Activity;)V
.registers 2
.line 756
sget-object v0, Lcom/razorpay/OpinionatedSoln;->INSTANCE:Lcom/razorpay/OpinionatedSoln;
invoke-virtual {v0, p0}, Lcom/razorpay/OpinionatedSoln;->integrationStatusCheck(Landroid/app/Activity;)V
return-void
.end method
.method private sdkCheckIntegrationInternal(Landroid/app/Activity;Lcom/razorpay/OpinionatedSoln$DismissCallback;)V
.registers 4
.line 760
sget-object v0, Lcom/razorpay/OpinionatedSoln;->INSTANCE:Lcom/razorpay/OpinionatedSoln;
invoke-virtual {v0, p1, p2}, Lcom/razorpay/OpinionatedSoln;->integrationStatusCheck(Landroid/app/Activity;Lcom/razorpay/OpinionatedSoln$DismissCallback;)V
return-void
.end method
.method private static trackIntegrationType(II)V
.registers 4
.line 568
:try_start_0
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
const-string v1, "integration_type"
.line 569
invoke-static {p1}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
move-result-object p1
invoke-interface {v0, v1, p1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const/4 p1, 0x1
if-ne p0, p1, :cond_1b
.line 571
sget-object p0, Lcom/razorpay/AnalyticsEvent;->MERCHANT_ON_SUCCESS_CALLED:Lcom/razorpay/AnalyticsEvent;
invoke-static {v0}, Lcom/razorpay/AnalyticsUtil;->getJSONResponse(Ljava/util/Map;)Lorg/json/JSONObject;
move-result-object p1
invoke-static {p0, p1}, Lcom/razorpay/AnalyticsUtil;->trackEvent(Lcom/razorpay/AnalyticsEvent;Lorg/json/JSONObject;)V
goto :goto_24
.line 574
:cond_1b
sget-object p0, Lcom/razorpay/AnalyticsEvent;->MERCHANT_ON_ERROR_CALLED:Lcom/razorpay/AnalyticsEvent;
invoke-static {v0}, Lcom/razorpay/AnalyticsUtil;->getJSONResponse(Ljava/util/Map;)Lorg/json/JSONObject;
move-result-object p1
invoke-static {p0, p1}, Lcom/razorpay/AnalyticsUtil;->trackEvent(Lcom/razorpay/AnalyticsEvent;Lorg/json/JSONObject;)V
.line 576
:goto_24
invoke-static {}, Lcom/razorpay/AnalyticsUtil;->postData()V
:try_end_27
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_27} :catch_28
return-void
:catch_28
move-exception p0
.line 578
invoke-virtual {p0}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object p1
invoke-virtual {p0}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object p0
const-string v0, "S2"
invoke-static {p1, v0, p0}, Lcom/razorpay/AnalyticsUtil;->reportError(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method private static trackOnActivityResultEvent(ILjava/lang/String;)V
.registers 5
:try_start_0
const-string v0, "onActivityResult result"
.line 584
new-instance v1, Lcom/razorpay/AnalyticsProperty;
sget-object v2, Lcom/razorpay/AnalyticsProperty$Scope;->ORDER:Lcom/razorpay/AnalyticsProperty$Scope;
invoke-direct {v1, p1, v2}, Lcom/razorpay/AnalyticsProperty;-><init>(Ljava/lang/String;Lcom/razorpay/AnalyticsProperty$Scope;)V
invoke-static {v0, v1}, Lcom/razorpay/AnalyticsUtil;->addProperty(Ljava/lang/String;Lcom/razorpay/AnalyticsProperty;)V
const-string p1, "onActivityResult resultCode"
.line 585
new-instance v0, Lcom/razorpay/AnalyticsProperty;
invoke-static {p0}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v1
sget-object v2, Lcom/razorpay/AnalyticsProperty$Scope;->ORDER:Lcom/razorpay/AnalyticsProperty$Scope;
invoke-direct {v0, v1, v2}, Lcom/razorpay/AnalyticsProperty;-><init>(Ljava/lang/String;Lcom/razorpay/AnalyticsProperty$Scope;)V
invoke-static {p1, v0}, Lcom/razorpay/AnalyticsUtil;->addProperty(Ljava/lang/String;Lcom/razorpay/AnalyticsProperty;)V
const/4 p1, 0x1
if-ne p0, p1, :cond_25
.line 587
sget-object p0, Lcom/razorpay/AnalyticsEvent;->CALLING_ON_SUCCESS:Lcom/razorpay/AnalyticsEvent;
invoke-static {p0}, Lcom/razorpay/AnalyticsUtil;->trackEvent(Lcom/razorpay/AnalyticsEvent;)V
goto :goto_33
:cond_25
const/4 p1, 0x4
if-ne p0, p1, :cond_2e
.line 589
sget-object p0, Lcom/razorpay/AnalyticsEvent;->CALLING_EXTERNAL_WALLET_SELECTED:Lcom/razorpay/AnalyticsEvent;
invoke-static {p0}, Lcom/razorpay/AnalyticsUtil;->trackEvent(Lcom/razorpay/AnalyticsEvent;)V
goto :goto_33
.line 591
:cond_2e
sget-object p0, Lcom/razorpay/AnalyticsEvent;->CALLING_ON_ERROR:Lcom/razorpay/AnalyticsEvent;
invoke-static {p0}, Lcom/razorpay/AnalyticsUtil;->trackEvent(Lcom/razorpay/AnalyticsEvent;)V
.line 593
:goto_33
invoke-static {}, Lcom/razorpay/AnalyticsUtil;->postData()V
:try_end_36
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_36} :catch_37
return-void
:catch_37
move-exception p0
.line 595
invoke-virtual {p0}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object p1
invoke-virtual {p0}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object p0
const-string v0, "S2"
invoke-static {p1, v0, p0}, Lcom/razorpay/AnalyticsUtil;->reportError(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method
# virtual methods
.method public onActivityResult(IILandroid/content/Intent;)V
.registers 8
const-string v0, "metadata"
const-string v1, ""
const-string v2, "error"
const v3, 0xf3ea
if-eq p1, v3, :cond_c
return-void
.line 349
:cond_c
invoke-virtual {p0}, Lcom/razorpay/Checkout;->getActivity()Landroid/app/Activity;
move-result-object p1
iput-object p1, p0, Lcom/razorpay/Checkout;->merchantActivity:Landroid/app/Activity;
.line 350
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object p1
invoke-virtual {p1}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object p1
iput-object p1, p0, Lcom/razorpay/Checkout;->merchantClassName:Ljava/lang/String;
.line 352
invoke-static {p3}, Lcom/razorpay/Checkout;->getPaymentResult(Landroid/content/Intent;)Ljava/lang/String;
move-result-object p1
if-eqz p1, :cond_63
.line 355
invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result p3
if-eqz p3, :cond_29
goto :goto_63
:cond_29
const-string p3, "cancelled"
.line 360
invoke-virtual {p1, p3}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result p3
if-eqz p3, :cond_65
.line 362
:try_start_31
new-instance p3, Lorg/json/JSONObject;
invoke-direct {p3, p1}, Lorg/json/JSONObject;-><init>(Ljava/lang/String;)V
.line 363
invoke-virtual {p3, v2}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z
move-result p1
if-eqz p1, :cond_59
invoke-virtual {p3, v2}, Lorg/json/JSONObject;->getJSONObject(Ljava/lang/String;)Lorg/json/JSONObject;
move-result-object p1
invoke-virtual {p1, v0}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z
move-result p1
if-eqz p1, :cond_59
.line 364
invoke-virtual {p3, v2}, Lorg/json/JSONObject;->getJSONObject(Ljava/lang/String;)Lorg/json/JSONObject;
move-result-object p1
invoke-virtual {p1, v0}, Lorg/json/JSONObject;->getJSONObject(Ljava/lang/String;)Lorg/json/JSONObject;
move-result-object p1
const-string p3, "payment_id"
invoke-virtual {p1, p3}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
invoke-static {p1}, Lcom/razorpay/BaseUtils;->getPaymentCancelledResponse(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
goto :goto_65
.line 366
:cond_59
invoke-static {v1}, Lcom/razorpay/BaseUtils;->getPaymentCancelledResponse(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
:try_end_5d
.catch Lorg/json/JSONException; {:try_start_31 .. :try_end_5d} :catch_5e
goto :goto_65
.line 369
:catch_5e
invoke-static {v1}, Lcom/razorpay/BaseUtils;->getPaymentCancelledResponse(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
goto :goto_65
:cond_63
:goto_63
const-string p1, "Payment Error"
.line 374
:cond_65
:goto_65
invoke-static {p2, p1}, Lcom/razorpay/Checkout;->trackOnActivityResultEvent(ILjava/lang/String;)V
.line 376
iget-object p3, p0, Lcom/razorpay/Checkout;->merchantActivity:Landroid/app/Activity;
invoke-static {p3, p1}, Lcom/razorpay/Checkout;->createPaymentData(Landroid/app/Activity;Ljava/lang/String;)V
const/4 p3, 0x1
if-ne p2, p3, :cond_74
.line 379
invoke-direct {p0}, Lcom/razorpay/Checkout;->handleOnSuccess()V
goto :goto_7e
:cond_74
const/4 p3, 0x4
if-ne p2, p3, :cond_7b
.line 381
invoke-direct {p0}, Lcom/razorpay/Checkout;->handleExternalWalletSelected()V
goto :goto_7e
.line 383
:cond_7b
invoke-direct {p0, p2, p1}, Lcom/razorpay/Checkout;->handleOnError(ILjava/lang/String;)V
.line 387
:goto_7e
:try_start_7e
invoke-virtual {p0}, Lcom/razorpay/Checkout;->getActivity()Landroid/app/Activity;
move-result-object p1
invoke-virtual {p1}, Landroid/app/Activity;->getFragmentManager()Landroid/app/FragmentManager;
move-result-object p1
invoke-virtual {p1}, Landroid/app/FragmentManager;->beginTransaction()Landroid/app/FragmentTransaction;
move-result-object p1
invoke-virtual {p1, p0}, Landroid/app/FragmentTransaction;->remove(Landroid/app/Fragment;)Landroid/app/FragmentTransaction;
move-result-object p1
invoke-virtual {p1}, Landroid/app/FragmentTransaction;->commit()I
:try_end_91
.catch Ljava/lang/Exception; {:try_start_7e .. :try_end_91} :catch_92
return-void
:catch_92
move-exception p1
.line 389
invoke-virtual {p1}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object p2
invoke-virtual {p1}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object p1
const-string p3, "S1"
invoke-static {p2, p3, p1}, Lcom/razorpay/AnalyticsUtil;->reportError(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method public onCreate(Landroid/os/Bundle;)V
.registers 7
.line 313
invoke-super {p0, p1}, Landroid/app/Fragment;->onCreate(Landroid/os/Bundle;)V
.line 314
iget-object p1, p0, Lcom/razorpay/Checkout;->options:Lorg/json/JSONObject;
if-eqz p1, :cond_59
.line 315
new-instance p1, Landroid/content/Intent;
invoke-direct {p1}, Landroid/content/Intent;-><init>()V
.line 316
new-instance v0, Landroid/content/ComponentName;
invoke-virtual {p0}, Lcom/razorpay/Checkout;->getActivity()Landroid/app/Activity;
move-result-object v1
invoke-virtual {v1}, Landroid/app/Activity;->getPackageName()Ljava/lang/String;
move-result-object v1
const-string v2, "com.razorpay.CheckoutActivity"
invoke-direct {v0, v1, v2}, Landroid/content/ComponentName;-><init>(Ljava/lang/String;Ljava/lang/String;)V
invoke-virtual {p1, v0}, Landroid/content/Intent;->setComponent(Landroid/content/ComponentName;)Landroid/content/Intent;
.line 318
sget-wide v0, Lcom/razorpay/Checkout;->sPreloadCompleteDuration:J
const-wide/16 v2, 0x0
cmp-long v4, v0, v2
if-lez v4, :cond_2c
const-string v2, "PRELOAD_COMPLETE_DURATION"
.line 319
invoke-virtual {p1, v2, v0, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;J)Landroid/content/Intent;
goto :goto_37
.line 320
:cond_2c
sget-wide v0, Lcom/razorpay/Checkout;->sPreloadAbortDuration:J
cmp-long v2, v0, v2
if-lez v2, :cond_37
const-string v2, "PRELOAD_ABORT_DURATION"
.line 321
invoke-virtual {p1, v2, v0, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;J)Landroid/content/Intent;
.line 324
:cond_37
:goto_37
iget-object v0, p0, Lcom/razorpay/Checkout;->options:Lorg/json/JSONObject;
invoke-virtual {v0}, Lorg/json/JSONObject;->toString()Ljava/lang/String;
move-result-object v0
const-string v1, "OPTIONS"
invoke-virtual {p1, v1, v0}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
.line 325
iget v0, p0, Lcom/razorpay/Checkout;->checkoutImage:I
const-string v1, "IMAGE"
invoke-virtual {p1, v1, v0}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
.line 326
iget-boolean v0, p0, Lcom/razorpay/Checkout;->disableFullScreen:Z
const-string v1, "DISABLE_FULL_SCREEN"
invoke-virtual {p1, v1, v0}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Z)Landroid/content/Intent;
const/4 v0, 0x0
.line 327
iput-object v0, p0, Lcom/razorpay/Checkout;->options:Lorg/json/JSONObject;
const v0, 0xf3ea
.line 329
invoke-virtual {p0, p1, v0}, Lcom/razorpay/Checkout;->startActivityForResult(Landroid/content/Intent;I)V
:cond_59
return-void
.end method
.method public onError(ILjava/lang/String;)V
.registers 4
const/4 v0, 0x0
.line 459
iput-boolean v0, p0, Lcom/razorpay/Checkout;->isMethodOverridden:Z
.line 461
invoke-direct {p0, p1, p2}, Lcom/razorpay/Checkout;->handleOnErrorViaInterface(ILjava/lang/String;)Z
move-result v0
if-nez v0, :cond_c
.line 464
invoke-direct {p0, p1, p2}, Lcom/razorpay/Checkout;->handleOnErrorViaReflection(ILjava/lang/String;)V
:cond_c
return-void
.end method
.method public onSuccess(Ljava/lang/String;)V
.registers 3
const/4 v0, 0x0
.line 448
iput-boolean v0, p0, Lcom/razorpay/Checkout;->isMethodOverridden:Z
.line 450
invoke-direct {p0, p1}, Lcom/razorpay/Checkout;->handleOnSuccessViaInterface(Ljava/lang/String;)Z
move-result v0
if-nez v0, :cond_c
.line 453
invoke-direct {p0, p1}, Lcom/razorpay/Checkout;->handleOnSuccessViaReflection(Ljava/lang/String;)V
:cond_c
return-void
.end method
.method public final open(Landroid/app/Activity;Lorg/json/JSONObject;)V
.registers 5
.line 138
sget-object v0, Lcom/razorpay/OpinionatedSoln;->INSTANCE:Lcom/razorpay/OpinionatedSoln;
const-string v1, "DEBUG"
invoke-virtual {v0, p1, v1}, Lcom/razorpay/OpinionatedSoln;->getBuildConfigValue(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
if-eqz v0, :cond_1f
.line 139
sget-object v0, Lcom/razorpay/OpinionatedSoln;->INSTANCE:Lcom/razorpay/OpinionatedSoln;
invoke-virtual {v0}, Lcom/razorpay/OpinionatedSoln;->getAlertShownForStatus()Z
move-result v0
if-nez v0, :cond_1b
.line 140
new-instance v0, Lcom/razorpay/g__v_;
invoke-direct {v0, p0, p1, p2}, Lcom/razorpay/g__v_;-><init>(Lcom/razorpay/Checkout;Landroid/app/Activity;Lorg/json/JSONObject;)V
invoke-direct {p0, p1, v0}, Lcom/razorpay/Checkout;->sdkCheckIntegrationInternal(Landroid/app/Activity;Lcom/razorpay/OpinionatedSoln$DismissCallback;)V
return-void
.line 147
:cond_1b
invoke-direct {p0, p1, p2}, Lcom/razorpay/Checkout;->openInternal(Landroid/app/Activity;Lorg/json/JSONObject;)V
return-void
.line 150
:cond_1f
invoke-direct {p0, p1, p2}, Lcom/razorpay/Checkout;->openInternal(Landroid/app/Activity;Lorg/json/JSONObject;)V
return-void
.end method
.method public final setFullScreenDisable(Z)V
.registers 2
.line 128
iput-boolean p1, p0, Lcom/razorpay/Checkout;->disableFullScreen:Z
return-void
.end method
.method public final setImage(I)V
.registers 2
.line 107
iput p1, p0, Lcom/razorpay/Checkout;->checkoutImage:I
return-void
.end method
.method public final setKeyID(Ljava/lang/String;)V
.registers 2
.line 118
invoke-virtual {p0, p1}, Lcom/razorpay/Checkout;->setPublicKey(Ljava/lang/String;)V
return-void
.end method
.method public final setPublicKey(Ljava/lang/String;)V
.registers 2
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 103
iput-object p1, p0, Lcom/razorpay/Checkout;->key:Ljava/lang/String;
return-void
.end method