IabHelper.smali

.class public final Lcom/imo/android/imoim/billing/IabHelper;
.super Ljava/lang/Object;
.source "SourceFile"


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lcom/imo/android/imoim/billing/IabHelper$IabAsyncInProgressException;,
        Lcom/imo/android/imoim/billing/IabHelper$b;,
        Lcom/imo/android/imoim/billing/IabHelper$a;,
        Lcom/imo/android/imoim/billing/IabHelper$e;,
        Lcom/imo/android/imoim/billing/IabHelper$c;,
        Lcom/imo/android/imoim/billing/IabHelper$d;
    }
.end annotation


# instance fields
.field a:Z

.field b:Ljava/lang/String;

.field c:Z

.field d:Z

.field e:Z

.field f:Z

.field g:Z

.field h:Z

.field i:Ljava/lang/String;

.field j:Landroid/content/Context;

.field k:Lcom/android/b/a/a;

.field l:Landroid/content/ServiceConnection;

.field m:I

.field n:Ljava/lang/String;

.field o:Ljava/lang/String;

.field p:Lcom/imo/android/imoim/billing/IabHelper$c;

.field private final q:Ljava/lang/Object;


# direct methods
.method public constructor <init>(Landroid/content/Context;Ljava/lang/String;)V
    .registers 5

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

    const/4 v0, 0x0

    .line 79
    iput-boolean v0, p0, Lcom/imo/android/imoim/billing/IabHelper;->a:Z

    const-string v1, "IabHelper"

    .line 80
    iput-object v1, p0, Lcom/imo/android/imoim/billing/IabHelper;->b:Ljava/lang/String;

    .line 83
    iput-boolean v0, p0, Lcom/imo/android/imoim/billing/IabHelper;->c:Z

    .line 86
    iput-boolean v0, p0, Lcom/imo/android/imoim/billing/IabHelper;->d:Z

    .line 89
    iput-boolean v0, p0, Lcom/imo/android/imoim/billing/IabHelper;->e:Z

    .line 92
    iput-boolean v0, p0, Lcom/imo/android/imoim/billing/IabHelper;->f:Z

    .line 95
    iput-boolean v0, p0, Lcom/imo/android/imoim/billing/IabHelper;->g:Z

    .line 99
    iput-boolean v0, p0, Lcom/imo/android/imoim/billing/IabHelper;->h:Z

    .line 102
    new-instance v0, Ljava/lang/Object;

    invoke-direct {v0}, Ljava/lang/Object;-><init>()V

    iput-object v0, p0, Lcom/imo/android/imoim/billing/IabHelper;->q:Ljava/lang/Object;

    const-string v0, ""

    .line 106
    iput-object v0, p0, Lcom/imo/android/imoim/billing/IabHelper;->i:Ljava/lang/String;

    const/4 v0, 0x0

    .line 122
    iput-object v0, p0, Lcom/imo/android/imoim/billing/IabHelper;->o:Ljava/lang/String;

    .line 183
    invoke-virtual {p1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;

    move-result-object p1

    iput-object p1, p0, Lcom/imo/android/imoim/billing/IabHelper;->j:Landroid/content/Context;

    .line 184
    iput-object p2, p0, Lcom/imo/android/imoim/billing/IabHelper;->o:Ljava/lang/String;

    const-string p1, "IAB helper created."

    .line 185
    invoke-virtual {p0, p1}, Lcom/imo/android/imoim/billing/IabHelper;->c(Ljava/lang/String;)V

    return-void
.end method

.method private a(Landroid/os/Bundle;)I
    .registers 5

    const-string v0, "RESPONSE_CODE"

    .line 874
    invoke-virtual {p1, v0}, Landroid/os/Bundle;->get(Ljava/lang/String;)Ljava/lang/Object;

    move-result-object p1

    if-nez p1, :cond_f

    const-string p1, "Bundle with null response code, assuming OK (known issue)"

    .line 876
    invoke-virtual {p0, p1}, Lcom/imo/android/imoim/billing/IabHelper;->c(Ljava/lang/String;)V

    const/4 p1, 0x0

    return p1

    .line 879
    :cond_f
    instance-of v0, p1, Ljava/lang/Integer;

    if-eqz v0, :cond_1a

    check-cast p1, Ljava/lang/Integer;

    invoke-virtual {p1}, Ljava/lang/Integer;->intValue()I

    move-result p1

    return p1

    .line 880
    :cond_1a
    instance-of v0, p1, Ljava/lang/Long;

    if-eqz v0, :cond_26

    check-cast p1, Ljava/lang/Long;

    invoke-virtual {p1}, Ljava/lang/Long;->longValue()J

    move-result-wide v0

    long-to-int p1, v0

    return p1

    :cond_26
    const-string v0, "Unexpected type for bundle response code."

    .line 882
    invoke-virtual {p0, v0}, Lcom/imo/android/imoim/billing/IabHelper;->d(Ljava/lang/String;)V

    .line 883
    invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/Class;->getName()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {p0, v0}, Lcom/imo/android/imoim/billing/IabHelper;->d(Ljava/lang/String;)V

    .line 884
    new-instance v0, Ljava/lang/RuntimeException;

    new-instance v1, Ljava/lang/StringBuilder;

    const-string v2, "Unexpected type for bundle response code: "

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

    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

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

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

    move-result-object p1

    invoke-direct {v0, p1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V

    throw v0
.end method

.method private a(Lcom/imo/android/imoim/billing/b;Ljava/lang/String;)I
    .registers 13
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Lorg/json/JSONException;,
            Landroid/os/RemoteException;
        }
    .end annotation

    .line 945
    invoke-static {p2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v0

    const-string v1, "Querying owned items, item type: "

    invoke-virtual {v1, v0}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    invoke-virtual {p0, v0}, Lcom/imo/android/imoim/billing/IabHelper;->c(Ljava/lang/String;)V

    .line 946
    new-instance v0, Ljava/lang/StringBuilder;

    const-string v1, "Package name: "

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

    iget-object v1, p0, Lcom/imo/android/imoim/billing/IabHelper;->j:Landroid/content/Context;

    invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;

    move-result-object v1

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

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

    move-result-object v0

    invoke-virtual {p0, v0}, Lcom/imo/android/imoim/billing/IabHelper;->c(Ljava/lang/String;)V

    const/4 v0, 0x0

    .line 951
    :cond_25
    invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v1

    const-string v2, "Calling getPurchases with continuation token: "

    invoke-virtual {v2, v1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

    invoke-virtual {p0, v1}, Lcom/imo/android/imoim/billing/IabHelper;->b(Ljava/lang/String;)V

    .line 952
    iget-object v1, p0, Lcom/imo/android/imoim/billing/IabHelper;->k:Lcom/android/b/a/a;

    if-nez v1, :cond_3e

    const-string p1, "IInAppBillingService is null"

    .line 953
    invoke-virtual {p0, p1}, Lcom/imo/android/imoim/billing/IabHelper;->d(Ljava/lang/String;)V

    const/16 p1, -0x3eb

    return p1

    :cond_3e
    const/4 v2, 0x3

    .line 956
    iget-object v3, p0, Lcom/imo/android/imoim/billing/IabHelper;->j:Landroid/content/Context;

    invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;

    move-result-object v3

    invoke-interface {v1, v2, v3, p2, v0}, Lcom/android/b/a/a;->a(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/os/Bundle;

    move-result-object v0

    .line 959
    invoke-direct {p0, v0}, Lcom/imo/android/imoim/billing/IabHelper;->a(Landroid/os/Bundle;)I

    move-result v1

    .line 960
    invoke-static {v1}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;

    move-result-object v2

    const-string v3, "Owned items response: "

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

    move-result-object v2

    invoke-virtual {p0, v2}, Lcom/imo/android/imoim/billing/IabHelper;->c(Ljava/lang/String;)V

    if-eqz v1, :cond_72

    .line 962
    new-instance p1, Ljava/lang/StringBuilder;

    const-string p2, "getPurchases() failed: "

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

    invoke-static {v1}, Lcom/imo/android/imoim/billing/IabHelper;->a(I)Ljava/lang/String;

    move-result-object p2

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

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

    move-result-object p1

    invoke-virtual {p0, p1}, Lcom/imo/android/imoim/billing/IabHelper;->c(Ljava/lang/String;)V

    return v1

    :cond_72
    const-string v1, "INAPP_PURCHASE_ITEM_LIST"

    .line 965
    invoke-virtual {v0, v1}, Landroid/os/Bundle;->containsKey(Ljava/lang/String;)Z

    move-result v2

    if-eqz v2, :cond_fd

    const-string v2, "INAPP_PURCHASE_DATA_LIST"

    .line 966
    invoke-virtual {v0, v2}, Landroid/os/Bundle;->containsKey(Ljava/lang/String;)Z

    move-result v3

    if-eqz v3, :cond_fd

    const-string v3, "INAPP_DATA_SIGNATURE_LIST"

    .line 967
    invoke-virtual {v0, v3}, Landroid/os/Bundle;->containsKey(Ljava/lang/String;)Z

    move-result v4

    if-nez v4, :cond_8b

    goto :goto_fd

    .line 972
    :cond_8b
    invoke-virtual {v0, v1}, Landroid/os/Bundle;->getStringArrayList(Ljava/lang/String;)Ljava/util/ArrayList;

    move-result-object v1

    .line 974
    invoke-virtual {v0, v2}, Landroid/os/Bundle;->getStringArrayList(Ljava/lang/String;)Ljava/util/ArrayList;

    move-result-object v2

    .line 976
    invoke-virtual {v0, v3}, Landroid/os/Bundle;->getStringArrayList(Ljava/lang/String;)Ljava/util/ArrayList;

    move-result-object v3

    const/4 v4, 0x0

    const/4 v5, 0x0

    .line 979
    :goto_99
    invoke-virtual {v2}, Ljava/util/ArrayList;->size()I

    move-result v6

    if-ge v5, v6, :cond_e3

    .line 980
    invoke-virtual {v2, v5}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;

    move-result-object v6

    check-cast v6, Ljava/lang/String;

    .line 981
    invoke-virtual {v3, v5}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;

    move-result-object v7

    check-cast v7, Ljava/lang/String;

    .line 982
    invoke-virtual {v1, v5}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;

    move-result-object v8

    check-cast v8, Ljava/lang/String;

    .line 984
    invoke-static {v8}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v8

    const-string v9, "Sku is owned: "

    invoke-virtual {v9, v8}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v8

    invoke-virtual {p0, v8}, Lcom/imo/android/imoim/billing/IabHelper;->c(Ljava/lang/String;)V

    .line 985
    new-instance v8, Lcom/imo/android/imoim/billing/c;

    invoke-direct {v8, p2, v6, v7}, Lcom/imo/android/imoim/billing/c;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    .line 4059
    iget-object v7, v8, Lcom/imo/android/imoim/billing/c;->h:Ljava/lang/String;

    .line 987
    invoke-static {v7}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v7

    if-eqz v7, :cond_dd

    const-string v7, "BUG: empty/null token!"

    .line 988
    invoke-direct {p0, v7}, Lcom/imo/android/imoim/billing/IabHelper;->f(Ljava/lang/String;)V

    .line 989
    invoke-static {v6}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v6

    const-string v7, "Purchase data: "

    invoke-virtual {v7, v6}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v6

    invoke-virtual {p0, v6}, Lcom/imo/android/imoim/billing/IabHelper;->b(Ljava/lang/String;)V

    .line 993
    :cond_dd
    invoke-virtual {p1, v8}, Lcom/imo/android/imoim/billing/b;->a(Lcom/imo/android/imoim/billing/c;)V

    add-int/lit8 v5, v5, 0x1

    goto :goto_99

    :cond_e3
    const-string v1, "INAPP_CONTINUATION_TOKEN"

    .line 1003
    invoke-virtual {v0, v1}, Landroid/os/Bundle;->getString(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    .line 1004
    invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v1

    const-string v2, "Continuation token: "

    invoke-virtual {v2, v1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

    invoke-virtual {p0, v1}, Lcom/imo/android/imoim/billing/IabHelper;->b(Ljava/lang/String;)V

    .line 1005
    invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v1

    if-eqz v1, :cond_25

    return v4

    :cond_fd
    :goto_fd
    const-string p1, "Bundle returned from getPurchases() doesn\'t contain required fields."

    .line 968
    invoke-virtual {p0, p1}, Lcom/imo/android/imoim/billing/IabHelper;->d(Ljava/lang/String;)V

    const/16 p1, -0x3ea

    return p1
.end method

.method private a(Ljava/lang/String;Lcom/imo/android/imoim/billing/b;Ljava/util/List;)I
    .registers 12
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/lang/String;",
            "Lcom/imo/android/imoim/billing/b;",
            "Ljava/util/List<",
            "Ljava/lang/String;",
            ">;)I"
        }
    .end annotation

    .annotation system Ldalvik/annotation/Throws;
        value = {
            Landroid/os/RemoteException;,
            Lorg/json/JSONException;
        }
    .end annotation

    const-string v0, "Querying SKU details."

    .line 1012
    invoke-virtual {p0, v0}, Lcom/imo/android/imoim/billing/IabHelper;->c(Ljava/lang/String;)V

    .line 1013
    new-instance v0, Ljava/util/ArrayList;

    invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V

    .line 1014
    invoke-virtual {p2, p1}, Lcom/imo/android/imoim/billing/b;->c(Ljava/lang/String;)Ljava/util/List;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/util/ArrayList;->addAll(Ljava/util/Collection;)Z

    if-eqz p3, :cond_2d

    .line 1016
    invoke-interface {p3}, Ljava/util/List;->iterator()Ljava/util/Iterator;

    move-result-object p3

    :cond_17
    :goto_17
    invoke-interface {p3}, Ljava/util/Iterator;->hasNext()Z

    move-result v1

    if-eqz v1, :cond_2d

    invoke-interface {p3}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v1

    check-cast v1, Ljava/lang/String;

    .line 1017
    invoke-virtual {v0, v1}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z

    move-result v2

    if-nez v2, :cond_17

    .line 1018
    invoke-virtual {v0, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z

    goto :goto_17

    .line 1023
    :cond_2d
    invoke-virtual {v0}, Ljava/util/ArrayList;->size()I

    move-result p3

    const/4 v1, 0x0

    if-nez p3, :cond_3a

    const-string p1, "queryPrices: nothing to do because there are no SKUs."

    .line 1024
    invoke-virtual {p0, p1}, Lcom/imo/android/imoim/billing/IabHelper;->c(Ljava/lang/String;)V

    return v1

    .line 1029
    :cond_3a
    new-instance p3, Ljava/util/ArrayList;

    invoke-direct {p3}, Ljava/util/ArrayList;-><init>()V

    .line 1031
    invoke-virtual {v0}, Ljava/util/ArrayList;->size()I

    move-result v2

    div-int/lit8 v2, v2, 0x14

    .line 1032
    invoke-virtual {v0}, Ljava/util/ArrayList;->size()I

    move-result v3

    rem-int/lit8 v3, v3, 0x14

    const/4 v4, 0x0

    :goto_4c
    if-ge v4, v2, :cond_75

    .line 1034
    new-instance v5, Ljava/util/ArrayList;

    invoke-direct {v5}, Ljava/util/ArrayList;-><init>()V

    mul-int/lit8 v6, v4, 0x14

    add-int/lit8 v7, v6, 0x14

    .line 1035
    invoke-virtual {v0, v6, v7}, Ljava/util/ArrayList;->subList(II)Ljava/util/List;

    move-result-object v6

    invoke-interface {v6}, Ljava/util/List;->iterator()Ljava/util/Iterator;

    move-result-object v6

    :goto_5f
    invoke-interface {v6}, Ljava/util/Iterator;->hasNext()Z

    move-result v7

    if-eqz v7, :cond_6f

    invoke-interface {v6}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v7

    check-cast v7, Ljava/lang/String;

    .line 1036
    invoke-virtual {v5, v7}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z

    goto :goto_5f

    .line 1038
    :cond_6f
    invoke-virtual {p3, v5}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z

    add-int/lit8 v4, v4, 0x1

    goto :goto_4c

    :cond_75
    if-eqz v3, :cond_9a

    .line 1041
    new-instance v4, Ljava/util/ArrayList;

    invoke-direct {v4}, Ljava/util/ArrayList;-><init>()V

    mul-int/lit8 v2, v2, 0x14

    add-int/2addr v3, v2

    .line 1042
    invoke-virtual {v0, v2, v3}, Ljava/util/ArrayList;->subList(II)Ljava/util/List;

    move-result-object v0

    invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;

    move-result-object v0

    :goto_87
    invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z

    move-result v2

    if-eqz v2, :cond_97

    invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v2

    check-cast v2, Ljava/lang/String;

    .line 1043
    invoke-virtual {v4, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z

    goto :goto_87

    .line 1045
    :cond_97
    invoke-virtual {p3, v4}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z

    .line 1048
    :cond_9a
    invoke-virtual {p3}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;

    move-result-object p3

    :cond_9e
    invoke-interface {p3}, Ljava/util/Iterator;->hasNext()Z

    move-result v0

    if-eqz v0, :cond_117

    invoke-interface {p3}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Ljava/util/ArrayList;

    .line 1049
    new-instance v2, Landroid/os/Bundle;

    invoke-direct {v2}, Landroid/os/Bundle;-><init>()V

    const-string v3, "ITEM_ID_LIST"

    .line 1050
    invoke-virtual {v2, v3, v0}, Landroid/os/Bundle;->putStringArrayList(Ljava/lang/String;Ljava/util/ArrayList;)V

    .line 1051
    iget-object v0, p0, Lcom/imo/android/imoim/billing/IabHelper;->k:Lcom/android/b/a/a;

    const/4 v3, 0x3

    iget-object v4, p0, Lcom/imo/android/imoim/billing/IabHelper;->j:Landroid/content/Context;

    invoke-virtual {v4}, Landroid/content/Context;->getPackageName()Ljava/lang/String;

    move-result-object v4

    invoke-interface {v0, v3, v4, p1, v2}, Lcom/android/b/a/a;->a(ILjava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;

    move-result-object v0

    const-string v2, "DETAILS_LIST"

    .line 1054
    invoke-virtual {v0, v2}, Landroid/os/Bundle;->containsKey(Ljava/lang/String;)Z

    move-result v3

    if-nez v3, :cond_ed

    .line 1055
    invoke-direct {p0, v0}, Lcom/imo/android/imoim/billing/IabHelper;->a(Landroid/os/Bundle;)I

    move-result p1

    if-eqz p1, :cond_e5

    .line 1057
    new-instance p2, Ljava/lang/StringBuilder;

    const-string p3, "getSkuDetails() failed: "

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

    invoke-static {p1}, Lcom/imo/android/imoim/billing/IabHelper;->a(I)Ljava/lang/String;

    move-result-object p3

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

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

    move-result-object p2

    invoke-virtual {p0, p2}, Lcom/imo/android/imoim/billing/IabHelper;->c(Ljava/lang/String;)V

    return p1

    :cond_e5
    const-string p1, "getSkuDetails() returned a bundle with neither an error nor a detail list."

    .line 1060
    invoke-virtual {p0, p1}, Lcom/imo/android/imoim/billing/IabHelper;->d(Ljava/lang/String;)V

    const/16 p1, -0x3ea

    return p1

    .line 1065
    :cond_ed
    invoke-virtual {v0, v2}, Landroid/os/Bundle;->getStringArrayList(Ljava/lang/String;)Ljava/util/ArrayList;

    move-result-object v0

    .line 1068
    invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;

    move-result-object v0

    :goto_f5
    invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z

    move-result v2

    if-eqz v2, :cond_9e

    invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v2

    check-cast v2, Ljava/lang/String;

    .line 1069
    new-instance v3, Lcom/imo/android/imoim/billing/d;

    invoke-direct {v3, p1, v2}, Lcom/imo/android/imoim/billing/d;-><init>(Ljava/lang/String;Ljava/lang/String;)V

    .line 1070
    invoke-static {v3}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v2

    const-string v4, "Got sku details: "

    invoke-virtual {v4, v2}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v2

    invoke-virtual {p0, v2}, Lcom/imo/android/imoim/billing/IabHelper;->b(Ljava/lang/String;)V

    .line 1071
    invoke-virtual {p2, v3}, Lcom/imo/android/imoim/billing/b;->a(Lcom/imo/android/imoim/billing/d;)V

    goto :goto_f5

    :cond_117
    return v1
.end method

.method public static a(I)Ljava/lang/String;
    .registers 4

    const-string v0, "/"

    const-string v1, "0:OK/1:User Canceled/2:Unknown/3:Billing Unavailable/4:Item unavailable/5:Developer Error/6:Error/7:Item Already Owned/8:Item not owned"

    .line 840
    invoke-virtual {v1, v0}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;

    move-result-object v1

    const-string v2, "0:OK/-1001:Remote exception during initialization/-1002:Bad response received/-1003:Purchase signature verification failed/-1004:Send intent failed/-1005:User cancelled/-1006:Unknown purchase response/-1007:Missing token/-1008:Unknown error/-1009:Subscriptions not available/-1010:Invalid consumption attempt"

    .line 850
    invoke-virtual {v2, v0}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;

    move-result-object v0

    const/16 v2, -0x3e8

    if-gt p0, v2, :cond_31

    sub-int/2addr v2, p0

    if-ltz v2, :cond_1b

    .line 854
    array-length v1, v0

    if-ge v2, v1, :cond_1b

    aget-object p0, v0, v2

    return-object p0

    .line 855
    :cond_1b
    new-instance v0, Ljava/lang/StringBuilder;

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

    invoke-static {p0}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;

    move-result-object p0

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

    const-string p0, ":Unknown IAB Helper Error"

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

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

    move-result-object p0

    return-object p0

    :cond_31
    if-ltz p0, :cond_3a

    .line 857
    array-length v0, v1

    if-lt p0, v0, :cond_37

    goto :goto_3a

    .line 860
    :cond_37
    aget-object p0, v1, p0

    return-object p0

    .line 858
    :cond_3a
    :goto_3a
    new-instance v0, Ljava/lang/StringBuilder;

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

    invoke-static {p0}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;

    move-result-object p0

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

    const-string p0, ":Unknown"

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

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

    move-result-object p0

    return-object p0
.end method

.method private e(Ljava/lang/String;)V
    .registers 6
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Lcom/imo/android/imoim/billing/IabHelper$IabAsyncInProgressException;
        }
    .end annotation

    .line 905
    iget-object v0, p0, Lcom/imo/android/imoim/billing/IabHelper;->q:Ljava/lang/Object;

    monitor-enter v0

    .line 906
    :try_start_3
    iget-boolean v1, p0, Lcom/imo/android/imoim/billing/IabHelper;->h:Z

    if-nez v1, :cond_1b

    .line 911
    iput-object p1, p0, Lcom/imo/android/imoim/billing/IabHelper;->i:Ljava/lang/String;

    const/4 v1, 0x1

    .line 912
    iput-boolean v1, p0, Lcom/imo/android/imoim/billing/IabHelper;->h:Z

    const-string v1, "Starting async operation: "

    .line 913
    invoke-static {p1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object p1

    invoke-virtual {v1, p1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;

    move-result-object p1

    invoke-virtual {p0, p1}, Lcom/imo/android/imoim/billing/IabHelper;->c(Ljava/lang/String;)V

    .line 914
    monitor-exit v0

    return-void

    .line 907
    :cond_1b
    new-instance v1, Lcom/imo/android/imoim/billing/IabHelper$IabAsyncInProgressException;

    new-instance v2, Ljava/lang/StringBuilder;

    const-string v3, "Can\'t start async operation ("

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

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

    const-string p1, ") because another async operation ("

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

    iget-object p1, p0, Lcom/imo/android/imoim/billing/IabHelper;->i:Ljava/lang/String;

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

    const-string p1, ") is in progress."

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

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

    move-result-object p1

    invoke-direct {v1, p1}, Lcom/imo/android/imoim/billing/IabHelper$IabAsyncInProgressException;-><init>(Ljava/lang/String;)V

    throw v1

    :catchall_3e
    move-exception p1

    .line 914
    monitor-exit v0
    :try_end_40
    .catchall {:try_start_3 .. :try_end_40} :catchall_3e

    throw p1
.end method

.method private f()V
    .registers 5
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Lcom/imo/android/imoim/billing/IabHelper$IabAsyncInProgressException;
        }
    .end annotation

    .line 326
    iget-object v0, p0, Lcom/imo/android/imoim/billing/IabHelper;->q:Ljava/lang/Object;

    monitor-enter v0

    .line 327
    :try_start_3
    iget-boolean v1, p0, Lcom/imo/android/imoim/billing/IabHelper;->h:Z

    if-nez v1, :cond_2f

    .line 331
    monitor-exit v0
    :try_end_8
    .catchall {:try_start_3 .. :try_end_8} :catchall_4a

    const-string v0, "Disposing."

    .line 332
    invoke-virtual {p0, v0}, Lcom/imo/android/imoim/billing/IabHelper;->c(Ljava/lang/String;)V

    const/4 v0, 0x0

    .line 333
    iput-boolean v0, p0, Lcom/imo/android/imoim/billing/IabHelper;->c:Z

    .line 334
    iget-object v0, p0, Lcom/imo/android/imoim/billing/IabHelper;->l:Landroid/content/ServiceConnection;

    if-eqz v0, :cond_22

    const-string v0, "Unbinding from service."

    .line 335
    invoke-virtual {p0, v0}, Lcom/imo/android/imoim/billing/IabHelper;->c(Ljava/lang/String;)V

    .line 336
    iget-object v0, p0, Lcom/imo/android/imoim/billing/IabHelper;->j:Landroid/content/Context;

    if-eqz v0, :cond_22

    iget-object v1, p0, Lcom/imo/android/imoim/billing/IabHelper;->l:Landroid/content/ServiceConnection;

    invoke-virtual {v0, v1}, Landroid/content/Context;->unbindService(Landroid/content/ServiceConnection;)V

    :cond_22
    const/4 v0, 0x1

    .line 338
    iput-boolean v0, p0, Lcom/imo/android/imoim/billing/IabHelper;->d:Z

    const/4 v0, 0x0

    .line 339
    iput-object v0, p0, Lcom/imo/android/imoim/billing/IabHelper;->j:Landroid/content/Context;

    .line 340
    iput-object v0, p0, Lcom/imo/android/imoim/billing/IabHelper;->l:Landroid/content/ServiceConnection;

    .line 341
    iput-object v0, p0, Lcom/imo/android/imoim/billing/IabHelper;->k:Lcom/android/b/a/a;

    .line 342
    iput-object v0, p0, Lcom/imo/android/imoim/billing/IabHelper;->p:Lcom/imo/android/imoim/billing/IabHelper$c;

    return-void

    .line 328
    :cond_2f
    :try_start_2f
    new-instance v1, Lcom/imo/android/imoim/billing/IabHelper$IabAsyncInProgressException;

    new-instance v2, Ljava/lang/StringBuilder;

    const-string v3, "Can\'t dispose because an async operation ("

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

    iget-object v3, p0, Lcom/imo/android/imoim/billing/IabHelper;->i:Ljava/lang/String;

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

    const-string v3, ") is in progress."

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

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

    move-result-object v2

    invoke-direct {v1, v2}, Lcom/imo/android/imoim/billing/IabHelper$IabAsyncInProgressException;-><init>(Ljava/lang/String;)V

    throw v1

    :catchall_4a
    move-exception v1

    .line 331
    monitor-exit v0
    :try_end_4c
    .catchall {:try_start_2f .. :try_end_4c} :catchall_4a

    throw v1
.end method

.method private f(Ljava/lang/String;)V
    .registers 4

    .line 1129
    iget-object v0, p0, Lcom/imo/android/imoim/billing/IabHelper;->b:Ljava/lang/String;

    invoke-static {p1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object p1

    const-string v1, "In-app billing warning: "

    invoke-virtual {v1, p1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;

    move-result-object p1

    .line 4075
    invoke-static {v0, p1}, Lcom/imo/android/imoim/util/bt;->e(Ljava/lang/String;Ljava/lang/String;)V

    return-void
.end method


# virtual methods
.method public final a(ZLjava/util/List;Ljava/util/List;)Lcom/imo/android/imoim/billing/b;
    .registers 8
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(Z",
            "Ljava/util/List<",
            "Ljava/lang/String;",
            ">;",
            "Ljava/util/List<",
            "Ljava/lang/String;",
            ">;)",
            "Lcom/imo/android/imoim/billing/b;"
        }
    .end annotation

    .annotation system Ldalvik/annotation/Throws;
        value = {
            Lcom/imo/android/imoim/billing/IabException;
        }
    .end annotation

    const-string v0, "subs"

    const-string v1, "inapp"

    .line 627
    invoke-virtual {p0}, Lcom/imo/android/imoim/billing/IabHelper;->c()V

    const-string v2, "queryInventory"

    .line 628
    invoke-virtual {p0, v2}, Lcom/imo/android/imoim/billing/IabHelper;->a(Ljava/lang/String;)V

    .line 630
    :try_start_c
    new-instance v2, Lcom/imo/android/imoim/billing/b;

    invoke-direct {v2}, Lcom/imo/android/imoim/billing/b;-><init>()V

    .line 631
    invoke-direct {p0, v2, v1}, Lcom/imo/android/imoim/billing/IabHelper;->a(Lcom/imo/android/imoim/billing/b;Ljava/lang/String;)I

    move-result v3

    if-nez v3, :cond_4c

    if-eqz p1, :cond_28

    .line 637
    invoke-direct {p0, v1, v2, p2}, Lcom/imo/android/imoim/billing/IabHelper;->a(Ljava/lang/String;Lcom/imo/android/imoim/billing/b;Ljava/util/List;)I

    move-result p2

    if-nez p2, :cond_20

    goto :goto_28

    .line 639
    :cond_20
    new-instance p1, Lcom/imo/android/imoim/billing/IabException;

    const-string p3, "Error refreshing inventory (querying prices of items)."

    invoke-direct {p1, p2, p3}, Lcom/imo/android/imoim/billing/IabException;-><init>(ILjava/lang/String;)V

    throw p1

    .line 644
    :cond_28
    :goto_28
    iget-boolean p2, p0, Lcom/imo/android/imoim/billing/IabHelper;->f:Z

    if-eqz p2, :cond_4b

    .line 645
    invoke-direct {p0, v2, v0}, Lcom/imo/android/imoim/billing/IabHelper;->a(Lcom/imo/android/imoim/billing/b;Ljava/lang/String;)I

    move-result p2

    if-nez p2, :cond_43

    if-eqz p1, :cond_4b

    .line 651
    invoke-direct {p0, v0, v2, p3}, Lcom/imo/android/imoim/billing/IabHelper;->a(Ljava/lang/String;Lcom/imo/android/imoim/billing/b;Ljava/util/List;)I

    move-result p1

    if-nez p1, :cond_3b

    goto :goto_4b

    .line 653
    :cond_3b
    new-instance p2, Lcom/imo/android/imoim/billing/IabException;

    const-string p3, "Error refreshing inventory (querying prices of subscriptions)."

    invoke-direct {p2, p1, p3}, Lcom/imo/android/imoim/billing/IabException;-><init>(ILjava/lang/String;)V

    throw p2

    .line 647
    :cond_43
    new-instance p1, Lcom/imo/android/imoim/billing/IabException;

    const-string p3, "Error refreshing inventory (querying owned subscriptions)."

    invoke-direct {p1, p2, p3}, Lcom/imo/android/imoim/billing/IabException;-><init>(ILjava/lang/String;)V

    throw p1

    :cond_4b
    :goto_4b
    return-object v2

    .line 633
    :cond_4c
    new-instance p1, Lcom/imo/android/imoim/billing/IabException;

    const-string p2, "Error refreshing inventory (querying owned items)."

    invoke-direct {p1, v3, p2}, Lcom/imo/android/imoim/billing/IabException;-><init>(ILjava/lang/String;)V

    throw p1
    :try_end_54
    .catch Landroid/os/RemoteException; {:try_start_c .. :try_end_54} :catch_5f
    .catch Lorg/json/JSONException; {:try_start_c .. :try_end_54} :catch_54

    :catch_54
    move-exception p1

    .line 664
    new-instance p2, Lcom/imo/android/imoim/billing/IabException;

    const/16 p3, -0x3ea

    const-string v0, "Error parsing JSON response while refreshing inventory."

    invoke-direct {p2, p3, v0, p1}, Lcom/imo/android/imoim/billing/IabException;-><init>(ILjava/lang/String;Ljava/lang/Exception;)V

    throw p2

    :catch_5f
    move-exception p1

    .line 661
    new-instance p2, Lcom/imo/android/imoim/billing/IabException;

    const/16 p3, -0x3e9

    const-string v0, "Remote exception while refreshing inventory."

    invoke-direct {p2, p3, v0, p1}, Lcom/imo/android/imoim/billing/IabException;-><init>(ILjava/lang/String;Ljava/lang/Exception;)V

    throw p2
.end method

.method public final a()V
    .registers 2

    .line 198
    invoke-virtual {p0}, Lcom/imo/android/imoim/billing/IabHelper;->c()V

    const/4 v0, 0x0

    .line 199
    iput-boolean v0, p0, Lcom/imo/android/imoim/billing/IabHelper;->a:Z

    return-void
.end method

.method public final a(Landroid/app/Activity;Ljava/lang/String;ILcom/imo/android/imoim/billing/IabHelper$c;Ljava/lang/String;)V
    .registers 14
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Lcom/imo/android/imoim/billing/IabHelper$IabAsyncInProgressException;
        }
    .end annotation

    const-string v3, "inapp"

    const/4 v4, 0x0

    move-object v0, p0

    move-object v1, p1

    move-object v2, p2

    move v5, p3

    move-object v6, p4

    move-object v7, p5

    .line 404
    invoke-virtual/range {v0 .. v7}, Lcom/imo/android/imoim/billing/IabHelper;->a(Landroid/app/Activity;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;ILcom/imo/android/imoim/billing/IabHelper$c;Ljava/lang/String;)V

    return-void
.end method

.method public final a(Landroid/app/Activity;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;ILcom/imo/android/imoim/billing/IabHelper$c;Ljava/lang/String;)V
    .registers 21
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Landroid/app/Activity;",
            "Ljava/lang/String;",
            "Ljava/lang/String;",
            "Ljava/util/List<",
            "Ljava/lang/String;",
            ">;I",
            "Lcom/imo/android/imoim/billing/IabHelper$c;",
            "Ljava/lang/String;",
            ")V"
        }
    .end annotation

    .annotation system Ldalvik/annotation/Throws;
        value = {
            Lcom/imo/android/imoim/billing/IabHelper$IabAsyncInProgressException;
        }
    .end annotation

    move-object v0, p0

    move-object v8, p2

    move-object/from16 v9, p3

    move/from16 v10, p5

    move-object/from16 v11, p6

    .line 441
    invoke-virtual {p0}, Lcom/imo/android/imoim/billing/IabHelper;->c()V

    const-string v1, "launchPurchaseFlow"

    .line 442
    invoke-virtual {p0, v1}, Lcom/imo/android/imoim/billing/IabHelper;->a(Ljava/lang/String;)V

    .line 443
    invoke-direct {p0, v1}, Lcom/imo/android/imoim/billing/IabHelper;->e(Ljava/lang/String;)V

    const-string v1, "subs"

    .line 446
    invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v1

    const/4 v12, 0x0

    if-eqz v1, :cond_32

    iget-boolean v1, v0, Lcom/imo/android/imoim/billing/IabHelper;->f:Z

    if-nez v1, :cond_32

    .line 447
    new-instance v1, Lcom/imo/android/imoim/billing/a;

    const/16 v2, -0x3f1

    const-string v3, "Subscriptions are not available."

    invoke-direct {v1, v2, v3}, Lcom/imo/android/imoim/billing/a;-><init>(ILjava/lang/String;)V

    .line 449
    invoke-virtual {p0}, Lcom/imo/android/imoim/billing/IabHelper;->e()V

    if-eqz v11, :cond_31

    .line 450
    invoke-interface {v11, v1, v12}, Lcom/imo/android/imoim/billing/IabHelper$c;->onIabPurchaseFinished(Lcom/imo/android/imoim/billing/a;Lcom/imo/android/imoim/billing/c;)V

    :cond_31
    return-void

    .line 455
    :cond_32
    :try_start_32
    new-instance v1, Ljava/lang/StringBuilder;

    const-string v2, "Constructing buy intent for "

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

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

    const-string v2, ", item type: "

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

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

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

    move-result-object v1

    invoke-virtual {p0, v1}, Lcom/imo/android/imoim/billing/IabHelper;->c(Ljava/lang/String;)V

    if-eqz p4, :cond_7f

    .line 457
    invoke-interface/range {p4 .. p4}, Ljava/util/List;->isEmpty()Z

    move-result v1

    if-eqz v1, :cond_54

    goto :goto_7f

    .line 464
    :cond_54
    iget-boolean v1, v0, Lcom/imo/android/imoim/billing/IabHelper;->g:Z

    if-nez v1, :cond_6a

    .line 465
    new-instance v1, Lcom/imo/android/imoim/billing/a;

    const/16 v2, -0x3f3

    const-string v3, "Subscription updates are not available."

    invoke-direct {v1, v2, v3}, Lcom/imo/android/imoim/billing/a;-><init>(ILjava/lang/String;)V

    .line 467
    invoke-virtual {p0}, Lcom/imo/android/imoim/billing/IabHelper;->e()V

    if-eqz v11, :cond_69

    .line 468
    invoke-interface {v11, v1, v12}, Lcom/imo/android/imoim/billing/IabHelper$c;->onIabPurchaseFinished(Lcom/imo/android/imoim/billing/a;Lcom/imo/android/imoim/billing/c;)V

    :cond_69
    return-void

    .line 471
    :cond_6a
    iget-object v1, v0, Lcom/imo/android/imoim/billing/IabHelper;->k:Lcom/android/b/a/a;

    const/4 v2, 0x5

    iget-object v3, v0, Lcom/imo/android/imoim/billing/IabHelper;->j:Landroid/content/Context;

    invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;

    move-result-object v3

    move-object/from16 v4, p4

    move-object v5, p2

    move-object/from16 v6, p3

    move-object/from16 v7, p7

    invoke-interface/range {v1 .. v7}, Lcom/android/b/a/a;->a(ILjava/lang/String;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/os/Bundle;

    move-result-object v1

    goto :goto_91

    .line 459
    :cond_7f
    :goto_7f
    iget-object v1, v0, Lcom/imo/android/imoim/billing/IabHelper;->k:Lcom/android/b/a/a;

    const/4 v2, 0x3

    iget-object v3, v0, Lcom/imo/android/imoim/billing/IabHelper;->j:Landroid/content/Context;

    invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;

    move-result-object v3

    move-object v4, p2

    move-object/from16 v5, p3

    move-object/from16 v6, p7

    invoke-interface/range {v1 .. v6}, Lcom/android/b/a/a;->a(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/os/Bundle;

    move-result-object v1

    .line 474
    :goto_91
    invoke-direct {p0, v1}, Lcom/imo/android/imoim/billing/IabHelper;->a(Landroid/os/Bundle;)I

    move-result v2

    if-eqz v2, :cond_bc

    .line 476
    new-instance v1, Ljava/lang/StringBuilder;

    const-string v3, "Unable to buy item, Error response: "

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

    invoke-static {v2}, Lcom/imo/android/imoim/billing/IabHelper;->a(I)Ljava/lang/String;

    move-result-object v3

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

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

    move-result-object v1

    invoke-virtual {p0, v1}, Lcom/imo/android/imoim/billing/IabHelper;->d(Ljava/lang/String;)V

    .line 477
    invoke-virtual {p0}, Lcom/imo/android/imoim/billing/IabHelper;->e()V

    .line 478
    new-instance v1, Lcom/imo/android/imoim/billing/a;

    const-string v3, "Unable to buy item"

    invoke-direct {v1, v2, v3}, Lcom/imo/android/imoim/billing/a;-><init>(ILjava/lang/String;)V

    if-eqz v11, :cond_bb

    .line 479
    invoke-interface {v11, v1, v12}, Lcom/imo/android/imoim/billing/IabHelper$c;->onIabPurchaseFinished(Lcom/imo/android/imoim/billing/a;Lcom/imo/android/imoim/billing/c;)V

    :cond_bb
    return-void

    :cond_bc
    const-string v2, "BUY_INTENT"

    .line 483
    invoke-virtual {v1, v2}, Landroid/os/Bundle;->getParcelable(Ljava/lang/String;)Landroid/os/Parcelable;

    move-result-object v1

    check-cast v1, Landroid/app/PendingIntent;

    .line 484
    new-instance v2, Ljava/lang/StringBuilder;

    const-string v3, "Launching buy intent for "

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

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

    const-string v3, ". Request code: "

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

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

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

    move-result-object v2

    invoke-virtual {p0, v2}, Lcom/imo/android/imoim/billing/IabHelper;->c(Ljava/lang/String;)V

    .line 485
    iput v10, v0, Lcom/imo/android/imoim/billing/IabHelper;->m:I

    .line 486
    iput-object v11, v0, Lcom/imo/android/imoim/billing/IabHelper;->p:Lcom/imo/android/imoim/billing/IabHelper$c;

    .line 487
    iput-object v9, v0, Lcom/imo/android/imoim/billing/IabHelper;->n:Ljava/lang/String;

    .line 488
    invoke-virtual {v1}, Landroid/app/PendingIntent;->getIntentSender()Landroid/content/IntentSender;

    move-result-object v2

    new-instance v4, Landroid/content/Intent;

    invoke-direct {v4}, Landroid/content/Intent;-><init>()V

    const/4 v5, 0x0

    const/4 v6, 0x0

    const/4 v7, 0x0

    move-object v1, p1

    move/from16 v3, p5

    invoke-virtual/range {v1 .. v7}, Landroid/app/Activity;->startIntentSenderForResult(Landroid/content/IntentSender;ILandroid/content/Intent;III)V
    :try_end_f5
    .catch Landroid/content/IntentSender$SendIntentException; {:try_start_32 .. :try_end_f5} :catch_116
    .catch Landroid/os/RemoteException; {:try_start_32 .. :try_end_f5} :catch_f6

    return-void

    :catch_f6
    nop

    .line 502
    invoke-static {p2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v1

    const-string v2, "RemoteException while launching purchase flow for sku "

    invoke-virtual {v2, v1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

    invoke-virtual {p0, v1}, Lcom/imo/android/imoim/billing/IabHelper;->d(Ljava/lang/String;)V

    .line 504
    invoke-virtual {p0}, Lcom/imo/android/imoim/billing/IabHelper;->e()V

    .line 506
    new-instance v1, Lcom/imo/android/imoim/billing/a;

    const/16 v2, -0x3e9

    const-string v3, "Remote exception while starting purchase flow"

    invoke-direct {v1, v2, v3}, Lcom/imo/android/imoim/billing/a;-><init>(ILjava/lang/String;)V

    if-eqz v11, :cond_115

    .line 507
    invoke-interface {v11, v1, v12}, Lcom/imo/android/imoim/billing/IabHelper$c;->onIabPurchaseFinished(Lcom/imo/android/imoim/billing/a;Lcom/imo/android/imoim/billing/c;)V

    :cond_115
    return-void

    :catch_116
    nop

    .line 494
    invoke-static {p2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v1

    const-string v2, "SendIntentException while launching purchase flow for sku "

    invoke-virtual {v2, v1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

    invoke-virtual {p0, v1}, Lcom/imo/android/imoim/billing/IabHelper;->d(Ljava/lang/String;)V

    .line 496
    invoke-virtual {p0}, Lcom/imo/android/imoim/billing/IabHelper;->e()V

    .line 498
    new-instance v1, Lcom/imo/android/imoim/billing/a;

    const/16 v2, -0x3ec

    const-string v3, "Failed to send intent."

    invoke-direct {v1, v2, v3}, Lcom/imo/android/imoim/billing/a;-><init>(ILjava/lang/String;)V

    if-eqz v11, :cond_135

    .line 499
    invoke-interface {v11, v1, v12}, Lcom/imo/android/imoim/billing/IabHelper$c;->onIabPurchaseFinished(Lcom/imo/android/imoim/billing/a;Lcom/imo/android/imoim/billing/c;)V

    :cond_135
    return-void
.end method

.method public final a(Lcom/imo/android/imoim/billing/IabHelper$d;)V
    .registers 5

    .line 224
    invoke-virtual {p0}, Lcom/imo/android/imoim/billing/IabHelper;->c()V

    .line 225
    iget-boolean v0, p0, Lcom/imo/android/imoim/billing/IabHelper;->c:Z

    if-nez v0, :cond_49

    const-string v0, "Starting in-app billing setup."

    .line 228
    invoke-virtual {p0, v0}, Lcom/imo/android/imoim/billing/IabHelper;->c(Ljava/lang/String;)V

    .line 229
    new-instance v0, Lcom/imo/android/imoim/billing/IabHelper$1;

    invoke-direct {v0, p0, p1}, Lcom/imo/android/imoim/billing/IabHelper$1;-><init>(Lcom/imo/android/imoim/billing/IabHelper;Lcom/imo/android/imoim/billing/IabHelper$d;)V

    iput-object v0, p0, Lcom/imo/android/imoim/billing/IabHelper;->l:Landroid/content/ServiceConnection;

    .line 302
    new-instance v0, Landroid/content/Intent;

    const-string v1, "com.android.vending.billing.InAppBillingService.BIND"

    invoke-direct {v0, v1}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V

    const-string v1, "com.android.vending"

    .line 303
    invoke-virtual {v0, v1}, Landroid/content/Intent;->setPackage(Ljava/lang/String;)Landroid/content/Intent;

    .line 304
    iget-object v1, p0, Lcom/imo/android/imoim/billing/IabHelper;->j:Landroid/content/Context;

    invoke-virtual {v1}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;

    move-result-object v1

    const/4 v2, 0x0

    invoke-virtual {v1, v0, v2}, Landroid/content/pm/PackageManager;->queryIntentServices(Landroid/content/Intent;I)Ljava/util/List;

    move-result-object v1

    if-eqz v1, :cond_3b

    .line 305
    invoke-interface {v1}, Ljava/util/List;->isEmpty()Z

    move-result v1

    if-nez v1, :cond_3b

    .line 307
    iget-object p1, p0, Lcom/imo/android/imoim/billing/IabHelper;->j:Landroid/content/Context;

    iget-object v1, p0, Lcom/imo/android/imoim/billing/IabHelper;->l:Landroid/content/ServiceConnection;

    const/4 v2, 0x1

    invoke-virtual {p1, v0, v1, v2}, Landroid/content/Context;->bindService(Landroid/content/Intent;Landroid/content/ServiceConnection;I)Z

    return-void

    :cond_3b
    if-eqz p1, :cond_48

    .line 312
    new-instance v0, Lcom/imo/android/imoim/billing/a;

    const/4 v1, 0x3

    const-string v2, "Billing service unavailable on device."

    invoke-direct {v0, v1, v2}, Lcom/imo/android/imoim/billing/a;-><init>(ILjava/lang/String;)V

    invoke-interface {p1, v0}, Lcom/imo/android/imoim/billing/IabHelper$d;->onIabSetupFinished(Lcom/imo/android/imoim/billing/a;)V

    :cond_48
    return-void

    .line 225
    :cond_49
    new-instance p1, Ljava/lang/IllegalStateException;

    const-string v0, "IAB helper is already set up."

    invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V

    throw p1
.end method

.method public final a(Lcom/imo/android/imoim/billing/c;Lcom/imo/android/imoim/billing/IabHelper$a;)V
    .registers 7
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Lcom/imo/android/imoim/billing/IabHelper$IabAsyncInProgressException;
        }
    .end annotation

    .line 810
    invoke-virtual {p0}, Lcom/imo/android/imoim/billing/IabHelper;->c()V

    const-string v0, "consume"

    .line 811
    invoke-virtual {p0, v0}, Lcom/imo/android/imoim/billing/IabHelper;->a(Ljava/lang/String;)V

    .line 812
    new-instance v1, Ljava/util/ArrayList;

    invoke-direct {v1}, Ljava/util/ArrayList;-><init>()V

    .line 813
    invoke-interface {v1, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    .line 3082
    new-instance p1, Landroid/os/Handler;

    invoke-direct {p1}, Landroid/os/Handler;-><init>()V

    .line 3083
    invoke-direct {p0, v0}, Lcom/imo/android/imoim/billing/IabHelper;->e(Ljava/lang/String;)V

    .line 4051
    invoke-static {}, Lsg/bigo/core/task/a$a;->a()Lsg/bigo/core/task/a;

    move-result-object v0

    .line 3084
    sget-object v2, Lsg/bigo/core/task/b;->BACKGROUND:Lsg/bigo/core/task/b;

    new-instance v3, Lcom/imo/android/imoim/billing/IabHelper$3;

    invoke-direct {v3, p0, v1, p2, p1}, Lcom/imo/android/imoim/billing/IabHelper$3;-><init>(Lcom/imo/android/imoim/billing/IabHelper;Ljava/util/List;Lcom/imo/android/imoim/billing/IabHelper$a;Landroid/os/Handler;)V

    invoke-virtual {v0, v2, v3}, Lsg/bigo/core/task/a;->a(Lsg/bigo/core/task/b;Ljava/lang/Runnable;)Lbolts/e;

    return-void
.end method

.method final a(Ljava/lang/String;)V
    .registers 4

    .line 866
    iget-boolean v0, p0, Lcom/imo/android/imoim/billing/IabHelper;->c:Z

    if-eqz v0, :cond_5

    return-void

    .line 867
    :cond_5
    new-instance v0, Ljava/lang/StringBuilder;

    const-string v1, "Illegal state for operation ("

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

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

    const-string v1, "): IAB helper is not set up."

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

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

    move-result-object v0

    invoke-virtual {p0, v0}, Lcom/imo/android/imoim/billing/IabHelper;->d(Ljava/lang/String;)V

    .line 868
    new-instance v0, Ljava/lang/IllegalStateException;

    invoke-static {p1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object p1

    const-string v1, "IAB helper is not set up. Can\'t perform operation: "

    invoke-virtual {v1, p1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;

    move-result-object p1

    invoke-direct {v0, p1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V

    throw v0
.end method

.method public final a(ZLjava/util/List;Ljava/util/List;Lcom/imo/android/imoim/billing/IabHelper$e;)V
    .registers 15
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(Z",
            "Ljava/util/List<",
            "Ljava/lang/String;",
            ">;",
            "Ljava/util/List<",
            "Ljava/lang/String;",
            ">;",
            "Lcom/imo/android/imoim/billing/IabHelper$e;",
            ")V"
        }
    .end annotation

    .annotation system Ldalvik/annotation/Throws;
        value = {
            Lcom/imo/android/imoim/billing/IabHelper$IabAsyncInProgressException;
        }
    .end annotation

    .line 696
    new-instance v6, Landroid/os/Handler;

    invoke-direct {v6}, Landroid/os/Handler;-><init>()V

    .line 697
    invoke-virtual {p0}, Lcom/imo/android/imoim/billing/IabHelper;->c()V

    const-string v0, "queryInventory"

    .line 698
    invoke-virtual {p0, v0}, Lcom/imo/android/imoim/billing/IabHelper;->a(Ljava/lang/String;)V

    const-string v0, "refresh inventory"

    .line 699
    invoke-direct {p0, v0}, Lcom/imo/android/imoim/billing/IabHelper;->e(Ljava/lang/String;)V

    .line 3051
    invoke-static {}, Lsg/bigo/core/task/a$a;->a()Lsg/bigo/core/task/a;

    move-result-object v7

    .line 700
    sget-object v8, Lsg/bigo/core/task/b;->BACKGROUND:Lsg/bigo/core/task/b;

    new-instance v9, Lcom/imo/android/imoim/billing/IabHelper$2;

    move-object v0, v9

    move-object v1, p0

    move v2, p1

    move-object v3, p2

    move-object v4, p3

    move-object v5, p4

    invoke-direct/range {v0 .. v6}, Lcom/imo/android/imoim/billing/IabHelper$2;-><init>(Lcom/imo/android/imoim/billing/IabHelper;ZLjava/util/List;Ljava/util/List;Lcom/imo/android/imoim/billing/IabHelper$e;Landroid/os/Handler;)V

    invoke-virtual {v7, v8, v9}, Lsg/bigo/core/task/a;->a(Lsg/bigo/core/task/b;Ljava/lang/Runnable;)Lbolts/e;

    return-void
.end method

.method public final a(IILandroid/content/Intent;)Z
    .registers 11

    .line 526
    iget v0, p0, Lcom/imo/android/imoim/billing/IabHelper;->m:I

    const/4 v1, 0x0

    if-eq p1, v0, :cond_6

    return v1

    .line 528
    :cond_6
    invoke-virtual {p0}, Lcom/imo/android/imoim/billing/IabHelper;->c()V

    const-string p1, "handleActivityResult"

    .line 529
    invoke-virtual {p0, p1}, Lcom/imo/android/imoim/billing/IabHelper;->a(Ljava/lang/String;)V

    .line 532
    invoke-virtual {p0}, Lcom/imo/android/imoim/billing/IabHelper;->e()V

    const/16 p1, -0x3ea

    const/4 v0, 0x1

    const/4 v2, 0x0

    if-nez p3, :cond_2b

    const-string p2, "Null data in IAB activity result."

    .line 535
    invoke-virtual {p0, p2}, Lcom/imo/android/imoim/billing/IabHelper;->d(Ljava/lang/String;)V

    .line 536
    new-instance p2, Lcom/imo/android/imoim/billing/a;

    const-string p3, "Null data in IAB result"

    invoke-direct {p2, p1, p3}, Lcom/imo/android/imoim/billing/a;-><init>(ILjava/lang/String;)V

    .line 537
    iget-object p1, p0, Lcom/imo/android/imoim/billing/IabHelper;->p:Lcom/imo/android/imoim/billing/IabHelper$c;

    if-eqz p1, :cond_2a

    invoke-interface {p1, p2, v2}, Lcom/imo/android/imoim/billing/IabHelper$c;->onIabPurchaseFinished(Lcom/imo/android/imoim/billing/a;Lcom/imo/android/imoim/billing/c;)V

    :cond_2a
    return v0

    .line 1890
    :cond_2b
    invoke-virtual {p3}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle;

    move-result-object v3

    const-string v4, "RESPONSE_CODE"

    invoke-virtual {v3, v4}, Landroid/os/Bundle;->get(Ljava/lang/String;)Ljava/lang/Object;

    move-result-object v3

    if-nez v3, :cond_3e

    const-string v3, "Intent with no response code, assuming OK (known issue)"

    .line 1892
    invoke-virtual {p0, v3}, Lcom/imo/android/imoim/billing/IabHelper;->d(Ljava/lang/String;)V

    const/4 v3, 0x0

    goto :goto_54

    .line 1895
    :cond_3e
    instance-of v4, v3, Ljava/lang/Integer;

    if-eqz v4, :cond_49

    check-cast v3, Ljava/lang/Integer;

    invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I

    move-result v3

    goto :goto_54

    .line 1896
    :cond_49
    instance-of v4, v3, Ljava/lang/Long;

    if-eqz v4, :cond_18f

    check-cast v3, Ljava/lang/Long;

    invoke-virtual {v3}, Ljava/lang/Long;->longValue()J

    move-result-wide v3

    long-to-int v3, v3

    :goto_54
    const-string v4, "INAPP_PURCHASE_DATA"

    .line 542
    invoke-virtual {p3, v4}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v4

    const-string v5, "INAPP_DATA_SIGNATURE"

    .line 543
    invoke-virtual {p3, v5}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v5

    const/4 v6, -0x1

    if-ne p2, v6, :cond_10d

    if-nez v3, :cond_10d

    const-string p2, "Successful resultcode from purchase activity."

    .line 546
    invoke-virtual {p0, p2}, Lcom/imo/android/imoim/billing/IabHelper;->c(Ljava/lang/String;)V

    .line 547
    invoke-static {v4}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object p2

    const-string v3, "Purchase data: "

    invoke-virtual {v3, p2}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;

    move-result-object p2

    invoke-virtual {p0, p2}, Lcom/imo/android/imoim/billing/IabHelper;->b(Ljava/lang/String;)V

    .line 548
    invoke-static {v5}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object p2

    const-string v3, "Data signature: "

    invoke-virtual {v3, p2}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;

    move-result-object p2

    invoke-virtual {p0, p2}, Lcom/imo/android/imoim/billing/IabHelper;->b(Ljava/lang/String;)V

    .line 549
    new-instance p2, Ljava/lang/StringBuilder;

    const-string v3, "Extras: "

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

    invoke-virtual {p3}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle;

    move-result-object v6

    invoke-virtual {p2, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

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

    move-result-object p2

    invoke-virtual {p0, p2}, Lcom/imo/android/imoim/billing/IabHelper;->b(Ljava/lang/String;)V

    .line 550
    new-instance p2, Ljava/lang/StringBuilder;

    const-string v6, "Expected item type: "

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

    iget-object v6, p0, Lcom/imo/android/imoim/billing/IabHelper;->n:Ljava/lang/String;

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

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

    move-result-object p2

    invoke-virtual {p0, p2}, Lcom/imo/android/imoim/billing/IabHelper;->b(Ljava/lang/String;)V

    if-eqz v4, :cond_e0

    if-nez v5, :cond_b1

    goto :goto_e0

    .line 562
    :cond_b1
    :try_start_b1
    new-instance p2, Lcom/imo/android/imoim/billing/c;

    iget-object p3, p0, Lcom/imo/android/imoim/billing/IabHelper;->n:Ljava/lang/String;

    invoke-direct {p2, p3, v4, v5}, Lcom/imo/android/imoim/billing/c;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const-string p3, "Purchase signature successfully verified."

    .line 572
    invoke-virtual {p0, p3}, Lcom/imo/android/imoim/billing/IabHelper;->c(Ljava/lang/String;)V
    :try_end_bd
    .catch Lorg/json/JSONException; {:try_start_b1 .. :try_end_bd} :catch_cd

    .line 582
    iget-object p1, p0, Lcom/imo/android/imoim/billing/IabHelper;->p:Lcom/imo/android/imoim/billing/IabHelper$c;

    if-eqz p1, :cond_18e

    .line 583
    new-instance p3, Lcom/imo/android/imoim/billing/a;

    const-string v2, "Success"

    invoke-direct {p3, v1, v2}, Lcom/imo/android/imoim/billing/a;-><init>(ILjava/lang/String;)V

    invoke-interface {p1, p3, p2}, Lcom/imo/android/imoim/billing/IabHelper$c;->onIabPurchaseFinished(Lcom/imo/android/imoim/billing/a;Lcom/imo/android/imoim/billing/c;)V

    goto/16 :goto_18e

    :catch_cd
    nop

    const-string p2, "Failed to parse purchase data."

    .line 575
    invoke-virtual {p0, p2}, Lcom/imo/android/imoim/billing/IabHelper;->d(Ljava/lang/String;)V

    .line 577
    new-instance p3, Lcom/imo/android/imoim/billing/a;

    invoke-direct {p3, p1, p2}, Lcom/imo/android/imoim/billing/a;-><init>(ILjava/lang/String;)V

    .line 578
    iget-object p1, p0, Lcom/imo/android/imoim/billing/IabHelper;->p:Lcom/imo/android/imoim/billing/IabHelper$c;

    if-eqz p1, :cond_df

    invoke-interface {p1, p3, v2}, Lcom/imo/android/imoim/billing/IabHelper$c;->onIabPurchaseFinished(Lcom/imo/android/imoim/billing/a;Lcom/imo/android/imoim/billing/c;)V

    :cond_df
    return v0

    :cond_e0
    :goto_e0
    const-string p1, "BUG: either purchaseData or dataSignature is null."

    .line 553
    invoke-virtual {p0, p1}, Lcom/imo/android/imoim/billing/IabHelper;->d(Ljava/lang/String;)V

    .line 554
    new-instance p1, Ljava/lang/StringBuilder;

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

    invoke-virtual {p3}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle;

    move-result-object p2

    invoke-virtual {p2}, Landroid/os/Bundle;->toString()Ljava/lang/String;

    move-result-object p2

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

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

    move-result-object p1

    invoke-virtual {p0, p1}, Lcom/imo/android/imoim/billing/IabHelper;->b(Ljava/lang/String;)V

    .line 555
    new-instance p1, Lcom/imo/android/imoim/billing/a;

    const/16 p2, -0x3f0

    const-string p3, "IAB returned null purchaseData or dataSignature"

    invoke-direct {p1, p2, p3}, Lcom/imo/android/imoim/billing/a;-><init>(ILjava/lang/String;)V

    .line 556
    iget-object p2, p0, Lcom/imo/android/imoim/billing/IabHelper;->p:Lcom/imo/android/imoim/billing/IabHelper$c;

    if-eqz p2, :cond_10c

    invoke-interface {p2, p1, v2}, Lcom/imo/android/imoim/billing/IabHelper$c;->onIabPurchaseFinished(Lcom/imo/android/imoim/billing/a;Lcom/imo/android/imoim/billing/c;)V

    :cond_10c
    return v0

    :cond_10d
    if-ne p2, v6, :cond_135

    .line 588
    new-instance p1, Ljava/lang/StringBuilder;

    const-string p2, "Result code was OK but in-app billing response was not OK: "

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

    invoke-static {v3}, Lcom/imo/android/imoim/billing/IabHelper;->a(I)Ljava/lang/String;

    move-result-object p2

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

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

    move-result-object p1

    invoke-virtual {p0, p1}, Lcom/imo/android/imoim/billing/IabHelper;->c(Ljava/lang/String;)V

    .line 589
    iget-object p1, p0, Lcom/imo/android/imoim/billing/IabHelper;->p:Lcom/imo/android/imoim/billing/IabHelper$c;

    if-eqz p1, :cond_18e

    .line 590
    new-instance p1, Lcom/imo/android/imoim/billing/a;

    const-string p2, "Problem purchashing item."

    invoke-direct {p1, v3, p2}, Lcom/imo/android/imoim/billing/a;-><init>(ILjava/lang/String;)V

    .line 591
    iget-object p2, p0, Lcom/imo/android/imoim/billing/IabHelper;->p:Lcom/imo/android/imoim/billing/IabHelper$c;

    invoke-interface {p2, p1, v2}, Lcom/imo/android/imoim/billing/IabHelper$c;->onIabPurchaseFinished(Lcom/imo/android/imoim/billing/a;Lcom/imo/android/imoim/billing/c;)V

    goto :goto_18e

    :cond_135
    if-nez p2, :cond_15d

    .line 595
    new-instance p1, Ljava/lang/StringBuilder;

    const-string p2, "Purchase canceled - Response: "

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

    invoke-static {v3}, Lcom/imo/android/imoim/billing/IabHelper;->a(I)Ljava/lang/String;

    move-result-object p2

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

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

    move-result-object p1

    invoke-virtual {p0, p1}, Lcom/imo/android/imoim/billing/IabHelper;->c(Ljava/lang/String;)V

    .line 596
    new-instance p1, Lcom/imo/android/imoim/billing/a;

    const/16 p2, -0x3ed

    const-string p3, "User canceled."

    invoke-direct {p1, p2, p3}, Lcom/imo/android/imoim/billing/a;-><init>(ILjava/lang/String;)V

    .line 597
    iget-object p2, p0, Lcom/imo/android/imoim/billing/IabHelper;->p:Lcom/imo/android/imoim/billing/IabHelper$c;

    if-eqz p2, :cond_18e

    invoke-interface {p2, p1, v2}, Lcom/imo/android/imoim/billing/IabHelper$c;->onIabPurchaseFinished(Lcom/imo/android/imoim/billing/a;Lcom/imo/android/imoim/billing/c;)V

    goto :goto_18e

    .line 600
    :cond_15d
    new-instance p1, Ljava/lang/StringBuilder;

    const-string p3, "Purchase failed. Result code: "

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

    invoke-static {p2}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;

    move-result-object p2

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

    const-string p2, ". Response: "

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

    .line 601
    invoke-static {v3}, Lcom/imo/android/imoim/billing/IabHelper;->a(I)Ljava/lang/String;

    move-result-object p2

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

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

    move-result-object p1

    .line 600
    invoke-virtual {p0, p1}, Lcom/imo/android/imoim/billing/IabHelper;->d(Ljava/lang/String;)V

    .line 602
    new-instance p1, Lcom/imo/android/imoim/billing/a;

    const/16 p2, -0x3ee

    const-string p3, "Unknown purchase response."

    invoke-direct {p1, p2, p3}, Lcom/imo/android/imoim/billing/a;-><init>(ILjava/lang/String;)V

    .line 603
    iget-object p2, p0, Lcom/imo/android/imoim/billing/IabHelper;->p:Lcom/imo/android/imoim/billing/IabHelper$c;

    if-eqz p2, :cond_18e

    invoke-interface {p2, p1, v2}, Lcom/imo/android/imoim/billing/IabHelper$c;->onIabPurchaseFinished(Lcom/imo/android/imoim/billing/a;Lcom/imo/android/imoim/billing/c;)V

    :cond_18e
    :goto_18e
    return v0

    :cond_18f
    const-string p1, "Unexpected type for intent response code."

    .line 1898
    invoke-virtual {p0, p1}, Lcom/imo/android/imoim/billing/IabHelper;->d(Ljava/lang/String;)V

    .line 1899
    invoke-virtual {v3}, 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

    invoke-virtual {p0, p1}, Lcom/imo/android/imoim/billing/IabHelper;->d(Ljava/lang/String;)V

    .line 1900
    new-instance p1, Ljava/lang/RuntimeException;

    new-instance p2, Ljava/lang/StringBuilder;

    const-string p3, "Unexpected type for intent response code: "

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

    invoke-virtual {v3}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object p3

    invoke-virtual {p3}, Ljava/lang/Class;->getName()Ljava/lang/String;

    move-result-object p3

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

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

    move-result-object p2

    invoke-direct {p1, p2}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V

    throw p1
.end method

.method public final b()V
    .registers 3

    .line 350
    iget-object v0, p0, Lcom/imo/android/imoim/billing/IabHelper;->q:Ljava/lang/Object;

    monitor-enter v0

    .line 351
    :try_start_3
    iget-boolean v1, p0, Lcom/imo/android/imoim/billing/IabHelper;->h:Z

    if-eqz v1, :cond_10

    const-string v1, "Will dispose after async operation finishes."

    .line 352
    invoke-virtual {p0, v1}, Lcom/imo/android/imoim/billing/IabHelper;->c(Ljava/lang/String;)V

    const/4 v1, 0x1

    .line 353
    iput-boolean v1, p0, Lcom/imo/android/imoim/billing/IabHelper;->e:Z
    :try_end_f
    .catchall {:try_start_3 .. :try_end_f} :catchall_15

    goto :goto_13

    .line 356
    :cond_10
    :try_start_10
    invoke-direct {p0}, Lcom/imo/android/imoim/billing/IabHelper;->f()V
    :try_end_13
    .catch Lcom/imo/android/imoim/billing/IabHelper$IabAsyncInProgressException; {:try_start_10 .. :try_end_13} :catch_13
    .catchall {:try_start_10 .. :try_end_13} :catchall_15

    .line 362
    :catch_13
    :goto_13
    :try_start_13
    monitor-exit v0

    return-void

    :catchall_15
    move-exception v1

    monitor-exit v0
    :try_end_17
    .catchall {:try_start_13 .. :try_end_17} :catchall_15

    throw v1
.end method

.method final b(Ljava/lang/String;)V
    .registers 3

    .line 1117
    iget-boolean v0, p0, Lcom/imo/android/imoim/billing/IabHelper;->a:Z

    if-eqz v0, :cond_9

    iget-object v0, p0, Lcom/imo/android/imoim/billing/IabHelper;->b:Ljava/lang/String;

    .line 4071
    invoke-static {v0, p1}, Lcom/imo/android/imoim/util/bt;->d(Ljava/lang/String;Ljava/lang/String;)V

    :cond_9
    return-void
.end method

.method final c()V
    .registers 3

    .line 366
    iget-boolean v0, p0, Lcom/imo/android/imoim/billing/IabHelper;->d:Z

    if-nez v0, :cond_5

    return-void

    :cond_5
    new-instance v0, Ljava/lang/IllegalStateException;

    const-string v1, "IabHelper was disposed of, so it cannot be used."

    invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V

    throw v0
.end method

.method final c(Ljava/lang/String;)V
    .registers 3

    .line 1121
    iget-object v0, p0, Lcom/imo/android/imoim/billing/IabHelper;->b:Ljava/lang/String;

    invoke-static {v0, p1}, Lcom/imo/android/imoim/util/bt;->g(Ljava/lang/String;Ljava/lang/String;)V

    return-void
.end method

.method final d(Ljava/lang/String;)V
    .registers 4

    .line 1125
    iget-object v0, p0, Lcom/imo/android/imoim/billing/IabHelper;->b:Ljava/lang/String;

    invoke-static {p1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object p1

    const-string v1, "In-app billing error: "

    invoke-virtual {v1, p1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;

    move-result-object p1

    invoke-static {v0, p1}, Lcom/imo/android/imoim/util/bt;->h(Ljava/lang/String;Ljava/lang/String;)V

    return-void
.end method

.method public final d()Z
    .registers 2

    .line 371
    invoke-virtual {p0}, Lcom/imo/android/imoim/billing/IabHelper;->c()V

    .line 372
    iget-boolean v0, p0, Lcom/imo/android/imoim/billing/IabHelper;->f:Z

    return v0
.end method

.method final e()V
    .registers 4

    .line 918
    iget-object v0, p0, Lcom/imo/android/imoim/billing/IabHelper;->q:Ljava/lang/Object;

    monitor-enter v0

    .line 919
    :try_start_3
    new-instance v1, Ljava/lang/StringBuilder;

    const-string v2, "Ending async operation: "

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

    iget-object v2, p0, Lcom/imo/android/imoim/billing/IabHelper;->i:Ljava/lang/String;

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

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

    move-result-object v1

    invoke-virtual {p0, v1}, Lcom/imo/android/imoim/billing/IabHelper;->c(Ljava/lang/String;)V

    const-string v1, ""

    .line 920
    iput-object v1, p0, Lcom/imo/android/imoim/billing/IabHelper;->i:Ljava/lang/String;

    const/4 v1, 0x0

    .line 921
    iput-boolean v1, p0, Lcom/imo/android/imoim/billing/IabHelper;->h:Z

    .line 922
    iget-boolean v1, p0, Lcom/imo/android/imoim/billing/IabHelper;->e:Z
    :try_end_1f
    .catchall {:try_start_3 .. :try_end_1f} :catchall_26

    if-eqz v1, :cond_24

    .line 924
    :try_start_21
    invoke-direct {p0}, Lcom/imo/android/imoim/billing/IabHelper;->f()V
    :try_end_24
    .catch Lcom/imo/android/imoim/billing/IabHelper$IabAsyncInProgressException; {:try_start_21 .. :try_end_24} :catch_24
    .catchall {:try_start_21 .. :try_end_24} :catchall_26

    .line 930
    :catch_24
    :cond_24
    :try_start_24
    monitor-exit v0

    return-void

    :catchall_26
    move-exception v1

    monitor-exit v0
    :try_end_28
    .catchall {:try_start_24 .. :try_end_28} :catchall_26

    throw v1
.end method