SingleTimeout$TimeoutSingleSubscriber.smali
.class final Lrx/internal/operators/SingleTimeout$TimeoutSingleSubscriber;
.super Lrx/SingleSubscriber;
.source "SingleTimeout.java"
# interfaces
.implements Lrx/functions/Action0;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lrx/internal/operators/SingleTimeout;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x18
name = "TimeoutSingleSubscriber"
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lrx/internal/operators/SingleTimeout$TimeoutSingleSubscriber$OtherSubscriber;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Lrx/SingleSubscriber<",
"TT;>;",
"Lrx/functions/Action0;"
}
.end annotation
# instance fields
.field final actual:Lrx/SingleSubscriber;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lrx/SingleSubscriber<",
"-TT;>;"
}
.end annotation
.end field
.field final once:Ljava/util/concurrent/atomic/AtomicBoolean;
.field final other:Lrx/Single$OnSubscribe;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lrx/Single$OnSubscribe<",
"+TT;>;"
}
.end annotation
.end field
# direct methods
.method constructor <init>(Lrx/SingleSubscriber;Lrx/Single$OnSubscribe;)V
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lrx/SingleSubscriber<",
"-TT;>;",
"Lrx/Single$OnSubscribe<",
"+TT;>;)V"
}
.end annotation
.line 1
invoke-direct {p0}, Lrx/SingleSubscriber;-><init>()V
.line 2
iput-object p1, p0, Lrx/internal/operators/SingleTimeout$TimeoutSingleSubscriber;->actual:Lrx/SingleSubscriber;
.line 3
iput-object p2, p0, Lrx/internal/operators/SingleTimeout$TimeoutSingleSubscriber;->other:Lrx/Single$OnSubscribe;
.line 4
new-instance p1, Ljava/util/concurrent/atomic/AtomicBoolean;
invoke-direct {p1}, Ljava/util/concurrent/atomic/AtomicBoolean;-><init>()V
iput-object p1, p0, Lrx/internal/operators/SingleTimeout$TimeoutSingleSubscriber;->once:Ljava/util/concurrent/atomic/AtomicBoolean;
return-void
.end method
# virtual methods
.method public call()V
.registers 4
.line 1
iget-object v0, p0, Lrx/internal/operators/SingleTimeout$TimeoutSingleSubscriber;->once:Ljava/util/concurrent/atomic/AtomicBoolean;
const/4 v1, 0x0
const/4 v2, 0x1
invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicBoolean;->compareAndSet(ZZ)Z
move-result v0
if-eqz v0, :cond_31
.line 2
:try_start_a
iget-object v0, p0, Lrx/internal/operators/SingleTimeout$TimeoutSingleSubscriber;->other:Lrx/Single$OnSubscribe;
if-nez v0, :cond_19
.line 3
iget-object v0, p0, Lrx/internal/operators/SingleTimeout$TimeoutSingleSubscriber;->actual:Lrx/SingleSubscriber;
new-instance v1, Ljava/util/concurrent/TimeoutException;
invoke-direct {v1}, Ljava/util/concurrent/TimeoutException;-><init>()V
invoke-virtual {v0, v1}, Lrx/SingleSubscriber;->onError(Ljava/lang/Throwable;)V
goto :goto_28
.line 4
:cond_19
new-instance v1, Lrx/internal/operators/SingleTimeout$TimeoutSingleSubscriber$OtherSubscriber;
iget-object v2, p0, Lrx/internal/operators/SingleTimeout$TimeoutSingleSubscriber;->actual:Lrx/SingleSubscriber;
invoke-direct {v1, v2}, Lrx/internal/operators/SingleTimeout$TimeoutSingleSubscriber$OtherSubscriber;-><init>(Lrx/SingleSubscriber;)V
.line 5
iget-object v2, p0, Lrx/internal/operators/SingleTimeout$TimeoutSingleSubscriber;->actual:Lrx/SingleSubscriber;
invoke-virtual {v2, v1}, Lrx/SingleSubscriber;->add(Lrx/Subscription;)V
.line 6
invoke-interface {v0, v1}, Lrx/functions/Action1;->call(Ljava/lang/Object;)V
:try_end_28
.catchall {:try_start_a .. :try_end_28} :catchall_2c
.line 7
:goto_28
invoke-virtual {p0}, Lrx/SingleSubscriber;->unsubscribe()V
goto :goto_31
:catchall_2c
move-exception v0
invoke-virtual {p0}, Lrx/SingleSubscriber;->unsubscribe()V
throw v0
:cond_31
:goto_31
return-void
.end method
.method public onError(Ljava/lang/Throwable;)V
.registers 5
.line 1
iget-object v0, p0, Lrx/internal/operators/SingleTimeout$TimeoutSingleSubscriber;->once:Ljava/util/concurrent/atomic/AtomicBoolean;
const/4 v1, 0x0
const/4 v2, 0x1
invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicBoolean;->compareAndSet(ZZ)Z
move-result v0
if-eqz v0, :cond_18
.line 2
:try_start_a
iget-object v0, p0, Lrx/internal/operators/SingleTimeout$TimeoutSingleSubscriber;->actual:Lrx/SingleSubscriber;
invoke-virtual {v0, p1}, Lrx/SingleSubscriber;->onError(Ljava/lang/Throwable;)V
:try_end_f
.catchall {:try_start_a .. :try_end_f} :catchall_13
.line 3
invoke-virtual {p0}, Lrx/SingleSubscriber;->unsubscribe()V
goto :goto_1b
:catchall_13
move-exception p1
invoke-virtual {p0}, Lrx/SingleSubscriber;->unsubscribe()V
throw p1
.line 4
:cond_18
invoke-static {p1}, Lrx/plugins/RxJavaHooks;->onError(Ljava/lang/Throwable;)V
:goto_1b
return-void
.end method
.method public onSuccess(Ljava/lang/Object;)V
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)V"
}
.end annotation
.line 1
iget-object v0, p0, Lrx/internal/operators/SingleTimeout$TimeoutSingleSubscriber;->once:Ljava/util/concurrent/atomic/AtomicBoolean;
const/4 v1, 0x0
const/4 v2, 0x1
invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicBoolean;->compareAndSet(ZZ)Z
move-result v0
if-eqz v0, :cond_18
.line 2
:try_start_a
iget-object v0, p0, Lrx/internal/operators/SingleTimeout$TimeoutSingleSubscriber;->actual:Lrx/SingleSubscriber;
invoke-virtual {v0, p1}, Lrx/SingleSubscriber;->onSuccess(Ljava/lang/Object;)V
:try_end_f
.catchall {:try_start_a .. :try_end_f} :catchall_13
.line 3
invoke-virtual {p0}, Lrx/SingleSubscriber;->unsubscribe()V
goto :goto_18
:catchall_13
move-exception p1
invoke-virtual {p0}, Lrx/SingleSubscriber;->unsubscribe()V
throw p1
:cond_18
:goto_18
return-void
.end method