GuestRegistrationHandler.smali

.class public Lcom/beetalk/sdk/GuestRegistrationHandler;
.super Lcom/beetalk/sdk/AuthRequestHandler;
.source "GuestRegistrationHandler.java"


# direct methods
.method public constructor <init>(Lcom/beetalk/sdk/AuthClient;)V
    .registers 2

    .line 1
    invoke-direct {p0, p1}, Lcom/beetalk/sdk/AuthRequestHandler;-><init>(Lcom/beetalk/sdk/AuthClient;)V

    return-void
.end method

.method static synthetic access$000(Lcom/beetalk/sdk/GuestRegistrationHandler;Lorg/json/JSONObject;)Z
    .registers 2

    .line 1
    invoke-direct {p0, p1}, Lcom/beetalk/sdk/GuestRegistrationHandler;->responseHasError(Lorg/json/JSONObject;)Z

    move-result p0

    return p0
.end method

.method static synthetic access$100(Lcom/beetalk/sdk/GuestRegistrationHandler;JLjava/lang/String;)V
    .registers 4

    .line 1
    invoke-direct {p0, p1, p2, p3}, Lcom/beetalk/sdk/GuestRegistrationHandler;->grantTokenForGuest(JLjava/lang/String;)V

    return-void
.end method

.method static synthetic access$200(Lcom/beetalk/sdk/GuestRegistrationHandler;Lorg/json/JSONObject;)Lcom/beetalk/sdk/AuthClient$Result;
    .registers 2

    .line 1
    invoke-direct {p0, p1}, Lcom/beetalk/sdk/GuestRegistrationHandler;->getAuthResult(Lorg/json/JSONObject;)Lcom/beetalk/sdk/AuthClient$Result;

    move-result-object p0

    return-object p0
.end method

.method private getAuthResult(Lorg/json/JSONObject;)Lcom/beetalk/sdk/AuthClient$Result;
    .registers 9

    const-string v0, "error"

    const-string v1, "open_id"

    .line 1
    sget-object v2, Lcom/garena/pay/android/GGErrorCode;->UNKNOWN_ERROR:Lcom/garena/pay/android/GGErrorCode;

    invoke-virtual {v2}, Lcom/garena/pay/android/GGErrorCode;->getCode()Ljava/lang/Integer;

    move-result-object v2

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

    move-result v2

    const/4 v3, 0x0

    if-nez p1, :cond_21

    .line 2
    :try_start_11
    sget-object p1, Lcom/garena/pay/android/GGErrorCode;->NETWORK_EXCEPTION:Lcom/garena/pay/android/GGErrorCode;

    invoke-virtual {p1}, Lcom/garena/pay/android/GGErrorCode;->getCode()Ljava/lang/Integer;

    move-result-object p1

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

    move-result p1

    :goto_1b
    move v2, p1

    goto/16 :goto_a0

    :catch_1e
    move-exception p1

    goto/16 :goto_9d

    .line 3
    :cond_21
    invoke-virtual {p1, v1}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z

    move-result v4

    if-eqz v4, :cond_56

    .line 4
    invoke-virtual {p1, v1}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    const-string v1, "access_token"

    .line 5
    invoke-virtual {p1, v1}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

    const-string v4, "refresh_token"

    .line 6
    invoke-virtual {p1, v4}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v4

    const-string v5, "expiry_time"

    .line 7
    invoke-virtual {p1, v5}, Lorg/json/JSONObject;->getInt(Ljava/lang/String;)I

    move-result p1

    .line 8
    new-instance v5, Lcom/beetalk/sdk/data/AuthToken;

    sget-object v6, Lcom/beetalk/sdk/data/TokenProvider;->GUEST:Lcom/beetalk/sdk/data/TokenProvider;

    invoke-direct {v5, v1, v6}, Lcom/beetalk/sdk/data/AuthToken;-><init>(Ljava/lang/String;Lcom/beetalk/sdk/data/TokenProvider;)V

    .line 9
    invoke-virtual {v5, v4}, Lcom/beetalk/sdk/data/AuthToken;->setRefreshToken(Ljava/lang/String;)V

    .line 10
    invoke-virtual {v5, p1}, Lcom/beetalk/sdk/data/AuthToken;->setExpiryTimestamp(I)V

    .line 11
    iget-object p1, p0, Lcom/beetalk/sdk/AuthRequestHandler;->client:Lcom/beetalk/sdk/AuthClient;

    invoke-virtual {p1}, Lcom/beetalk/sdk/AuthClient;->getPendingRequest()Lcom/beetalk/sdk/AuthClient$AuthClientRequest;

    move-result-object p1

    invoke-static {p1, v5, v0}, Lcom/beetalk/sdk/AuthClient$Result;->createTokenResult(Lcom/beetalk/sdk/AuthClient$AuthClientRequest;Lcom/beetalk/sdk/data/AuthToken;Ljava/lang/String;)Lcom/beetalk/sdk/AuthClient$Result;

    move-result-object p1

    move-object v3, p1

    goto :goto_a0

    .line 12
    :cond_56
    invoke-virtual {p1, v0}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z

    move-result v1

    if-eqz v1, :cond_91

    .line 13
    invoke-virtual {p1, v0}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;

    move-result-object p1

    const-string v0, "invalid_grant"

    .line 14
    invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_73

    .line 15
    sget-object p1, Lcom/garena/pay/android/GGErrorCode;->ACCESS_TOKEN_INVALID_GRANT:Lcom/garena/pay/android/GGErrorCode;

    invoke-virtual {p1}, Lcom/garena/pay/android/GGErrorCode;->getCode()Ljava/lang/Integer;

    move-result-object p1

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

    move-result p1

    goto :goto_1b

    :cond_73
    const-string v0, "error_user_ban"

    .line 16
    invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result p1

    if-eqz p1, :cond_86

    .line 17
    sget-object p1, Lcom/garena/pay/android/GGErrorCode;->ERROR_USER_BANNED:Lcom/garena/pay/android/GGErrorCode;

    invoke-virtual {p1}, Lcom/garena/pay/android/GGErrorCode;->getCode()Ljava/lang/Integer;

    move-result-object p1

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

    move-result p1

    goto :goto_1b

    .line 18
    :cond_86
    sget-object p1, Lcom/garena/pay/android/GGErrorCode;->ERROR_GUEST_LOGIN:Lcom/garena/pay/android/GGErrorCode;

    invoke-virtual {p1}, Lcom/garena/pay/android/GGErrorCode;->getCode()Ljava/lang/Integer;

    move-result-object p1

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

    move-result p1

    goto :goto_1b

    .line 19
    :cond_91
    sget-object p1, Lcom/garena/pay/android/GGErrorCode;->ACCESS_TOKEN_EXCHANGE_FAILED:Lcom/garena/pay/android/GGErrorCode;

    invoke-virtual {p1}, Lcom/garena/pay/android/GGErrorCode;->getCode()Ljava/lang/Integer;

    move-result-object p1

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

    move-result p1
    :try_end_9b
    .catch Lorg/json/JSONException; {:try_start_11 .. :try_end_9b} :catch_1e

    goto/16 :goto_1b

    .line 20
    :goto_9d
    invoke-static {p1}, Lcom/beetalk/sdk/b/a;->a(Ljava/lang/Exception;)V

    :goto_a0
    if-nez v3, :cond_ac

    .line 21
    iget-object p1, p0, Lcom/beetalk/sdk/AuthRequestHandler;->client:Lcom/beetalk/sdk/AuthClient;

    invoke-virtual {p1}, Lcom/beetalk/sdk/AuthClient;->getPendingRequest()Lcom/beetalk/sdk/AuthClient$AuthClientRequest;

    move-result-object p1

    invoke-static {p1, v2}, Lcom/beetalk/sdk/AuthClient$Result;->createErrorResult(Lcom/beetalk/sdk/AuthClient$AuthClientRequest;I)Lcom/beetalk/sdk/AuthClient$Result;

    move-result-object v3

    :cond_ac
    return-object v3
