CompletableFutureCallAdapterFactory.smali
.class final Lretrofit2/CompletableFutureCallAdapterFactory;
.super Lretrofit2/CallAdapter$Factory;
.source "CompletableFutureCallAdapterFactory.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lretrofit2/CompletableFutureCallAdapterFactory$BodyCallAdapter;,
Lretrofit2/CompletableFutureCallAdapterFactory$ResponseCallAdapter;,
Lretrofit2/CompletableFutureCallAdapterFactory$CallCancelCompletableFuture;
}
.end annotation
# static fields
.field static final INSTANCE:Lretrofit2/CallAdapter$Factory;
# direct methods
.method static constructor <clinit>()V
.registers 1
.line 27
new-instance v0, Lretrofit2/CompletableFutureCallAdapterFactory;
invoke-direct {v0}, Lretrofit2/CompletableFutureCallAdapterFactory;-><init>()V
sput-object v0, Lretrofit2/CompletableFutureCallAdapterFactory;->INSTANCE:Lretrofit2/CallAdapter$Factory;
return-void
.end method
.method constructor <init>()V
.registers 1
.line 26
invoke-direct {p0}, Lretrofit2/CallAdapter$Factory;-><init>()V
return-void
.end method
# virtual methods
.method public get(Ljava/lang/reflect/Type;[Ljava/lang/annotation/Annotation;Lretrofit2/Retrofit;)Lretrofit2/CallAdapter;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/reflect/Type;",
"[",
"Ljava/lang/annotation/Annotation;",
"Lretrofit2/Retrofit;",
")",
"Lretrofit2/CallAdapter<",
"**>;"
}
.end annotation
.annotation runtime Ljavax/annotation/Nullable;
.end annotation
.line 32
invoke-static {p1}, Lretrofit2/CompletableFutureCallAdapterFactory;->getRawType(Ljava/lang/reflect/Type;)Ljava/lang/Class;
move-result-object p2
const-class p3, Ljava/util/concurrent/CompletableFuture;
if-eq p2, p3, :cond_a
const/4 p1, 0x0
return-object p1
.line 35
:cond_a
instance-of p2, p1, Ljava/lang/reflect/ParameterizedType;
if-eqz p2, :cond_3b
.line 40
check-cast p1, Ljava/lang/reflect/ParameterizedType;
const/4 p2, 0x0
invoke-static {p2, p1}, Lretrofit2/CompletableFutureCallAdapterFactory;->getParameterUpperBound(ILjava/lang/reflect/ParameterizedType;)Ljava/lang/reflect/Type;
move-result-object p1
.line 42
invoke-static {p1}, Lretrofit2/CompletableFutureCallAdapterFactory;->getRawType(Ljava/lang/reflect/Type;)Ljava/lang/Class;
move-result-object p3
const-class v0, Lretrofit2/Response;
if-eq p3, v0, :cond_23
.line 44
new-instance p2, Lretrofit2/CompletableFutureCallAdapterFactory$BodyCallAdapter;
invoke-direct {p2, p1}, Lretrofit2/CompletableFutureCallAdapterFactory$BodyCallAdapter;-><init>(Ljava/lang/reflect/Type;)V
return-object p2
.line 48
:cond_23
instance-of p3, p1, Ljava/lang/reflect/ParameterizedType;
if-eqz p3, :cond_33
.line 52
check-cast p1, Ljava/lang/reflect/ParameterizedType;
invoke-static {p2, p1}, Lretrofit2/CompletableFutureCallAdapterFactory;->getParameterUpperBound(ILjava/lang/reflect/ParameterizedType;)Ljava/lang/reflect/Type;
move-result-object p1
.line 53
new-instance p2, Lretrofit2/CompletableFutureCallAdapterFactory$ResponseCallAdapter;
invoke-direct {p2, p1}, Lretrofit2/CompletableFutureCallAdapterFactory$ResponseCallAdapter;-><init>(Ljava/lang/reflect/Type;)V
return-object p2
.line 49
:cond_33
new-instance p1, Ljava/lang/IllegalStateException;
const-string p2, "Response must be parameterized as Response<Foo> or Response<? extends Foo>"
invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
.line 36
:cond_3b
new-instance p1, Ljava/lang/IllegalStateException;
const-string p2, "CompletableFuture return type must be parameterized as CompletableFuture<Foo> or CompletableFuture<? extends Foo>"
invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
.end method