Payment.smali 7.9 KB
.class public Lcom/quicksdk/Payment;
.super Ljava/lang/Object;
.source "Payment.java"


# static fields
.field private static final a:Ljava/lang/String; = "BaseLib.Payment"

.field private static b:Lcom/quicksdk/Payment;


# instance fields
.field private c:Lcom/quicksdk/apiadapter/IAdapterFactory;


# direct methods
.method static constructor <clinit>()V
    .registers 1

    .prologue
    .line 25
    const/4 v0, 0x0

    sput-object v0, Lcom/quicksdk/Payment;->b:Lcom/quicksdk/Payment;

    return-void
.end method

.method private constructor <init>()V
    .registers 2

    .prologue
    .line 31
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    .line 26
    const/4 v0, 0x0

    iput-object v0, p0, Lcom/quicksdk/Payment;->c:Lcom/quicksdk/apiadapter/IAdapterFactory;

    .line 32
    invoke-static {}, Lcom/quicksdk/utility/a;->a()Lcom/quicksdk/apiadapter/IAdapterFactory;

    move-result-object v0

    iput-object v0, p0, Lcom/quicksdk/Payment;->c:Lcom/quicksdk/apiadapter/IAdapterFactory;

    .line 33
    return-void
.end method

.method static synthetic a(Lcom/quicksdk/Payment;)Lcom/quicksdk/apiadapter/IAdapterFactory;
    .registers 2

    .prologue
    .line 26
    iget-object v0, p0, Lcom/quicksdk/Payment;->c:Lcom/quicksdk/apiadapter/IAdapterFactory;

    return-object v0
.end method

.method public static getInstance()Lcom/quicksdk/Payment;
    .registers 1

    .prologue
    .line 41
    sget-object v0, Lcom/quicksdk/Payment;->b:Lcom/quicksdk/Payment;

    if-nez v0, :cond_b

    .line 42
    new-instance v0, Lcom/quicksdk/Payment;

    invoke-direct {v0}, Lcom/quicksdk/Payment;-><init>()V

    sput-object v0, Lcom/quicksdk/Payment;->b:Lcom/quicksdk/Payment;

    .line 44
    :cond_b
    sget-object v0, Lcom/quicksdk/Payment;->b:Lcom/quicksdk/Payment;

    return-object v0
.end method


# virtual methods
.method public doPay(Landroid/app/Activity;Lcom/quicksdk/entity/OrderInfo;Lcom/quicksdk/entity/GameRoleInfo;Lcom/quicksdk/entity/UserInfo;)V
    .registers 16
    .param p1, "activity"    # Landroid/app/Activity;
    .param p2, "orderInfo"    # Lcom/quicksdk/entity/OrderInfo;
    .param p3, "roleInfo"    # Lcom/quicksdk/entity/GameRoleInfo;
    .param p4, "userInfo"    # Lcom/quicksdk/entity/UserInfo;

    .prologue
    .line 73
    :try_start_0
    new-instance v0, Lcom/quicksdk/Payment$1;

    move-object v1, p0

    move-object v2, p1

    move-object v3, p2

    move-object v4, p3

    move-object v5, p4

    invoke-direct/range {v0 .. v5}, Lcom/quicksdk/Payment$1;-><init>(Lcom/quicksdk/Payment;Landroid/app/Activity;Lcom/quicksdk/entity/OrderInfo;Lcom/quicksdk/entity/GameRoleInfo;Lcom/quicksdk/entity/UserInfo;)V

    .line 113
    .local v0, "connectNotifier":Lcom/quicksdk/notifier/PayNotifier;
    iget-object v1, p0, Lcom/quicksdk/Payment;->c:Lcom/quicksdk/apiadapter/IAdapterFactory;

    invoke-interface {v1}, Lcom/quicksdk/apiadapter/IAdapterFactory;->adtPay()Lcom/quicksdk/apiadapter/IPayAdapter;

    move-result-object v1

    invoke-interface {v1}, Lcom/quicksdk/apiadapter/IPayAdapter;->getPayParams()Ljava/lang/String;

    move-result-object v8

    .line 114
    .local v8, "payParams":Ljava/lang/String;
    if-eqz v8, :cond_1e

    const-string v1, "null"

    invoke-virtual {v8, v1}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z

    move-result v1

    if-eqz v1, :cond_20

    .line 115
    :cond_1e
    const-string v8, ""

    .line 121
    :cond_20
    invoke-static {}, Lcom/quicksdk/net/Connect;->getInstance()Lcom/quicksdk/net/Connect;

    move-result-object v1

    invoke-virtual {p4}, Lcom/quicksdk/entity/UserInfo;->getUID()Ljava/lang/String;

    move-result-object v3

    invoke-virtual {p4}, Lcom/quicksdk/entity/UserInfo;->getUserName()Ljava/lang/String;

    move-result-object v4

    invoke-virtual {p4}, Lcom/quicksdk/entity/UserInfo;->getToken()Ljava/lang/String;

    move-result-object v5

    move-object v2, p1

    move-object v6, p2

    move-object v7, p3

    move-object v9, v0

    invoke-virtual/range {v1 .. v9}, Lcom/quicksdk/net/Connect;->a(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/quicksdk/entity/OrderInfo;Lcom/quicksdk/entity/GameRoleInfo;Ljava/lang/String;Lcom/quicksdk/notifier/PayNotifier;)V
    :try_end_37
    .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_37} :catch_38

    .line 128
    .end local v0    # "connectNotifier":Lcom/quicksdk/notifier/PayNotifier;
    .end local v8    # "payParams":Ljava/lang/String;
    :goto_37
    return-void

    .line 123
    :catch_38
    move-exception v10

    .line 124
    .local v10, "ex":Ljava/lang/Exception;
    const-string v1, "BaseLib.Payment"

    new-instance v2, Ljava/lang/StringBuilder;

    const-string v3, "=>doPay Exception = "

    invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v10}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I

    .line 125
    invoke-static {v10}, Lcom/quicksdk/ex/ExUtils;->printThrowableInfo(Ljava/lang/Throwable;)V

    .line 126
    sget-object v1, Lcom/quicksdk/ex/ExNode;->PAY:Lcom/quicksdk/ex/ExNode;

    invoke-static {v10, v1}, Lcom/quicksdk/ex/ExCollector;->reportError(Ljava/lang/Throwable;Lcom/quicksdk/ex/ExNode;)V

    goto :goto_37