.end method

.method private grantTokenForGuest(JLjava/lang/String;)V
    .registers 10

    .line 1
    sget-object v3, Lcom/beetalk/sdk/request/ResponseType;->TOKEN:Lcom/beetalk/sdk/request/ResponseType;

    iget-object v0, p0, Lcom/beetalk/sdk/AuthRequestHandler;->client:Lcom/beetalk/sdk/AuthClient;

    .line 2
    invoke-virtual {v0}, Lcom/beetalk/sdk/AuthClient;->getPendingRequest()Lcom/beetalk/sdk/AuthClient$AuthClientRequest;

    move-result-object v0

    invoke-virtual {v0}, Lcom/beetalk/sdk/AuthClient$AuthClientRequest;->getApplicationId()Ljava/lang/String;

    move-result-object v4

    new-instance v5, Lcom/beetalk/sdk/G;

    invoke-direct {v5, p0}, Lcom/beetalk/sdk/G;-><init>(Lcom/beetalk/sdk/GuestRegistrationHandler;)V

    move-wide v0, p1

    move-object v2, p3

    .line 3
    invoke-static/range {v0 .. v5}, Lcom/beetalk/sdk/networking/service/h;->a(JLjava/lang/String;Lcom/beetalk/sdk/request/ResponseType;Ljava/lang/String;Lcom/beetalk/sdk/networking/HttpRequestTask$b;)V

    return-void
.end method

.method private responseHasError(Lorg/json/JSONObject;)Z
    .registers 3

    if-eqz p1, :cond_d

    const-string v0, "error"

    .line 1
    invoke-virtual {p1, v0}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z

    move-result p1

    if-eqz p1, :cond_b

    goto :goto_d

    :cond_b
    const/4 p1, 0x0

    goto :goto_e

    :cond_d
    :goto_d
    const/4 p1, 0x1

    :goto_e
    return p1
.end method


