m.smali
.class abstract Lxb/m;
.super Lxb/a0;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lxb/m$a;,
Lxb/m$c;,
Lxb/m$b;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<ResponseT:",
"Ljava/lang/Object;",
"ReturnT:",
"Ljava/lang/Object;",
">",
"Lxb/a0<",
"TReturnT;>;"
}
.end annotation
# instance fields
.field private final a:Lxb/x;
.field private final b:Llb/d$a;
.field private final c:Lxb/h;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lxb/h<",
"Llb/c0;",
"TResponseT;>;"
}
.end annotation
.end field
# direct methods
.method constructor <init>(Lxb/x;Llb/d$a;Lxb/h;)V
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lxb/x;",
"Llb/d$a;",
"Lxb/h<",
"Llb/c0;",
"TResponseT;>;)V"
}
.end annotation
invoke-direct {p0}, Lxb/a0;-><init>()V
iput-object p1, p0, Lxb/m;->a:Lxb/x;
iput-object p2, p0, Lxb/m;->b:Llb/d$a;
iput-object p3, p0, Lxb/m;->c:Lxb/h;
return-void
.end method
.method private static d(Lxb/z;Ljava/lang/reflect/Method;Ljava/lang/reflect/Type;[Ljava/lang/annotation/Annotation;)Lxb/c;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"<ResponseT:",
"Ljava/lang/Object;",
"ReturnT:",
"Ljava/lang/Object;",
">(",
"Lxb/z;",
"Ljava/lang/reflect/Method;",
"Ljava/lang/reflect/Type;",
"[",
"Ljava/lang/annotation/Annotation;",
")",
"Lxb/c<",
"TResponseT;TReturnT;>;"
}
.end annotation
:try_start_0
invoke-virtual {p0, p2, p3}, Lxb/z;->a(Ljava/lang/reflect/Type;[Ljava/lang/annotation/Annotation;)Lxb/c;
move-result-object p0
:try_end_4
.catch Ljava/lang/RuntimeException; {:try_start_0 .. :try_end_4} :catch_5
return-object p0
:catch_5
move-exception p0
const/4 p3, 0x1
new-array p3, p3, [Ljava/lang/Object;
const/4 v0, 0x0
aput-object p2, p3, v0
const-string p2, "Unable to create call adapter for %s"
invoke-static {p1, p0, p2, p3}, Lxb/d0;->n(Ljava/lang/reflect/Method;Ljava/lang/Throwable;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/RuntimeException;
move-result-object p0
throw p0
.end method
.method private static e(Lxb/z;Ljava/lang/reflect/Method;Ljava/lang/reflect/Type;)Lxb/h;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"<ResponseT:",
"Ljava/lang/Object;",
">(",
"Lxb/z;",
"Ljava/lang/reflect/Method;",
"Ljava/lang/reflect/Type;",
")",
"Lxb/h<",
"Llb/c0;",
"TResponseT;>;"
}
.end annotation
invoke-virtual {p1}, Ljava/lang/reflect/AccessibleObject;->getAnnotations()[Ljava/lang/annotation/Annotation;
move-result-object v0
:try_start_4
invoke-virtual {p0, p2, v0}, Lxb/z;->h(Ljava/lang/reflect/Type;[Ljava/lang/annotation/Annotation;)Lxb/h;
move-result-object p0
:try_end_8
.catch Ljava/lang/RuntimeException; {:try_start_4 .. :try_end_8} :catch_9
return-object p0
:catch_9
move-exception p0
const/4 v0, 0x1
new-array v0, v0, [Ljava/lang/Object;
const/4 v1, 0x0
aput-object p2, v0, v1
const-string p2, "Unable to create converter for %s"
invoke-static {p1, p0, p2, v0}, Lxb/d0;->n(Ljava/lang/reflect/Method;Ljava/lang/Throwable;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/RuntimeException;
move-result-object p0
throw p0
.end method
.method static f(Lxb/z;Ljava/lang/reflect/Method;Lxb/x;)Lxb/m;
.registers 13
.annotation system Ldalvik/annotation/Signature;
value = {
"<ResponseT:",
"Ljava/lang/Object;",
"ReturnT:",
"Ljava/lang/Object;",
">(",
"Lxb/z;",
"Ljava/lang/reflect/Method;",
"Lxb/x;",
")",
"Lxb/m<",
"TResponseT;TReturnT;>;"
}
.end annotation
iget-boolean v0, p2, Lxb/x;->k:Z
const/4 v6, 0x0
invoke-virtual {p1}, Ljava/lang/reflect/AccessibleObject;->getAnnotations()[Ljava/lang/annotation/Annotation;
move-result-object v1
const-class v2, Lxb/y;
const/4 v3, 0x0
if-eqz v0, :cond_3f
invoke-virtual {p1}, Ljava/lang/reflect/Method;->getGenericParameterTypes()[Ljava/lang/reflect/Type;
move-result-object v4
array-length v5, v4
const/4 v7, 0x1
sub-int/2addr v5, v7
aget-object v4, v4, v5
check-cast v4, Ljava/lang/reflect/ParameterizedType;
invoke-static {v3, v4}, Lxb/d0;->f(ILjava/lang/reflect/ParameterizedType;)Ljava/lang/reflect/Type;
move-result-object v4
invoke-static {v4}, Lxb/d0;->h(Ljava/lang/reflect/Type;)Ljava/lang/Class;
move-result-object v5
if-ne v5, v2, :cond_2d
instance-of v5, v4, Ljava/lang/reflect/ParameterizedType;
if-eqz v5, :cond_2d
check-cast v4, Ljava/lang/reflect/ParameterizedType;
invoke-static {v3, v4}, Lxb/d0;->g(ILjava/lang/reflect/ParameterizedType;)Ljava/lang/reflect/Type;
move-result-object v4
const/4 v5, 0x1
goto :goto_2e
:cond_2d
const/4 v5, 0x0
:goto_2e
new-instance v8, Lxb/d0$b;
new-array v7, v7, [Ljava/lang/reflect/Type;
aput-object v4, v7, v3
const/4 v4, 0x0
const-class v9, Lxb/b;
invoke-direct {v8, v4, v9, v7}, Lxb/d0$b;-><init>(Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;[Ljava/lang/reflect/Type;)V
invoke-static {v1}, Lxb/c0;->a([Ljava/lang/annotation/Annotation;)[Ljava/lang/annotation/Annotation;
move-result-object v1
goto :goto_44
:cond_3f
invoke-virtual {p1}, Ljava/lang/reflect/Method;->getGenericReturnType()Ljava/lang/reflect/Type;
move-result-object v8
const/4 v5, 0x0
:goto_44
invoke-static {p0, p1, v8, v1}, Lxb/m;->d(Lxb/z;Ljava/lang/reflect/Method;Ljava/lang/reflect/Type;[Ljava/lang/annotation/Annotation;)Lxb/c;
move-result-object v7
invoke-interface {v7}, Lxb/c;->b()Ljava/lang/reflect/Type;
move-result-object v1
const-class v4, Llb/b0;
if-eq v1, v4, :cond_96
if-eq v1, v2, :cond_8d
iget-object v2, p2, Lxb/x;->c:Ljava/lang/String;
const-string v4, "HEAD"
invoke-virtual {v2, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_6e
const-class v2, Ljava/lang/Void;
invoke-virtual {v2, v1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_65
goto :goto_6e
:cond_65
const-string p0, "HEAD method must use Void as response type."
new-array p2, v3, [Ljava/lang/Object;
invoke-static {p1, p0, p2}, Lxb/d0;->m(Ljava/lang/reflect/Method;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/RuntimeException;
move-result-object p0
throw p0
:cond_6e
:goto_6e
invoke-static {p0, p1, v1}, Lxb/m;->e(Lxb/z;Ljava/lang/reflect/Method;Ljava/lang/reflect/Type;)Lxb/h;
move-result-object v4
iget-object v3, p0, Lxb/z;->b:Llb/d$a;
if-nez v0, :cond_7c
new-instance p0, Lxb/m$a;
invoke-direct {p0, p2, v3, v4, v7}, Lxb/m$a;-><init>(Lxb/x;Llb/d$a;Lxb/h;Lxb/c;)V
return-object p0
:cond_7c
if-eqz v5, :cond_84
new-instance p0, Lxb/m$c;
invoke-direct {p0, p2, v3, v4, v7}, Lxb/m$c;-><init>(Lxb/x;Llb/d$a;Lxb/h;Lxb/c;)V
return-object p0
:cond_84
new-instance p0, Lxb/m$b;
move-object v1, p0
move-object v2, p2
move-object v5, v7
invoke-direct/range {v1 .. v6}, Lxb/m$b;-><init>(Lxb/x;Llb/d$a;Lxb/h;Lxb/c;Z)V
return-object p0
:cond_8d
const-string p0, "Response must include generic type (e.g., Response<String>)"
new-array p2, v3, [Ljava/lang/Object;
invoke-static {p1, p0, p2}, Lxb/d0;->m(Ljava/lang/reflect/Method;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/RuntimeException;
move-result-object p0
throw p0
:cond_96
new-instance p0, Ljava/lang/StringBuilder;
invoke-direct {p0}, Ljava/lang/StringBuilder;-><init>()V
const-string p2, "\'"
invoke-virtual {p0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {v1}, Lxb/d0;->h(Ljava/lang/reflect/Type;)Ljava/lang/Class;
move-result-object p2
invoke-virtual {p2}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object p2
invoke-virtual {p0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p2, "\' is not a valid response body type. Did you mean ResponseBody?"
invoke-virtual {p0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
new-array p2, v3, [Ljava/lang/Object;
invoke-static {p1, p0, p2}, Lxb/d0;->m(Ljava/lang/reflect/Method;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/RuntimeException;
move-result-object p0
throw p0
.end method
# virtual methods
.method final a([Ljava/lang/Object;)Ljava/lang/Object;
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"([",
"Ljava/lang/Object;",
")TReturnT;"
}
.end annotation
new-instance v0, Lxb/p;
iget-object v1, p0, Lxb/m;->a:Lxb/x;
iget-object v2, p0, Lxb/m;->b:Llb/d$a;
iget-object v3, p0, Lxb/m;->c:Lxb/h;
invoke-direct {v0, v1, p1, v2, v3}, Lxb/p;-><init>(Lxb/x;[Ljava/lang/Object;Llb/d$a;Lxb/h;)V
invoke-virtual {p0, v0, p1}, Lxb/m;->c(Lxb/b;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method protected abstract c(Lxb/b;[Ljava/lang/Object;)Ljava/lang/Object;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lxb/b<",
"TResponseT;>;[",
"Ljava/lang/Object;",
")TReturnT;"
}
.end annotation
.end method