AndroidMessage$ProtoAdapterCreator.smali
.class final Lcom/squareup/wire/AndroidMessage$ProtoAdapterCreator;
.super Ljava/lang/Object;
.source "AndroidMessage.java"
# interfaces
.implements Landroid/os/Parcelable$Creator;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/squareup/wire/AndroidMessage;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1a
name = "ProtoAdapterCreator"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<M:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;",
"Landroid/os/Parcelable$Creator<",
"TM;>;"
}
.end annotation
# instance fields
.field private final adapter:Lcom/squareup/wire/ProtoAdapter;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/squareup/wire/ProtoAdapter<",
"TM;>;"
}
.end annotation
.end field
# direct methods
.method constructor <init>(Lcom/squareup/wire/ProtoAdapter;)V
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/squareup/wire/ProtoAdapter<",
"TM;>;)V"
}
.end annotation
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput-object p1, p0, Lcom/squareup/wire/AndroidMessage$ProtoAdapterCreator;->adapter:Lcom/squareup/wire/ProtoAdapter;
return-void
.end method
# virtual methods
.method public createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/os/Parcel;",
")TM;"
}
.end annotation
.line 1
:try_start_0
iget-object v0, p0, Lcom/squareup/wire/AndroidMessage$ProtoAdapterCreator;->adapter:Lcom/squareup/wire/ProtoAdapter;
invoke-virtual {p1}, Landroid/os/Parcel;->createByteArray()[B
move-result-object p1
invoke-virtual {v0, p1}, Lcom/squareup/wire/ProtoAdapter;->decode([B)Ljava/lang/Object;
move-result-object p1
:try_end_a
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_a} :catch_b
return-object p1
:catch_b
move-exception p1
.line 2
new-instance v0, Ljava/lang/RuntimeException;
invoke-direct {v0, p1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/Throwable;)V
throw v0
.end method
.method public newArray(I)[Ljava/lang/Object;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(I)[TM;"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/squareup/wire/AndroidMessage$ProtoAdapterCreator;->adapter:Lcom/squareup/wire/ProtoAdapter;
iget-object v0, v0, Lcom/squareup/wire/ProtoAdapter;->javaType:Ljava/lang/Class;
invoke-static {v0, p1}, Ljava/lang/reflect/Array;->newInstance(Ljava/lang/Class;I)Ljava/lang/Object;
move-result-object p1
check-cast p1, [Ljava/lang/Object;
return-object p1
.end method