# virtual methods
.method startAuth(Lcom/beetalk/sdk/AuthClient$AuthClientRequest;)Z
    .registers 6

    .line 1
    invoke-static {}, Lcom/beetalk/sdk/cache/a;->b()Lcom/beetalk/sdk/cache/a;

    move-result-object v0

    invoke-virtual {v0}, Lcom/beetalk/sdk/cache/m;->getGuestUID()Ljava/lang/String;

    move-result-object v0

    .line 2
    invoke-static {}, Lcom/beetalk/sdk/cache/a;->b()Lcom/beetalk/sdk/cache/a;

    move-result-object v1

    invoke-virtual {v1}, Lcom/beetalk/sdk/cache/m;->getGuestPassword()Ljava/lang/String;

    move-result-object v1

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

    move-result v2

    if-nez v2, :cond_24

    invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v2

    if-nez v2, :cond_24

    .line 4
    invoke-static {v0}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J

    move-result-wide v2

    .line 5
    invoke-direct {p0, v2, v3, v1}, Lcom/beetalk/sdk/GuestRegistrationHandler;->grantTokenForGuest(JLjava/lang/String;)V

    goto :goto_83

    .line 6
    :cond_24
    invoke-static {}, Lcom/beetalk/sdk/cache/i;->b()Lcom/beetalk/sdk/cache/i;

    move-result-object v0

    invoke-virtual {v0}, Lcom/beetalk/sdk/cache/m;->getGuestUID()Ljava/lang/String;

    move-result-object v0

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

    move-result v1

    if-eqz v1, :cond_61

    .line 8
    new-instance v0, Lcom/beetalk/sdk/data/h;

    invoke-direct {v0}, Lcom/beetalk/sdk/data/h;-><init>()V

    .line 9
    invoke-static {}, Lcom/beetalk/sdk/b/l;->a()Ljava/lang/String;

    move-result-object v1

    iput-object v1, v0, Lcom/beetalk/sdk/data/h;->a:Ljava/lang/String;

    const-string v1, ""

    .line 10
    iput-object v1, v0, Lcom/beetalk/sdk/data/h;->b:Ljava/lang/String;

    const/4 v1, 0x0

    .line 11
    iput v1, v0, Lcom/beetalk/sdk/data/h;->c:I

    .line 12
    invoke-virtual {p1}, Lcom/beetalk/sdk/AuthClient$AuthClientRequest;->getApplicationId()Ljava/lang/String;

    move-result-object p1

    iput-object p1, v0, Lcom/beetalk/sdk/data/h;->d:Ljava/lang/String;

    .line 13
    invoke-static {}, Lcom/beetalk/sdk/GGLoginSession;->g()Lcom/beetalk/sdk/GGLoginSession;

    move-result-object p1

    invoke-virtual {p1}, Lcom/beetalk/sdk/GGLoginSession;->o()Ljava/lang/Integer;

    move-result-object p1

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

    move-result p1

    iput p1, v0, Lcom/beetalk/sdk/data/h;->e:I

    .line 14
    new-instance p1, Lcom/beetalk/sdk/E;

    invoke-direct {p1, p0, v0}, Lcom/beetalk/sdk/E;-><init>(Lcom/beetalk/sdk/GuestRegistrationHandler;Lcom/beetalk/sdk/data/h;)V

    invoke-static {v0, p1}, Lcom/beetalk/sdk/networking/service/h;->a(Lcom/beetalk/sdk/data/h;Lcom/beetalk/sdk/networking/HttpRequestTask$b;)V

    goto :goto_83

    .line 15
    :cond_61
    invoke-static {v0}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J

    move-result-wide v0

    .line 16
    invoke-static {}, Lcom/beetalk/sdk/cache/i;->b()Lcom/beetalk/sdk/cache/i;

    move-result-object p1

    invoke-virtual {p1}, Lcom/beetalk/sdk/cache/m;->getGuestPassword()Ljava/lang/String;

    move-result-object p1

    .line 17
    invoke-static {}, Lcom/beetalk/sdk/cache/a;->b()Lcom/beetalk/sdk/cache/a;

    move-result-object v2

    invoke-virtual {v2, v0, v1, p1}, Lcom/beetalk/sdk/cache/a;->putGuestInfo(JLjava/lang/String;)V

    .line 18
    :try_start_74
    invoke-static {}, Lcom/beetalk/sdk/cache/i;->b()Lcom/beetalk/sdk/cache/i;

    move-result-object v2

    invoke-virtual {v2, v0, v1, p1}, Lcom/beetalk/sdk/cache/m;->putGuestInfo(JLjava/lang/String;)V
    :try_end_7b
    .catch Ljava/lang/Exception; {:try_start_74 .. :try_end_7b} :catch_7c

    goto :goto_80

    :catch_7c
    move-exception v2

    .line 19
    invoke-static {v2}, Lcom/beetalk/sdk/b/a;->a(Ljava/lang/Exception;)V

    .line 20
    :goto_80
    invoke-direct {p0, v0, v1, p1}, Lcom/beetalk/sdk/GuestRegistrationHandler;->grantTokenForGuest(JLjava/lang/String;)V

    :goto_83
    const/4 p1, 0x1

    return p1
.end method