SingleCreate$Emitter.smali
.class final Lio/reactivex/internal/operators/single/SingleCreate$Emitter;
.super Ljava/util/concurrent/atomic/AtomicReference;
.source "SingleCreate.java"
# interfaces
.implements Lio/reactivex/SingleEmitter;
.implements Lio/reactivex/disposables/Disposable;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lio/reactivex/internal/operators/single/SingleCreate;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x18
name = "Emitter"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Ljava/util/concurrent/atomic/AtomicReference<",
"Lio/reactivex/disposables/Disposable;",
">;",
"Lio/reactivex/SingleEmitter<",
"TT;>;",
"Lio/reactivex/disposables/Disposable;"
}
.end annotation
# static fields
.field private static final serialVersionUID:J = -0x223dd198233781a4L
# instance fields
.field final actual:Lio/reactivex/SingleObserver;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lio/reactivex/SingleObserver<",
"-TT;>;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method constructor <init>(Lio/reactivex/SingleObserver;)V
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lio/reactivex/SingleObserver<",
"-TT;>;)V"
}
.end annotation
.line 52
.local p0, "this":Lio/reactivex/internal/operators/single/SingleCreate$Emitter;, "Lio/reactivex/internal/operators/single/SingleCreate$Emitter<TT;>;"
.local p1, "actual":Lio/reactivex/SingleObserver;, "Lio/reactivex/SingleObserver<-TT;>;"
invoke-direct {p0}, Ljava/util/concurrent/atomic/AtomicReference;-><init>()V
.line 53
iput-object p1, p0, Lio/reactivex/internal/operators/single/SingleCreate$Emitter;->actual:Lio/reactivex/SingleObserver;
.line 54
return-void
.end method
# virtual methods
.method public dispose()V
.registers 1
.line 119
.local p0, "this":Lio/reactivex/internal/operators/single/SingleCreate$Emitter;, "Lio/reactivex/internal/operators/single/SingleCreate$Emitter<TT;>;"
invoke-static {p0}, Lio/reactivex/internal/disposables/DisposableHelper;->dispose(Ljava/util/concurrent/atomic/AtomicReference;)Z
.line 120
return-void
.end method
.method public isDisposed()Z
.registers 2
.line 124
.local p0, "this":Lio/reactivex/internal/operators/single/SingleCreate$Emitter;, "Lio/reactivex/internal/operators/single/SingleCreate$Emitter<TT;>;"
invoke-virtual {p0}, Lio/reactivex/internal/operators/single/SingleCreate$Emitter;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lio/reactivex/disposables/Disposable;
invoke-static {v0}, Lio/reactivex/internal/disposables/DisposableHelper;->isDisposed(Lio/reactivex/disposables/Disposable;)Z
move-result v0
return v0
.end method
.method public onError(Ljava/lang/Throwable;)V
.registers 3
.param p1, "t" # Ljava/lang/Throwable;
.line 81
.local p0, "this":Lio/reactivex/internal/operators/single/SingleCreate$Emitter;, "Lio/reactivex/internal/operators/single/SingleCreate$Emitter<TT;>;"
invoke-virtual {p0, p1}, Lio/reactivex/internal/operators/single/SingleCreate$Emitter;->tryOnError(Ljava/lang/Throwable;)Z
move-result v0
if-nez v0, :cond_9
.line 82
invoke-static {p1}, Lio/reactivex/plugins/RxJavaPlugins;->onError(Ljava/lang/Throwable;)V
.line 84
:cond_9
return-void
.end method
.method public onSuccess(Ljava/lang/Object;)V
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)V"
}
.end annotation
.line 61
.local p0, "this":Lio/reactivex/internal/operators/single/SingleCreate$Emitter;, "Lio/reactivex/internal/operators/single/SingleCreate$Emitter<TT;>;"
.local p1, "value":Ljava/lang/Object;, "TT;"
invoke-virtual {p0}, Lio/reactivex/internal/operators/single/SingleCreate$Emitter;->get()Ljava/lang/Object;
move-result-object v0
sget-object v1, Lio/reactivex/internal/disposables/DisposableHelper;->DISPOSED:Lio/reactivex/internal/disposables/DisposableHelper;
if-eq v0, v1, :cond_35
.line 62
sget-object v0, Lio/reactivex/internal/disposables/DisposableHelper;->DISPOSED:Lio/reactivex/internal/disposables/DisposableHelper;
invoke-virtual {p0, v0}, Lio/reactivex/internal/operators/single/SingleCreate$Emitter;->getAndSet(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lio/reactivex/disposables/Disposable;
.line 63
.local v0, "d":Lio/reactivex/disposables/Disposable;
sget-object v1, Lio/reactivex/internal/disposables/DisposableHelper;->DISPOSED:Lio/reactivex/internal/disposables/DisposableHelper;
if-eq v0, v1, :cond_35
.line 65
if-nez p1, :cond_23
.line 66
:try_start_16
iget-object v1, p0, Lio/reactivex/internal/operators/single/SingleCreate$Emitter;->actual:Lio/reactivex/SingleObserver;
new-instance v2, Ljava/lang/NullPointerException;
const-string v3, "onSuccess called with null. Null values are generally not allowed in 2.x operators and sources."
invoke-direct {v2, v3}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
invoke-interface {v1, v2}, Lio/reactivex/SingleObserver;->onError(Ljava/lang/Throwable;)V
goto :goto_28
.line 68
:cond_23
iget-object v1, p0, Lio/reactivex/internal/operators/single/SingleCreate$Emitter;->actual:Lio/reactivex/SingleObserver;
invoke-interface {v1, p1}, Lio/reactivex/SingleObserver;->onSuccess(Ljava/lang/Object;)V
:try_end_28
.catchall {:try_start_16 .. :try_end_28} :catchall_2e
.line 71
:goto_28
if-eqz v0, :cond_35
.line 72
invoke-interface {v0}, Lio/reactivex/disposables/Disposable;->dispose()V
goto :goto_35
.line 71
:catchall_2e
move-exception v1
if-eqz v0, :cond_34
.line 72
invoke-interface {v0}, Lio/reactivex/disposables/Disposable;->dispose()V
:cond_34
throw v1
.line 77
.end local v0 # "d":Lio/reactivex/disposables/Disposable;
:cond_35
:goto_35
return-void
.end method
.method public setCancellable(Lio/reactivex/functions/Cancellable;)V
.registers 3
.param p1, "c" # Lio/reactivex/functions/Cancellable;
.line 114
.local p0, "this":Lio/reactivex/internal/operators/single/SingleCreate$Emitter;, "Lio/reactivex/internal/operators/single/SingleCreate$Emitter<TT;>;"
new-instance v0, Lio/reactivex/internal/disposables/CancellableDisposable;
invoke-direct {v0, p1}, Lio/reactivex/internal/disposables/CancellableDisposable;-><init>(Lio/reactivex/functions/Cancellable;)V
invoke-virtual {p0, v0}, Lio/reactivex/internal/operators/single/SingleCreate$Emitter;->setDisposable(Lio/reactivex/disposables/Disposable;)V
.line 115
return-void
.end method
.method public setDisposable(Lio/reactivex/disposables/Disposable;)V
.registers 2
.param p1, "d" # Lio/reactivex/disposables/Disposable;
.line 109
.local p0, "this":Lio/reactivex/internal/operators/single/SingleCreate$Emitter;, "Lio/reactivex/internal/operators/single/SingleCreate$Emitter<TT;>;"
invoke-static {p0, p1}, Lio/reactivex/internal/disposables/DisposableHelper;->set(Ljava/util/concurrent/atomic/AtomicReference;Lio/reactivex/disposables/Disposable;)Z
.line 110
return-void
.end method
.method public tryOnError(Ljava/lang/Throwable;)Z
.registers 4
.param p1, "t" # Ljava/lang/Throwable;
.line 88
.local p0, "this":Lio/reactivex/internal/operators/single/SingleCreate$Emitter;, "Lio/reactivex/internal/operators/single/SingleCreate$Emitter<TT;>;"
if-nez p1, :cond_a
.line 89
new-instance v0, Ljava/lang/NullPointerException;
const-string v1, "onError called with null. Null values are generally not allowed in 2.x operators and sources."
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
move-object p1, v0
.line 91
:cond_a
invoke-virtual {p0}, Lio/reactivex/internal/operators/single/SingleCreate$Emitter;->get()Ljava/lang/Object;
move-result-object v0
sget-object v1, Lio/reactivex/internal/disposables/DisposableHelper;->DISPOSED:Lio/reactivex/internal/disposables/DisposableHelper;
if-eq v0, v1, :cond_31
.line 92
sget-object v0, Lio/reactivex/internal/disposables/DisposableHelper;->DISPOSED:Lio/reactivex/internal/disposables/DisposableHelper;
invoke-virtual {p0, v0}, Lio/reactivex/internal/operators/single/SingleCreate$Emitter;->getAndSet(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lio/reactivex/disposables/Disposable;
.line 93
.local v0, "d":Lio/reactivex/disposables/Disposable;
sget-object v1, Lio/reactivex/internal/disposables/DisposableHelper;->DISPOSED:Lio/reactivex/internal/disposables/DisposableHelper;
if-eq v0, v1, :cond_31
.line 95
:try_start_1e
iget-object v1, p0, Lio/reactivex/internal/operators/single/SingleCreate$Emitter;->actual:Lio/reactivex/SingleObserver;
invoke-interface {v1, p1}, Lio/reactivex/SingleObserver;->onError(Ljava/lang/Throwable;)V
:try_end_23
.catchall {:try_start_1e .. :try_end_23} :catchall_2a
.line 97
if-eqz v0, :cond_28
.line 98
invoke-interface {v0}, Lio/reactivex/disposables/Disposable;->dispose()V
.line 101
:cond_28
const/4 v1, 0x1
return v1
.line 97
:catchall_2a
move-exception v1
if-eqz v0, :cond_30
.line 98
invoke-interface {v0}, Lio/reactivex/disposables/Disposable;->dispose()V
:cond_30
throw v1
.line 104
.end local v0 # "d":Lio/reactivex/disposables/Disposable;
:cond_31
const/4 v0, 0x0
return v0
.end method