.end method

.method public pay(Landroid/app/Activity;Lcom/quicksdk/entity/OrderInfo;Lcom/quicksdk/entity/GameRoleInfo;)V
    .registers 9
    .param p1, "activity"    # Landroid/app/Activity;
    .param p2, "orderInfo"    # Lcom/quicksdk/entity/OrderInfo;
    .param p3, "roleInfo"    # Lcom/quicksdk/entity/GameRoleInfo;

    .prologue
    .line 57
    invoke-static {}, Lcom/quicksdk/User;->getInstance()Lcom/quicksdk/User;

    move-result-object v1

    invoke-virtual {v1}, Lcom/quicksdk/User;->getUserInfo()Lcom/quicksdk/entity/UserInfo;

    move-result-object v0

    .line 58
    .local v0, "userInfo":Lcom/quicksdk/entity/UserInfo;
    if-nez v0, :cond_28

    .line 59
    invoke-static {}, Lcom/quicksdk/QuickSDK;->getInstance()Lcom/quicksdk/QuickSDK;

    move-result-object v1

    invoke-virtual {v1}, Lcom/quicksdk/QuickSDK;->getPayNotifier()Lcom/quicksdk/notifier/PayNotifier;

    move-result-object v1

    if-eqz v1, :cond_27

    .line 60
    invoke-static {}, Lcom/quicksdk/QuickSDK;->getInstance()Lcom/quicksdk/QuickSDK;

    move-result-object v1

    invoke-virtual {v1}, Lcom/quicksdk/QuickSDK;->getPayNotifier()Lcom/quicksdk/notifier/PayNotifier;

    move-result-object v1

    invoke-virtual {p2}, Lcom/quicksdk/entity/OrderInfo;->getCpOrderID()Ljava/lang/String;

    move-result-object v2

    const-string v3, "\u7528\u6237\u672a\u767b\u5f55"

    const-string v4, ""

    invoke-interface {v1, v2, v3, v4}, Lcom/quicksdk/notifier/PayNotifier;->onFailed(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    .line 69
    :cond_27
    :goto_27
    return-void

    .line 66
    :cond_28
    invoke-static {}, Lcom/quicksdk/plugin/PluginManager;->a()Lcom/quicksdk/plugin/PluginManager;

    move-result-object v1

    sget-object v2, Lcom/quicksdk/plugin/PluginNode;->BEFORE_PAY:Lcom/quicksdk/plugin/PluginNode;

    const/4 v3, 0x4

    new-array v3, v3, [Ljava/lang/Object;

    const/4 v4, 0x0

    aput-object p1, v3, v4

    const/4 v4, 0x1

    aput-object p2, v3, v4

    const/4 v4, 0x2

    aput-object p3, v3, v4

    const/4 v4, 0x3

    aput-object v0, v3, v4

    invoke-virtual {v1, v2, v3}, Lcom/quicksdk/plugin/PluginManager;->a(Lcom/quicksdk/plugin/PluginNode;[Ljava/lang/Object;)V

    .line 68
    invoke-virtual {p0, p1, p2, p3, v0}, Lcom/quicksdk/Payment;->doPay(Landroid/app/Activity;Lcom/quicksdk/entity/OrderInfo;Lcom/quicksdk/entity/GameRoleInfo;Lcom/quicksdk/entity/UserInfo;)V

    goto :goto_27
.end method