SafeObserver.smali
.class public final Lio/reactivex/observers/SafeObserver;
.super Ljava/lang/Object;
.source "SafeObserver.java"
# interfaces
.implements Lio/reactivex/Observer;
.implements Lio/reactivex/disposables/Disposable;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;",
"Lio/reactivex/Observer<",
"TT;>;",
"Lio/reactivex/disposables/Disposable;"
}
.end annotation
# instance fields
.field final actual:Lio/reactivex/Observer;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lio/reactivex/Observer<",
"-TT;>;"
}
.end annotation
.end field
.field done:Z
.field s:Lio/reactivex/disposables/Disposable;
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>(Lio/reactivex/Observer;)V
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lio/reactivex/Observer<",
"-TT;>;)V"
}
.end annotation
.line 40
.local p0, "this":Lio/reactivex/observers/SafeObserver;, "Lio/reactivex/observers/SafeObserver<TT;>;"
.local p1, "actual":Lio/reactivex/Observer;, "Lio/reactivex/Observer<-TT;>;"
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 41
iput-object p1, p0, Lio/reactivex/observers/SafeObserver;->actual:Lio/reactivex/Observer;
.line 42
return-void
.end method
# virtual methods
.method public dispose()V
.registers 2
.line 69
.local p0, "this":Lio/reactivex/observers/SafeObserver;, "Lio/reactivex/observers/SafeObserver<TT;>;"
iget-object v0, p0, Lio/reactivex/observers/SafeObserver;->s:Lio/reactivex/disposables/Disposable;
invoke-interface {v0}, Lio/reactivex/disposables/Disposable;->dispose()V
.line 70
return-void
.end method
.method public isDisposed()Z
.registers 2
.line 74
.local p0, "this":Lio/reactivex/observers/SafeObserver;, "Lio/reactivex/observers/SafeObserver<TT;>;"
iget-object v0, p0, Lio/reactivex/observers/SafeObserver;->s:Lio/reactivex/disposables/Disposable;
invoke-interface {v0}, Lio/reactivex/disposables/Disposable;->isDisposed()Z
move-result v0
return v0
.end method
.method public onComplete()V
.registers 2
.line 181
.local p0, "this":Lio/reactivex/observers/SafeObserver;, "Lio/reactivex/observers/SafeObserver<TT;>;"
iget-boolean v0, p0, Lio/reactivex/observers/SafeObserver;->done:Z
if-eqz v0, :cond_5
.line 182
return-void
.line 185
:cond_5
const/4 v0, 0x1
iput-boolean v0, p0, Lio/reactivex/observers/SafeObserver;->done:Z
.line 187
iget-object v0, p0, Lio/reactivex/observers/SafeObserver;->s:Lio/reactivex/disposables/Disposable;
if-nez v0, :cond_10
.line 188
invoke-virtual {p0}, Lio/reactivex/observers/SafeObserver;->onCompleteNoSubscription()V
.line 189
return-void
.line 193
:cond_10
:try_start_10
iget-object v0, p0, Lio/reactivex/observers/SafeObserver;->actual:Lio/reactivex/Observer;
invoke-interface {v0}, Lio/reactivex/Observer;->onComplete()V
:try_end_15
.catchall {:try_start_10 .. :try_end_15} :catchall_16
.line 197
goto :goto_1d
.line 194
:catchall_16
move-exception v0
.line 195
.local v0, "e":Ljava/lang/Throwable;
invoke-static {v0}, Lio/reactivex/exceptions/Exceptions;->throwIfFatal(Ljava/lang/Throwable;)V
.line 196
invoke-static {v0}, Lio/reactivex/plugins/RxJavaPlugins;->onError(Ljava/lang/Throwable;)V
.line 198
.end local v0 # "e":Ljava/lang/Throwable;
:goto_1d
return-void
.end method
.method onCompleteNoSubscription()V
.registers 7
.line 202
.local p0, "this":Lio/reactivex/observers/SafeObserver;, "Lio/reactivex/observers/SafeObserver<TT;>;"
new-instance v0, Ljava/lang/NullPointerException;
const-string v1, "Subscription not set!"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
.line 205
.local v0, "ex":Ljava/lang/Throwable;
const/4 v1, 0x1
const/4 v2, 0x0
const/4 v3, 0x2
:try_start_a
iget-object v4, p0, Lio/reactivex/observers/SafeObserver;->actual:Lio/reactivex/Observer;
sget-object v5, Lio/reactivex/internal/disposables/EmptyDisposable;->INSTANCE:Lio/reactivex/internal/disposables/EmptyDisposable;
invoke-interface {v4, v5}, Lio/reactivex/Observer;->onSubscribe(Lio/reactivex/disposables/Disposable;)V
:try_end_11
.catchall {:try_start_a .. :try_end_11} :catchall_2b
.line 211
nop
.line 213
:try_start_12
iget-object v4, p0, Lio/reactivex/observers/SafeObserver;->actual:Lio/reactivex/Observer;
invoke-interface {v4, v0}, Lio/reactivex/Observer;->onError(Ljava/lang/Throwable;)V
:try_end_17
.catchall {:try_start_12 .. :try_end_17} :catchall_18
.line 218
goto :goto_2a
.line 214
:catchall_18
move-exception v4
.line 215
.local v4, "e":Ljava/lang/Throwable;
invoke-static {v4}, Lio/reactivex/exceptions/Exceptions;->throwIfFatal(Ljava/lang/Throwable;)V
.line 217
new-instance v5, Lio/reactivex/exceptions/CompositeException;
new-array v3, v3, [Ljava/lang/Throwable;
aput-object v0, v3, v2
aput-object v4, v3, v1
invoke-direct {v5, v3}, Lio/reactivex/exceptions/CompositeException;-><init>([Ljava/lang/Throwable;)V
invoke-static {v5}, Lio/reactivex/plugins/RxJavaPlugins;->onError(Ljava/lang/Throwable;)V
.line 219
.end local v4 # "e":Ljava/lang/Throwable;
:goto_2a
return-void
.line 206
:catchall_2b
move-exception v4
.line 207
.restart local v4 # "e":Ljava/lang/Throwable;
invoke-static {v4}, Lio/reactivex/exceptions/Exceptions;->throwIfFatal(Ljava/lang/Throwable;)V
.line 209
new-instance v5, Lio/reactivex/exceptions/CompositeException;
new-array v3, v3, [Ljava/lang/Throwable;
aput-object v0, v3, v2
aput-object v4, v3, v1
invoke-direct {v5, v3}, Lio/reactivex/exceptions/CompositeException;-><init>([Ljava/lang/Throwable;)V
invoke-static {v5}, Lio/reactivex/plugins/RxJavaPlugins;->onError(Ljava/lang/Throwable;)V
.line 210
return-void
.end method
.method public onError(Ljava/lang/Throwable;)V
.registers 10
.param p1, "t" # Ljava/lang/Throwable;
.line 139
.local p0, "this":Lio/reactivex/observers/SafeObserver;, "Lio/reactivex/observers/SafeObserver<TT;>;"
iget-boolean v0, p0, Lio/reactivex/observers/SafeObserver;->done:Z
if-eqz v0, :cond_8
.line 140
invoke-static {p1}, Lio/reactivex/plugins/RxJavaPlugins;->onError(Ljava/lang/Throwable;)V
.line 141
return-void
.line 143
:cond_8
const/4 v0, 0x1
iput-boolean v0, p0, Lio/reactivex/observers/SafeObserver;->done:Z
.line 145
iget-object v1, p0, Lio/reactivex/observers/SafeObserver;->s:Lio/reactivex/disposables/Disposable;
const/4 v2, 0x0
const/4 v3, 0x2
if-nez v1, :cond_5c
.line 146
new-instance v1, Ljava/lang/NullPointerException;
const-string v4, "Subscription not set!"
invoke-direct {v1, v4}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
.line 149
.local v1, "npe":Ljava/lang/Throwable;
const/4 v4, 0x3
:try_start_19
iget-object v5, p0, Lio/reactivex/observers/SafeObserver;->actual:Lio/reactivex/Observer;
sget-object v6, Lio/reactivex/internal/disposables/EmptyDisposable;->INSTANCE:Lio/reactivex/internal/disposables/EmptyDisposable;
invoke-interface {v5, v6}, Lio/reactivex/Observer;->onSubscribe(Lio/reactivex/disposables/Disposable;)V
:try_end_20
.catchall {:try_start_19 .. :try_end_20} :catchall_47
.line 155
nop
.line 157
:try_start_21
iget-object v5, p0, Lio/reactivex/observers/SafeObserver;->actual:Lio/reactivex/Observer;
new-instance v6, Lio/reactivex/exceptions/CompositeException;
new-array v7, v3, [Ljava/lang/Throwable;
aput-object p1, v7, v2
aput-object v1, v7, v0
invoke-direct {v6, v7}, Lio/reactivex/exceptions/CompositeException;-><init>([Ljava/lang/Throwable;)V
invoke-interface {v5, v6}, Lio/reactivex/Observer;->onError(Ljava/lang/Throwable;)V
:try_end_31
.catchall {:try_start_21 .. :try_end_31} :catchall_32
.line 162
goto :goto_46
.line 158
:catchall_32
move-exception v5
.line 159
.local v5, "e":Ljava/lang/Throwable;
invoke-static {v5}, Lio/reactivex/exceptions/Exceptions;->throwIfFatal(Ljava/lang/Throwable;)V
.line 161
new-instance v6, Lio/reactivex/exceptions/CompositeException;
new-array v4, v4, [Ljava/lang/Throwable;
aput-object p1, v4, v2
aput-object v1, v4, v0
aput-object v5, v4, v3
invoke-direct {v6, v4}, Lio/reactivex/exceptions/CompositeException;-><init>([Ljava/lang/Throwable;)V
invoke-static {v6}, Lio/reactivex/plugins/RxJavaPlugins;->onError(Ljava/lang/Throwable;)V
.line 163
.end local v5 # "e":Ljava/lang/Throwable;
:goto_46
return-void
.line 150
:catchall_47
move-exception v5
.line 151
.restart local v5 # "e":Ljava/lang/Throwable;
invoke-static {v5}, Lio/reactivex/exceptions/Exceptions;->throwIfFatal(Ljava/lang/Throwable;)V
.line 153
new-instance v6, Lio/reactivex/exceptions/CompositeException;
new-array v4, v4, [Ljava/lang/Throwable;
aput-object p1, v4, v2
aput-object v1, v4, v0
aput-object v5, v4, v3
invoke-direct {v6, v4}, Lio/reactivex/exceptions/CompositeException;-><init>([Ljava/lang/Throwable;)V
invoke-static {v6}, Lio/reactivex/plugins/RxJavaPlugins;->onError(Ljava/lang/Throwable;)V
.line 154
return-void
.line 166
.end local v1 # "npe":Ljava/lang/Throwable;
.end local v5 # "e":Ljava/lang/Throwable;
:cond_5c
if-nez p1, :cond_66
.line 167
new-instance v1, Ljava/lang/NullPointerException;
const-string v4, "onError called with null. Null values are generally not allowed in 2.x operators and sources."
invoke-direct {v1, v4}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
move-object p1, v1
.line 171
:cond_66
:try_start_66
iget-object v1, p0, Lio/reactivex/observers/SafeObserver;->actual:Lio/reactivex/Observer;
invoke-interface {v1, p1}, Lio/reactivex/Observer;->onError(Ljava/lang/Throwable;)V
:try_end_6b
.catchall {:try_start_66 .. :try_end_6b} :catchall_6c
.line 176
goto :goto_7e
.line 172
:catchall_6c
move-exception v1
.line 173
.local v1, "ex":Ljava/lang/Throwable;
invoke-static {v1}, Lio/reactivex/exceptions/Exceptions;->throwIfFatal(Ljava/lang/Throwable;)V
.line 175
new-instance v4, Lio/reactivex/exceptions/CompositeException;
new-array v3, v3, [Ljava/lang/Throwable;
aput-object p1, v3, v2
aput-object v1, v3, v0
invoke-direct {v4, v3}, Lio/reactivex/exceptions/CompositeException;-><init>([Ljava/lang/Throwable;)V
invoke-static {v4}, Lio/reactivex/plugins/RxJavaPlugins;->onError(Ljava/lang/Throwable;)V
.line 177
.end local v1 # "ex":Ljava/lang/Throwable;
:goto_7e
return-void
.end method
.method public onNext(Ljava/lang/Object;)V
.registers 8
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)V"
}
.end annotation
.line 79
.local p0, "this":Lio/reactivex/observers/SafeObserver;, "Lio/reactivex/observers/SafeObserver<TT;>;"
.local p1, "t":Ljava/lang/Object;, "TT;"
iget-boolean v0, p0, Lio/reactivex/observers/SafeObserver;->done:Z
if-eqz v0, :cond_5
.line 80
return-void
.line 82
:cond_5
iget-object v0, p0, Lio/reactivex/observers/SafeObserver;->s:Lio/reactivex/disposables/Disposable;
if-nez v0, :cond_d
.line 83
invoke-virtual {p0}, Lio/reactivex/observers/SafeObserver;->onNextNoSubscription()V
.line 84
return-void
.line 87
:cond_d
const/4 v0, 0x1
const/4 v1, 0x0
const/4 v2, 0x2
if-nez p1, :cond_36
.line 88
new-instance v3, Ljava/lang/NullPointerException;
const-string v4, "onNext called with null. Null values are generally not allowed in 2.x operators and sources."
invoke-direct {v3, v4}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
.line 90
.local v3, "ex":Ljava/lang/Throwable;
:try_start_19
iget-object v4, p0, Lio/reactivex/observers/SafeObserver;->s:Lio/reactivex/disposables/Disposable;
invoke-interface {v4}, Lio/reactivex/disposables/Disposable;->dispose()V
:try_end_1e
.catchall {:try_start_19 .. :try_end_1e} :catchall_23
.line 95
nop
.line 96
invoke-virtual {p0, v3}, Lio/reactivex/observers/SafeObserver;->onError(Ljava/lang/Throwable;)V
.line 97
return-void
.line 91
:catchall_23
move-exception v4
.line 92
.local v4, "e1":Ljava/lang/Throwable;
invoke-static {v4}, Lio/reactivex/exceptions/Exceptions;->throwIfFatal(Ljava/lang/Throwable;)V
.line 93
new-instance v5, Lio/reactivex/exceptions/CompositeException;
new-array v2, v2, [Ljava/lang/Throwable;
aput-object v3, v2, v1
aput-object v4, v2, v0
invoke-direct {v5, v2}, Lio/reactivex/exceptions/CompositeException;-><init>([Ljava/lang/Throwable;)V
invoke-virtual {p0, v5}, Lio/reactivex/observers/SafeObserver;->onError(Ljava/lang/Throwable;)V
.line 94
return-void
.line 101
.end local v3 # "ex":Ljava/lang/Throwable;
.end local v4 # "e1":Ljava/lang/Throwable;
:cond_36
:try_start_36
iget-object v3, p0, Lio/reactivex/observers/SafeObserver;->actual:Lio/reactivex/Observer;
invoke-interface {v3, p1}, Lio/reactivex/Observer;->onNext(Ljava/lang/Object;)V
:try_end_3b
.catchall {:try_start_36 .. :try_end_3b} :catchall_3c
.line 112
goto :goto_49
.line 102
:catchall_3c
move-exception v3
.line 103
.local v3, "e":Ljava/lang/Throwable;
invoke-static {v3}, Lio/reactivex/exceptions/Exceptions;->throwIfFatal(Ljava/lang/Throwable;)V
.line 105
:try_start_40
iget-object v4, p0, Lio/reactivex/observers/SafeObserver;->s:Lio/reactivex/disposables/Disposable;
invoke-interface {v4}, Lio/reactivex/disposables/Disposable;->dispose()V
:try_end_45
.catchall {:try_start_40 .. :try_end_45} :catchall_4a
.line 110
nop
.line 111
invoke-virtual {p0, v3}, Lio/reactivex/observers/SafeObserver;->onError(Ljava/lang/Throwable;)V
.line 113
.end local v3 # "e":Ljava/lang/Throwable;
:goto_49
return-void
.line 106
.restart local v3 # "e":Ljava/lang/Throwable;
:catchall_4a
move-exception v4
.line 107
.restart local v4 # "e1":Ljava/lang/Throwable;
invoke-static {v4}, Lio/reactivex/exceptions/Exceptions;->throwIfFatal(Ljava/lang/Throwable;)V
.line 108
new-instance v5, Lio/reactivex/exceptions/CompositeException;
new-array v2, v2, [Ljava/lang/Throwable;
aput-object v3, v2, v1
aput-object v4, v2, v0
invoke-direct {v5, v2}, Lio/reactivex/exceptions/CompositeException;-><init>([Ljava/lang/Throwable;)V
invoke-virtual {p0, v5}, Lio/reactivex/observers/SafeObserver;->onError(Ljava/lang/Throwable;)V
.line 109
return-void
.end method
.method onNextNoSubscription()V
.registers 7
.line 116
.local p0, "this":Lio/reactivex/observers/SafeObserver;, "Lio/reactivex/observers/SafeObserver<TT;>;"
const/4 v0, 0x1
iput-boolean v0, p0, Lio/reactivex/observers/SafeObserver;->done:Z
.line 118
new-instance v1, Ljava/lang/NullPointerException;
const-string v2, "Subscription not set!"
invoke-direct {v1, v2}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
.line 121
.local v1, "ex":Ljava/lang/Throwable;
const/4 v2, 0x0
const/4 v3, 0x2
:try_start_c
iget-object v4, p0, Lio/reactivex/observers/SafeObserver;->actual:Lio/reactivex/Observer;
sget-object v5, Lio/reactivex/internal/disposables/EmptyDisposable;->INSTANCE:Lio/reactivex/internal/disposables/EmptyDisposable;
invoke-interface {v4, v5}, Lio/reactivex/Observer;->onSubscribe(Lio/reactivex/disposables/Disposable;)V
:try_end_13
.catchall {:try_start_c .. :try_end_13} :catchall_2d
.line 127
nop
.line 129
:try_start_14
iget-object v4, p0, Lio/reactivex/observers/SafeObserver;->actual:Lio/reactivex/Observer;
invoke-interface {v4, v1}, Lio/reactivex/Observer;->onError(Ljava/lang/Throwable;)V
:try_end_19
.catchall {:try_start_14 .. :try_end_19} :catchall_1a
.line 134
goto :goto_2c
.line 130
:catchall_1a
move-exception v4
.line 131
.local v4, "e":Ljava/lang/Throwable;
invoke-static {v4}, Lio/reactivex/exceptions/Exceptions;->throwIfFatal(Ljava/lang/Throwable;)V
.line 133
new-instance v5, Lio/reactivex/exceptions/CompositeException;
new-array v3, v3, [Ljava/lang/Throwable;
aput-object v1, v3, v2
aput-object v4, v3, v0
invoke-direct {v5, v3}, Lio/reactivex/exceptions/CompositeException;-><init>([Ljava/lang/Throwable;)V
invoke-static {v5}, Lio/reactivex/plugins/RxJavaPlugins;->onError(Ljava/lang/Throwable;)V
.line 135
.end local v4 # "e":Ljava/lang/Throwable;
:goto_2c
return-void
.line 122
:catchall_2d
move-exception v4
.line 123
.restart local v4 # "e":Ljava/lang/Throwable;
invoke-static {v4}, Lio/reactivex/exceptions/Exceptions;->throwIfFatal(Ljava/lang/Throwable;)V
.line 125
new-instance v5, Lio/reactivex/exceptions/CompositeException;
new-array v3, v3, [Ljava/lang/Throwable;
aput-object v1, v3, v2
aput-object v4, v3, v0
invoke-direct {v5, v3}, Lio/reactivex/exceptions/CompositeException;-><init>([Ljava/lang/Throwable;)V
invoke-static {v5}, Lio/reactivex/plugins/RxJavaPlugins;->onError(Ljava/lang/Throwable;)V
.line 126
return-void
.end method
.method public onSubscribe(Lio/reactivex/disposables/Disposable;)V
.registers 8
.param p1, "s" # Lio/reactivex/disposables/Disposable;
.line 46
.local p0, "this":Lio/reactivex/observers/SafeObserver;, "Lio/reactivex/observers/SafeObserver<TT;>;"
iget-object v0, p0, Lio/reactivex/observers/SafeObserver;->s:Lio/reactivex/disposables/Disposable;
invoke-static {v0, p1}, Lio/reactivex/internal/disposables/DisposableHelper;->validate(Lio/reactivex/disposables/Disposable;Lio/reactivex/disposables/Disposable;)Z
move-result v0
if-eqz v0, :cond_34
.line 47
iput-object p1, p0, Lio/reactivex/observers/SafeObserver;->s:Lio/reactivex/disposables/Disposable;
.line 49
:try_start_a
iget-object v0, p0, Lio/reactivex/observers/SafeObserver;->actual:Lio/reactivex/Observer;
invoke-interface {v0, p0}, Lio/reactivex/Observer;->onSubscribe(Lio/reactivex/disposables/Disposable;)V
:try_end_f
.catchall {:try_start_a .. :try_end_f} :catchall_10
.line 62
goto :goto_34
.line 50
:catchall_10
move-exception v0
.line 51
.local v0, "e":Ljava/lang/Throwable;
invoke-static {v0}, Lio/reactivex/exceptions/Exceptions;->throwIfFatal(Ljava/lang/Throwable;)V
.line 52
const/4 v1, 0x1
iput-boolean v1, p0, Lio/reactivex/observers/SafeObserver;->done:Z
.line 55
:try_start_17
invoke-interface {p1}, Lio/reactivex/disposables/Disposable;->dispose()V
:try_end_1a
.catchall {:try_start_17 .. :try_end_1a} :catchall_1f
.line 60
nop
.line 61
invoke-static {v0}, Lio/reactivex/plugins/RxJavaPlugins;->onError(Ljava/lang/Throwable;)V
goto :goto_34
.line 56
:catchall_1f
move-exception v2
.line 57
.local v2, "e1":Ljava/lang/Throwable;
invoke-static {v2}, Lio/reactivex/exceptions/Exceptions;->throwIfFatal(Ljava/lang/Throwable;)V
.line 58
new-instance v3, Lio/reactivex/exceptions/CompositeException;
const/4 v4, 0x2
new-array v4, v4, [Ljava/lang/Throwable;
const/4 v5, 0x0
aput-object v0, v4, v5
aput-object v2, v4, v1
invoke-direct {v3, v4}, Lio/reactivex/exceptions/CompositeException;-><init>([Ljava/lang/Throwable;)V
invoke-static {v3}, Lio/reactivex/plugins/RxJavaPlugins;->onError(Ljava/lang/Throwable;)V
.line 59
return-void
.line 64
.end local v0 # "e":Ljava/lang/Throwable;
.end local v2 # "e1":Ljava/lang/Throwable;
:cond_34
:goto_34
return-void
.end method