RxJava2CallAdapterFactory.smali
.class public final Lretrofit2/adapter/rxjava2/RxJava2CallAdapterFactory;
.super Lretrofit2/CallAdapter$Factory;
.source "RxJava2CallAdapterFactory.java"
# instance fields
.field private final isAsync:Z
.field private final scheduler:Lio/reactivex/s;
# direct methods
.method private constructor <init>(Lio/reactivex/s;Z)V
.registers 3
.prologue
.line 88
invoke-direct {p0}, Lretrofit2/CallAdapter$Factory;-><init>()V
.line 89
iput-object p1, p0, Lretrofit2/adapter/rxjava2/RxJava2CallAdapterFactory;->scheduler:Lio/reactivex/s;
.line 90
iput-boolean p2, p0, Lretrofit2/adapter/rxjava2/RxJava2CallAdapterFactory;->isAsync:Z
.line 91
return-void
.end method
.method public static create()Lretrofit2/adapter/rxjava2/RxJava2CallAdapterFactory;
.registers 3
.prologue
.line 64
new-instance v0, Lretrofit2/adapter/rxjava2/RxJava2CallAdapterFactory;
const/4 v1, 0x0
const/4 v2, 0x0
invoke-direct {v0, v1, v2}, Lretrofit2/adapter/rxjava2/RxJava2CallAdapterFactory;-><init>(Lio/reactivex/s;Z)V
return-object v0
.end method
.method public static createAsync()Lretrofit2/adapter/rxjava2/RxJava2CallAdapterFactory;
.registers 3
.prologue
.line 72
new-instance v0, Lretrofit2/adapter/rxjava2/RxJava2CallAdapterFactory;
const/4 v1, 0x0
const/4 v2, 0x1
invoke-direct {v0, v1, v2}, Lretrofit2/adapter/rxjava2/RxJava2CallAdapterFactory;-><init>(Lio/reactivex/s;Z)V
return-object v0
.end method
.method public static createWithScheduler(Lio/reactivex/s;)Lretrofit2/adapter/rxjava2/RxJava2CallAdapterFactory;
.registers 3
.prologue
.line 81
if-nez p0, :cond_a
new-instance v0, Ljava/lang/NullPointerException;
const-string v1, "scheduler == null"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
.line 82
:cond_a
new-instance v0, Lretrofit2/adapter/rxjava2/RxJava2CallAdapterFactory;
const/4 v1, 0x0
invoke-direct {v0, p0, v1}, Lretrofit2/adapter/rxjava2/RxJava2CallAdapterFactory;-><init>(Lio/reactivex/s;Z)V
return-object v0
.end method
# virtual methods
.method public final get(Ljava/lang/reflect/Type;[Ljava/lang/annotation/Annotation;Lretrofit2/Retrofit;)Lretrofit2/CallAdapter;
.registers 14
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/reflect/Type;",
"[",
"Ljava/lang/annotation/Annotation;",
"Lretrofit2/Retrofit;",
")",
"Lretrofit2/CallAdapter",
"<**>;"
}
.end annotation
.prologue
.line 95
invoke-static {p1}, Lretrofit2/adapter/rxjava2/RxJava2CallAdapterFactory;->getRawType(Ljava/lang/reflect/Type;)Ljava/lang/Class;
move-result-object v0
.line 97
const-class v1, Lio/reactivex/a;
if-ne v0, v1, :cond_1a
.line 100
new-instance v0, Lretrofit2/adapter/rxjava2/RxJava2CallAdapter;
const-class v1, Ljava/lang/Void;
iget-object v2, p0, Lretrofit2/adapter/rxjava2/RxJava2CallAdapterFactory;->scheduler:Lio/reactivex/s;
iget-boolean v3, p0, Lretrofit2/adapter/rxjava2/RxJava2CallAdapterFactory;->isAsync:Z
const/4 v4, 0x0
const/4 v5, 0x1
const/4 v6, 0x0
const/4 v7, 0x0
const/4 v8, 0x0
const/4 v9, 0x1
invoke-direct/range {v0 .. v9}, Lretrofit2/adapter/rxjava2/RxJava2CallAdapter;-><init>(Ljava/lang/reflect/Type;Lio/reactivex/s;ZZZZZZZ)V
.line 142
:goto_19
return-object v0
.line 104
:cond_1a
const-class v1, Lio/reactivex/e;
if-ne v0, v1, :cond_35
const/4 v6, 0x1
.line 105
:goto_1f
const-class v1, Lio/reactivex/x;
if-ne v0, v1, :cond_37
const/4 v7, 0x1
.line 106
:goto_24
const-class v1, Lio/reactivex/g;
if-ne v0, v1, :cond_39
const/4 v8, 0x1
.line 107
:goto_29
const-class v1, Lio/reactivex/k;
if-eq v0, v1, :cond_3b
if-nez v6, :cond_3b
if-nez v7, :cond_3b
if-nez v8, :cond_3b
.line 108
const/4 v0, 0x0
goto :goto_19
.line 104
:cond_35
const/4 v6, 0x0
goto :goto_1f
.line 105
:cond_37
const/4 v7, 0x0
goto :goto_24
.line 106
:cond_39
const/4 v8, 0x0
goto :goto_29
.line 111
:cond_3b
const/4 v4, 0x0
.line 112
const/4 v5, 0x0
.line 114
instance-of v0, p1, Ljava/lang/reflect/ParameterizedType;
if-nez v0, :cond_7f
.line 115
if-eqz v6, :cond_72
const-string v0, "Flowable"
.line 118
:goto_45
new-instance v1, Ljava/lang/IllegalStateException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
const-string v3, " return type must be parameterized as "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
const-string v3, "<Foo> or "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v2, "<? extends Foo>"
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v1
.line 116
:cond_72
if-eqz v7, :cond_77
const-string v0, "Single"
goto :goto_45
.line 117
:cond_77
if-eqz v8, :cond_7c
const-string v0, "Maybe"
goto :goto_45
:cond_7c
const-string v0, "Observable"
goto :goto_45
.line 122
:cond_7f
const/4 v0, 0x0
check-cast p1, Ljava/lang/reflect/ParameterizedType;
invoke-static {v0, p1}, Lretrofit2/adapter/rxjava2/RxJava2CallAdapterFactory;->getParameterUpperBound(ILjava/lang/reflect/ParameterizedType;)Ljava/lang/reflect/Type;
move-result-object v0
.line 123
invoke-static {v0}, Lretrofit2/adapter/rxjava2/RxJava2CallAdapterFactory;->getRawType(Ljava/lang/reflect/Type;)Ljava/lang/Class;
move-result-object v1
.line 124
const-class v2, Lretrofit2/Response;
if-ne v1, v2, :cond_ad
.line 125
instance-of v1, v0, Ljava/lang/reflect/ParameterizedType;
if-nez v1, :cond_9a
.line 126
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "Response must be parameterized as Response<Foo> or Response<? extends Foo>"
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.line 129
:cond_9a
const/4 v1, 0x0
check-cast v0, Ljava/lang/reflect/ParameterizedType;
invoke-static {v1, v0}, Lretrofit2/adapter/rxjava2/RxJava2CallAdapterFactory;->getParameterUpperBound(ILjava/lang/reflect/ParameterizedType;)Ljava/lang/reflect/Type;
move-result-object v1
.line 142
:goto_a1
new-instance v0, Lretrofit2/adapter/rxjava2/RxJava2CallAdapter;
iget-object v2, p0, Lretrofit2/adapter/rxjava2/RxJava2CallAdapterFactory;->scheduler:Lio/reactivex/s;
iget-boolean v3, p0, Lretrofit2/adapter/rxjava2/RxJava2CallAdapterFactory;->isAsync:Z
const/4 v9, 0x0
invoke-direct/range {v0 .. v9}, Lretrofit2/adapter/rxjava2/RxJava2CallAdapter;-><init>(Ljava/lang/reflect/Type;Lio/reactivex/s;ZZZZZZZ)V
goto/16 :goto_19
.line 130
:cond_ad
const-class v2, Lretrofit2/adapter/rxjava2/Result;
if-ne v1, v2, :cond_c6
.line 131
instance-of v1, v0, Ljava/lang/reflect/ParameterizedType;
if-nez v1, :cond_bd
.line 132
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "Result must be parameterized as Result<Foo> or Result<? extends Foo>"
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.line 135
:cond_bd
const/4 v1, 0x0
check-cast v0, Ljava/lang/reflect/ParameterizedType;
invoke-static {v1, v0}, Lretrofit2/adapter/rxjava2/RxJava2CallAdapterFactory;->getParameterUpperBound(ILjava/lang/reflect/ParameterizedType;)Ljava/lang/reflect/Type;
move-result-object v1
.line 136
const/4 v4, 0x1
goto :goto_a1
.line 139
:cond_c6
const/4 v5, 0x1
move-object v1, v0
goto :goto_a1
.end method