RxJavaCallAdapter.smali
.class final Lretrofit2/adapter/rxjava/RxJavaCallAdapter;
.super Ljava/lang/Object;
.source "RxJavaCallAdapter.java"
# interfaces
.implements Lretrofit2/CallAdapter;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<R:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;",
"Lretrofit2/CallAdapter<",
"TR;",
"Ljava/lang/Object;",
">;"
}
.end annotation
# instance fields
.field private final isAsync:Z
.field private final isBody:Z
.field private final isCompletable:Z
.field private final isResult:Z
.field private final isSingle:Z
.field private final responseType:Ljava/lang/reflect/Type;
.field private final scheduler:Lrx/Scheduler;
# direct methods
.method constructor <init>(Ljava/lang/reflect/Type;Lrx/Scheduler;ZZZZZ)V
.registers 8
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput-object p1, p0, Lretrofit2/adapter/rxjava/RxJavaCallAdapter;->responseType:Ljava/lang/reflect/Type;
.line 3
iput-object p2, p0, Lretrofit2/adapter/rxjava/RxJavaCallAdapter;->scheduler:Lrx/Scheduler;
.line 4
iput-boolean p3, p0, Lretrofit2/adapter/rxjava/RxJavaCallAdapter;->isAsync:Z
.line 5
iput-boolean p4, p0, Lretrofit2/adapter/rxjava/RxJavaCallAdapter;->isResult:Z
.line 6
iput-boolean p5, p0, Lretrofit2/adapter/rxjava/RxJavaCallAdapter;->isBody:Z
.line 7
iput-boolean p6, p0, Lretrofit2/adapter/rxjava/RxJavaCallAdapter;->isSingle:Z
.line 8
iput-boolean p7, p0, Lretrofit2/adapter/rxjava/RxJavaCallAdapter;->isCompletable:Z
return-void
.end method
# virtual methods
.method public adapt(Lretrofit2/Call;)Ljava/lang/Object;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lretrofit2/Call<",
"TR;>;)",
"Ljava/lang/Object;"
}
.end annotation
.line 1
iget-boolean v0, p0, Lretrofit2/adapter/rxjava/RxJavaCallAdapter;->isAsync:Z
if-eqz v0, :cond_a
.line 2
new-instance v0, Lretrofit2/adapter/rxjava/CallEnqueueOnSubscribe;
invoke-direct {v0, p1}, Lretrofit2/adapter/rxjava/CallEnqueueOnSubscribe;-><init>(Lretrofit2/Call;)V
goto :goto_f
.line 3
:cond_a
new-instance v0, Lretrofit2/adapter/rxjava/CallExecuteOnSubscribe;
invoke-direct {v0, p1}, Lretrofit2/adapter/rxjava/CallExecuteOnSubscribe;-><init>(Lretrofit2/Call;)V
.line 4
:goto_f
iget-boolean p1, p0, Lretrofit2/adapter/rxjava/RxJavaCallAdapter;->isResult:Z
if-eqz p1, :cond_19
.line 5
new-instance p1, Lretrofit2/adapter/rxjava/ResultOnSubscribe;
invoke-direct {p1, v0}, Lretrofit2/adapter/rxjava/ResultOnSubscribe;-><init>(Lrx/Observable$OnSubscribe;)V
goto :goto_24
.line 6
:cond_19
iget-boolean p1, p0, Lretrofit2/adapter/rxjava/RxJavaCallAdapter;->isBody:Z
if-eqz p1, :cond_23
.line 7
new-instance p1, Lretrofit2/adapter/rxjava/BodyOnSubscribe;
invoke-direct {p1, v0}, Lretrofit2/adapter/rxjava/BodyOnSubscribe;-><init>(Lrx/Observable$OnSubscribe;)V
goto :goto_24
:cond_23
move-object p1, v0
.line 8
:goto_24
invoke-static {p1}, Lrx/Observable;->create(Lrx/Observable$OnSubscribe;)Lrx/Observable;
move-result-object p1
.line 9
iget-object v0, p0, Lretrofit2/adapter/rxjava/RxJavaCallAdapter;->scheduler:Lrx/Scheduler;
if-eqz v0, :cond_30
.line 10
invoke-virtual {p1, v0}, Lrx/Observable;->subscribeOn(Lrx/Scheduler;)Lrx/Observable;
move-result-object p1
.line 11
:cond_30
iget-boolean v0, p0, Lretrofit2/adapter/rxjava/RxJavaCallAdapter;->isSingle:Z
if-eqz v0, :cond_39
.line 12
invoke-virtual {p1}, Lrx/Observable;->toSingle()Lrx/Single;
move-result-object p1
return-object p1
.line 13
:cond_39
iget-boolean v0, p0, Lretrofit2/adapter/rxjava/RxJavaCallAdapter;->isCompletable:Z
if-eqz v0, :cond_41
.line 14
invoke-virtual {p1}, Lrx/Observable;->toCompletable()Lrx/Completable;
move-result-object p1
:cond_41
return-object p1
.end method
.method public responseType()Ljava/lang/reflect/Type;
.registers 2
.line 1
iget-object v0, p0, Lretrofit2/adapter/rxjava/RxJavaCallAdapter;->responseType:Ljava/lang/reflect/Type;
return-object v0
.end method