a.smali

.class public final Lcn/jiguang/ak/a;
.super Ljava/lang/Object;


# direct methods
.method public static a(Landroid/content/Context;[BLjava/lang/String;)Landroid/util/Pair;
    .registers 12
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Landroid/content/Context;",
            "[B",
            "Ljava/lang/String;",
            ")",
            "Landroid/util/Pair",
            "<",
            "Lcn/jiguang/ak/c;",
            "Ljava/nio/ByteBuffer;",
            ">;"
        }
    .end annotation

    const/4 v0, 0x0

    const/16 v8, 0x14

    const/4 v7, 0x0

    array-length v1, p1

    if-ge v1, v8, :cond_f

    const-string v1, "JCommands"

    const-string v2, "Error: received body-length short than common head-length, return null"

    invoke-static {v1, v2}, Lcn/jiguang/ai/a;->h(Ljava/lang/String;Ljava/lang/String;)V

    :goto_e
    return-object v0

    :cond_f
    new-array v1, v8, [B

    invoke-static {p1, v7, v1, v7, v8}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V

    new-instance v2, Lcn/jiguang/ak/c;

    invoke-direct {v2, v7, v1}, Lcn/jiguang/ak/c;-><init>(Z[B)V

    const-string v1, "JCommands"

    new-instance v3, Ljava/lang/StringBuilder;

    const-string v4, "parsed head - "

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

    invoke-virtual {v2}, Lcn/jiguang/ak/c;->toString()Ljava/lang/String;

    move-result-object v4

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

    move-result-object v3

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

    move-result-object v3

    invoke-static {v1, v3}, Lcn/jiguang/ai/a;->c(Ljava/lang/String;Ljava/lang/String;)V

    iget v1, v2, Lcn/jiguang/ak/c;->a:I

    add-int/lit8 v1, v1, -0x14

    if-gez v1, :cond_3f

    const-string v1, "JCommands"

    const-string v2, "Error: totalBytes length error with no encrypted, return null"

    invoke-static {v1, v2}, Lcn/jiguang/ai/a;->h(Ljava/lang/String;Ljava/lang/String;)V

    goto :goto_e

    :cond_3f
    const-string v3, "JCommands"

    new-instance v4, Ljava/lang/StringBuilder;

    const-string v5, "body size:"

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

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

    move-result-object v4

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

    move-result-object v4

    invoke-static {v3, v4}, Lcn/jiguang/ai/a;->a(Ljava/lang/String;Ljava/lang/String;)V

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

    move-result v3

    if-eqz v3, :cond_5d

    invoke-static {p0}, Lcn/jiguang/al/a;->a(Landroid/content/Context;)Ljava/lang/String;

    move-result-object p2

    :cond_5d
    new-array v3, v1, [B

    invoke-static {p1, v8, v3, v7, v1}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V

    const-string v4, "JCommands"

    new-instance v5, Ljava/lang/StringBuilder;

    const-string v6, "decode algorithm:"

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

    iget-byte v6, v2, Lcn/jiguang/ak/c;->d:B

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

    move-result-object v5

    const-string v6, ", pwd:"

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

    move-result-object v5

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

    move-result-object v5

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

    move-result-object v5

    invoke-static {v4, v5}, Lcn/jiguang/ai/a;->c(Ljava/lang/String;Ljava/lang/String;)V

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

    move-result v4

    if-nez v4, :cond_d3

    :try_start_88
    iget-byte v1, v2, Lcn/jiguang/ak/c;->d:B

    const/4 v4, 0x2

    if-ne v1, v4, :cond_b3

    new-instance v1, Lcn/jiguang/al/b;

    invoke-direct {v1}, Lcn/jiguang/al/b;-><init>()V

    invoke-static {p2}, Lcn/jiguang/al/b;->a(Ljava/lang/String;)[B

    move-result-object v4

    const/4 v5, 0x0

    const/16 v6, 0x10

    invoke-virtual {p2, v5, v6}, Ljava/lang/String;->substring(II)Ljava/lang/String;

    move-result-object v5

    const-string v6, "utf-8"

    invoke-virtual {v5, v6}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B

    move-result-object v5

    invoke-virtual {v1, v3, v4, v5}, Lcn/jiguang/al/b;->b([B[B[B)[B

    move-result-object v1

    :goto_a7
    invoke-static {v1}, Ljava/nio/ByteBuffer;->wrap([B)Ljava/nio/ByteBuffer;
    :try_end_aa
    .catch Ljava/lang/Exception; {:try_start_88 .. :try_end_aa} :catch_b8

    move-result-object v0

    :goto_ab
    new-instance v1, Landroid/util/Pair;

    invoke-direct {v1, v2, v0}, Landroid/util/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V

    move-object v0, v1

    goto/16 :goto_e

    :cond_b3
    :try_start_b3
    invoke-static {p2, v3}, Lcn/jiguang/al/a;->b(Ljava/lang/String;[B)[B
    :try_end_b6
    .catch Ljava/lang/Exception; {:try_start_b3 .. :try_end_b6} :catch_b8

    move-result-object v1

    goto :goto_a7

    :catch_b8
    move-exception v1

    const-string v2, "JCommands"

    new-instance v3, Ljava/lang/StringBuilder;

    const-string v4, "decryptBytes error:"

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

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

    move-result-object v1

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

    move-result-object v1

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

    move-result-object v1

    invoke-static {v2, v1}, Lcn/jiguang/ai/a;->c(Ljava/lang/String;Ljava/lang/String;)V

    goto/16 :goto_e

    :cond_d3
    invoke-static {p1, v8, v3, v7, v1}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V

    invoke-static {v3}, Ljava/nio/ByteBuffer;->wrap([B)Ljava/nio/ByteBuffer;

    move-result-object v0

    goto :goto_ab
.end method

.method public static a(Landroid/content/Context;[B)Z
    .registers 12

    const-wide/16 v8, 0x0

    :try_start_2
    const-string v0, ""

    invoke-static {p0, p1, v0}, Lcn/jiguang/ak/a;->a(Landroid/content/Context;[BLjava/lang/String;)Landroid/util/Pair;

    move-result-object v1

    if-eqz v1, :cond_89

    invoke-static {p0}, Lcn/jiguang/sdk/impl/b;->e(Landroid/content/Context;)J

    move-result-wide v2

    iget-object v0, v1, Landroid/util/Pair;->first:Ljava/lang/Object;

    check-cast v0, Lcn/jiguang/ak/c;

    iget-wide v4, v0, Lcn/jiguang/ak/c;->g:J

    const-string v6, "JCommands"

    new-instance v0, Ljava/lang/StringBuilder;

    const-string v7, "uid:"

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

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

    move-result-object v0

    const-string v7, ",msgUid:"

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

    move-result-object v0

    invoke-virtual {v0, v4, v5}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v7, ",cmd:"

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

    move-result-object v7

    iget-object v0, v1, Landroid/util/Pair;->first:Ljava/lang/Object;

    check-cast v0, Lcn/jiguang/ak/c;

    iget v0, v0, Lcn/jiguang/ak/c;->c:I

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

    move-result-object v0

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

    move-result-object v0

    invoke-static {v6, v0}, Lcn/jiguang/ai/a;->c(Ljava/lang/String;Ljava/lang/String;)V

    cmp-long v0, v2, v8

    if-eqz v0, :cond_5e

    cmp-long v0, v4, v8

    if-eqz v0, :cond_5e

    cmp-long v0, v2, v4

    if-eqz v0, :cond_5e

    const-string v0, "JCommands"

    const-string v1, "recv other app msg"

    invoke-static {v0, v1}, Lcn/jiguang/ai/a;->c(Ljava/lang/String;Ljava/lang/String;)V

    invoke-static {}, Lcn/jiguang/am/a;->a()Lcn/jiguang/am/a;

    move-result-object v0

    invoke-virtual {v0, p0, v4, v5, p1}, Lcn/jiguang/am/a;->a(Landroid/content/Context;J[B)V

    :goto_5c
    const/4 v0, 0x1

    :goto_5d
    return v0

    :cond_5e
    invoke-static {}, Lcn/jiguang/ah/b;->a()Lcn/jiguang/ah/b;

    iget-object v0, v1, Landroid/util/Pair;->first:Ljava/lang/Object;

    check-cast v0, Lcn/jiguang/ak/c;

    iget-object v1, v1, Landroid/util/Pair;->second:Ljava/lang/Object;

    check-cast v1, Ljava/nio/ByteBuffer;

    invoke-static {p0, v0, v1}, Lcn/jiguang/ah/b;->a(Landroid/content/Context;Lcn/jiguang/ak/c;Ljava/nio/ByteBuffer;)V
    :try_end_6c
    .catch Ljava/lang/Throwable; {:try_start_2 .. :try_end_6c} :catch_6d

    goto :goto_5c

    :catch_6d
    move-exception v0

    const-string v1, "JCommands"

    new-instance v2, Ljava/lang/StringBuilder;

    const-string v3, "dispatchMessage error:"

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

    invoke-virtual {v0}, Ljava/lang/Throwable;->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}, Lcn/jiguang/ai/a;->h(Ljava/lang/String;Ljava/lang/String;)V

    invoke-virtual {v0}, Ljava/lang/Throwable;->printStackTrace()V

    :cond_89
    const/4 v0, 0x0

    goto :goto_5d
.end method