a.smali

.class public Led/a;
.super Ljava/lang/Object;
.source "CallInvocationHandler.java"

# interfaces
.implements Ljava/lang/reflect/InvocationHandler;


# annotations
.annotation system Ldalvik/annotation/Signature;
    value = {
        "<T:",
        "Ljava/lang/Object;",
        "S:TT;>",
        "Ljava/lang/Object;",
        "Ljava/lang/reflect/InvocationHandler;"
    }
.end annotation


# instance fields
.field public a:Led/b;

.field public b:Ljava/lang/String;


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

    const-class v0, Led/a;

    return-void
.end method

.method public constructor <init>(Led/b;Ljava/lang/Class;)V
    .registers 3
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Led/b;",
            "Ljava/lang/Class<",
            "TS;>;)V"
        }
    .end annotation

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

    iput-object p1, p0, Led/a;->a:Led/b;

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

    move-result-object p1

    iput-object p1, p0, Led/a;->b:Ljava/lang/String;

    return-void
.end method


# virtual methods
.method public final a()V
    .registers 3

    new-instance v0, Ljava/lang/IllegalArgumentException;

    const-string v1, "EasyRpc can support Types of Object that Bundle can support"

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

    throw v0
.end method

.method public final a(Ljava/lang/reflect/Method;[Ljava/lang/Object;)V
    .registers 5

    new-instance v0, Led/e;

    invoke-direct {v0}, Led/e;-><init>()V

    iget-object v1, p0, Led/a;->b:Ljava/lang/String;

    iput-object v1, v0, Led/e;->d:Ljava/lang/String;

    invoke-virtual {p1}, Ljava/lang/reflect/Method;->getName()Ljava/lang/String;

    move-result-object p1

    iput-object p1, v0, Led/e;->e:Ljava/lang/String;

    if-nez p2, :cond_13

    const/4 p1, 0x0

    goto :goto_14

    :cond_13
    array-length p1, p2

    :goto_14
    iput p1, v0, Led/e;->b:I

    if-eqz p2, :cond_1b

    invoke-virtual {p0, p2, v0}, Led/a;->a([Ljava/lang/Object;Led/e;)V

    :cond_1b
    iget-object p1, p0, Led/a;->a:Led/b;

    invoke-virtual {p1, v0}, Led/b;->a(Led/e;)V

    return-void
.end method

.method public final a([Ljava/lang/Object;Led/e;)V
    .registers 10

    const/4 v0, 0x0

    const/4 v1, 0x0

    :goto_2
    array-length v2, p1

    if-ge v1, v2, :cond_1e8

    aget-object v2, p1, v1

    new-instance v3, Ljava/lang/StringBuilder;

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

    const-string v4, "remote_param_key"

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

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

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

    move-result-object v3

    instance-of v4, v2, Ljava/lang/String;

    if-eqz v4, :cond_25

    iget-object v4, p2, Led/e;->f:Landroid/os/Bundle;

    check-cast v2, Ljava/lang/String;

    invoke-virtual {v4, v3, v2}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V

    goto/16 :goto_1e0

    :cond_25
    instance-of v4, v2, Ljava/lang/Integer;

    if-eqz v4, :cond_36

    iget-object v4, p2, Led/e;->f:Landroid/os/Bundle;

    check-cast v2, Ljava/lang/Integer;

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

    move-result v2

    invoke-virtual {v4, v3, v2}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V

    goto/16 :goto_1e0

    :cond_36
    instance-of v4, v2, Ljava/lang/Long;

    if-eqz v4, :cond_47

    iget-object v4, p2, Led/e;->f:Landroid/os/Bundle;

    check-cast v2, Ljava/lang/Long;

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

    move-result-wide v5

    invoke-virtual {v4, v3, v5, v6}, Landroid/os/Bundle;->putLong(Ljava/lang/String;J)V

    goto/16 :goto_1e0

    :cond_47
    instance-of v4, v2, Ljava/lang/Double;

    if-eqz v4, :cond_58

    iget-object v4, p2, Led/e;->f:Landroid/os/Bundle;

    check-cast v2, Ljava/lang/Double;

    invoke-virtual {v2}, Ljava/lang/Double;->doubleValue()D

    move-result-wide v5

    invoke-virtual {v4, v3, v5, v6}, Landroid/os/Bundle;->putDouble(Ljava/lang/String;D)V

    goto/16 :goto_1e0

    :cond_58
    instance-of v4, v2, Ljava/lang/Boolean;

    if-eqz v4, :cond_69

    iget-object v4, p2, Led/e;->f:Landroid/os/Bundle;

    check-cast v2, Ljava/lang/Boolean;

    invoke-virtual {v2}, Ljava/lang/Boolean;->booleanValue()Z

    move-result v2

    invoke-virtual {v4, v3, v2}, Landroid/os/Bundle;->putBoolean(Ljava/lang/String;Z)V

    goto/16 :goto_1e0

    :cond_69
    instance-of v4, v2, Ljava/lang/Byte;

    if-eqz v4, :cond_7a

    iget-object v4, p2, Led/e;->f:Landroid/os/Bundle;

    check-cast v2, Ljava/lang/Byte;

    invoke-virtual {v2}, Ljava/lang/Byte;->byteValue()B

    move-result v2

    invoke-virtual {v4, v3, v2}, Landroid/os/Bundle;->putByte(Ljava/lang/String;B)V

    goto/16 :goto_1e0

    :cond_7a
    instance-of v4, v2, Ljava/lang/Short;

    if-eqz v4, :cond_8c

    iget-object v4, p2, Led/e;->f:Landroid/os/Bundle;

    check-cast v2, Ljava/lang/Byte;

    invoke-virtual {v2}, Ljava/lang/Byte;->byteValue()B

    move-result v2

    int-to-short v2, v2

    invoke-virtual {v4, v3, v2}, Landroid/os/Bundle;->putShort(Ljava/lang/String;S)V

    goto/16 :goto_1e0

    :cond_8c
    instance-of v4, v2, Ljava/lang/Character;

    if-eqz v4, :cond_9d

    iget-object v4, p2, Led/e;->f:Landroid/os/Bundle;

    check-cast v2, Ljava/lang/Character;

    invoke-virtual {v2}, Ljava/lang/Character;->charValue()C

    move-result v2

    invoke-virtual {v4, v3, v2}, Landroid/os/Bundle;->putChar(Ljava/lang/String;C)V

    goto/16 :goto_1e0

    :cond_9d
    instance-of v4, v2, Ljava/lang/Float;

    if-eqz v4, :cond_ae

    iget-object v4, p2, Led/e;->f:Landroid/os/Bundle;

    check-cast v2, Ljava/lang/Float;

    invoke-virtual {v2}, Ljava/lang/Float;->floatValue()F

    move-result v2

    invoke-virtual {v4, v3, v2}, Landroid/os/Bundle;->putFloat(Ljava/lang/String;F)V

    goto/16 :goto_1e0

    :cond_ae
    instance-of v4, v2, Ljava/lang/CharSequence;

    if-eqz v4, :cond_bb

    iget-object v4, p2, Led/e;->f:Landroid/os/Bundle;

    check-cast v2, Ljava/lang/CharSequence;

    invoke-virtual {v4, v3, v2}, Landroid/os/Bundle;->putCharSequence(Ljava/lang/String;Ljava/lang/CharSequence;)V

    goto/16 :goto_1e0

    :cond_bb
    instance-of v4, v2, Ljava/io/Serializable;

    if-eqz v4, :cond_c8

    iget-object v4, p2, Led/e;->f:Landroid/os/Bundle;

    check-cast v2, Ljava/io/Serializable;

    invoke-virtual {v4, v3, v2}, Landroid/os/Bundle;->putSerializable(Ljava/lang/String;Ljava/io/Serializable;)V

    goto/16 :goto_1e0

    :cond_c8
    instance-of v4, v2, Landroid/os/Parcelable;

    if-eqz v4, :cond_d5

    iget-object v4, p2, Led/e;->f:Landroid/os/Bundle;

    check-cast v2, Landroid/os/Parcelable;

    invoke-virtual {v4, v3, v2}, Landroid/os/Bundle;->putParcelable(Ljava/lang/String;Landroid/os/Parcelable;)V

    goto/16 :goto_1e0

    :cond_d5
    instance-of v4, v2, Ljava/util/ArrayList;

    const/4 v5, 0x0

    if-eqz v4, :cond_116

    check-cast v2, Ljava/util/ArrayList;

    invoke-virtual {v2}, Ljava/util/ArrayList;->isEmpty()Z

    move-result v4

    if-nez v4, :cond_1e0

    invoke-virtual {v2, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;

    move-result-object v4

    instance-of v6, v4, Landroid/os/Parcelable;

    if-eqz v6, :cond_f1

    iget-object v4, p2, Led/e;->f:Landroid/os/Bundle;

    invoke-virtual {v4, v3, v2}, Landroid/os/Bundle;->putParcelableArrayList(Ljava/lang/String;Ljava/util/ArrayList;)V

    goto/16 :goto_1e0

    :cond_f1
    instance-of v6, v4, Ljava/lang/String;

    if-eqz v6, :cond_fc

    iget-object v4, p2, Led/e;->f:Landroid/os/Bundle;

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

    goto/16 :goto_1e0

    :cond_fc
    instance-of v6, v4, Ljava/lang/Integer;

    if-eqz v6, :cond_107

    iget-object v4, p2, Led/e;->f:Landroid/os/Bundle;

    invoke-virtual {v4, v3, v2}, Landroid/os/Bundle;->putIntegerArrayList(Ljava/lang/String;Ljava/util/ArrayList;)V

    goto/16 :goto_1e0

    :cond_107
    instance-of v4, v4, Ljava/lang/CharSequence;

    if-eqz v4, :cond_112

    iget-object v4, p2, Led/e;->f:Landroid/os/Bundle;

    invoke-virtual {v4, v3, v2}, Landroid/os/Bundle;->putCharSequenceArrayList(Ljava/lang/String;Ljava/util/ArrayList;)V

    goto/16 :goto_1e0

    :cond_112
    invoke-virtual {p0}, Led/a;->a()V

    throw v5

    :cond_116
    instance-of v4, v2, [Ljava/lang/Object;

    if-eqz v4, :cond_1b0

    move-object v4, v2

    check-cast v4, [Ljava/lang/Object;

    array-length v6, v4

    if-lez v6, :cond_1e0

    aget-object v4, v4, v0

    instance-of v6, v4, Ljava/lang/String;

    if-eqz v6, :cond_12f

    iget-object v4, p2, Led/e;->f:Landroid/os/Bundle;

    check-cast v2, [Ljava/lang/String;

    invoke-virtual {v4, v3, v2}, Landroid/os/Bundle;->putStringArray(Ljava/lang/String;[Ljava/lang/String;)V

    goto/16 :goto_1e0

    :cond_12f
    instance-of v6, v4, Ljava/lang/Integer;

    if-eqz v6, :cond_13c

    iget-object v4, p2, Led/e;->f:Landroid/os/Bundle;

    check-cast v2, [I

    invoke-virtual {v4, v3, v2}, Landroid/os/Bundle;->putIntArray(Ljava/lang/String;[I)V

    goto/16 :goto_1e0

    :cond_13c
    instance-of v6, v4, Ljava/lang/Long;

    if-eqz v6, :cond_149

    iget-object v4, p2, Led/e;->f:Landroid/os/Bundle;

    check-cast v2, [J

    invoke-virtual {v4, v3, v2}, Landroid/os/Bundle;->putLongArray(Ljava/lang/String;[J)V

    goto/16 :goto_1e0

    :cond_149
    instance-of v6, v4, Ljava/lang/Double;

    if-eqz v6, :cond_156

    iget-object v4, p2, Led/e;->f:Landroid/os/Bundle;

    check-cast v2, [D

    invoke-virtual {v4, v3, v2}, Landroid/os/Bundle;->putDoubleArray(Ljava/lang/String;[D)V

    goto/16 :goto_1e0

    :cond_156
    instance-of v6, v4, Ljava/lang/Boolean;

    if-eqz v6, :cond_163

    iget-object v4, p2, Led/e;->f:Landroid/os/Bundle;

    check-cast v2, [Z

    invoke-virtual {v4, v3, v2}, Landroid/os/Bundle;->putBooleanArray(Ljava/lang/String;[Z)V

    goto/16 :goto_1e0

    :cond_163
    instance-of v6, v4, Ljava/lang/Byte;

    if-eqz v6, :cond_170

    iget-object v4, p2, Led/e;->f:Landroid/os/Bundle;

    check-cast v2, [B

    invoke-virtual {v4, v3, v2}, Landroid/os/Bundle;->putByteArray(Ljava/lang/String;[B)V

    goto/16 :goto_1e0

    :cond_170
    instance-of v6, v4, Ljava/lang/Short;

    if-eqz v6, :cond_17c

    iget-object v4, p2, Led/e;->f:Landroid/os/Bundle;

    check-cast v2, [S

    invoke-virtual {v4, v3, v2}, Landroid/os/Bundle;->putShortArray(Ljava/lang/String;[S)V

    goto :goto_1e0

    :cond_17c
    instance-of v6, v4, Ljava/lang/Character;

    if-eqz v6, :cond_188

    iget-object v4, p2, Led/e;->f:Landroid/os/Bundle;

    check-cast v2, [C

    invoke-virtual {v4, v3, v2}, Landroid/os/Bundle;->putCharArray(Ljava/lang/String;[C)V

    goto :goto_1e0

    :cond_188
    instance-of v6, v4, Ljava/lang/Float;

    if-eqz v6, :cond_194

    iget-object v4, p2, Led/e;->f:Landroid/os/Bundle;

    check-cast v2, [Ljava/lang/CharSequence;

    invoke-virtual {v4, v3, v2}, Landroid/os/Bundle;->putCharSequenceArray(Ljava/lang/String;[Ljava/lang/CharSequence;)V

    goto :goto_1e0

    :cond_194
    instance-of v6, v4, Ljava/lang/CharSequence;

    if-eqz v6, :cond_1a0

    iget-object v4, p2, Led/e;->f:Landroid/os/Bundle;

    check-cast v2, [Ljava/lang/CharSequence;

    invoke-virtual {v4, v3, v2}, Landroid/os/Bundle;->putCharSequenceArray(Ljava/lang/String;[Ljava/lang/CharSequence;)V

    goto :goto_1e0

    :cond_1a0
    instance-of v4, v4, Landroid/os/Parcelable;

    if-eqz v4, :cond_1ac

    iget-object v4, p2, Led/e;->f:Landroid/os/Bundle;

    check-cast v2, [Landroid/os/Parcelable;

    invoke-virtual {v4, v3, v2}, Landroid/os/Bundle;->putParcelableArray(Ljava/lang/String;[Landroid/os/Parcelable;)V

    goto :goto_1e0

    :cond_1ac
    invoke-virtual {p0}, Led/a;->a()V

    throw v5

    :cond_1b0
    instance-of v4, v2, Landroid/util/SparseArray;

    if-eqz v4, :cond_1ce

    check-cast v2, Landroid/util/SparseArray;

    invoke-virtual {v2}, Landroid/util/SparseArray;->size()I

    move-result v4

    if-lez v4, :cond_1e0

    invoke-virtual {v2, v0}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;

    move-result-object v4

    instance-of v4, v4, Landroid/os/Parcelable;

    if-eqz v4, :cond_1ca

    iget-object v4, p2, Led/e;->f:Landroid/os/Bundle;

    invoke-virtual {v4, v3, v2}, Landroid/os/Bundle;->putSparseParcelableArray(Ljava/lang/String;Landroid/util/SparseArray;)V

    goto :goto_1e0

    :cond_1ca
    invoke-virtual {p0}, Led/a;->a()V

    throw v5

    :cond_1ce
    instance-of v4, v2, Led/c;

    if-eqz v4, :cond_1e4

    check-cast v2, Led/c;

    iput-object v2, p2, Led/e;->h:Led/c;

    const/4 v2, 0x1

    iput-boolean v2, p2, Led/e;->c:Z

    iget-object v2, p2, Led/e;->f:Landroid/os/Bundle;

    const-string v4, "remote_param_callback"

    invoke-virtual {v2, v3, v4}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V

    :cond_1e0
    :goto_1e0
    add-int/lit8 v1, v1, 0x1

    goto/16 :goto_2

    :cond_1e4
    invoke-virtual {p0}, Led/a;->a()V

    throw v5

    :cond_1e8
    return-void
.end method

.method public invoke(Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;
    .registers 4

    invoke-virtual {p0, p2, p3}, Led/a;->a(Ljava/lang/reflect/Method;[Ljava/lang/Object;)V

    const/4 p1, 0x0

    return-object p1
.end method