ce.smali
.class public final Lio/reactivex/internal/operators/observable/ce;
.super Lio/reactivex/k;
.source "ObservableFromFuture.java"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Lio/reactivex/k",
"<TT;>;"
}
.end annotation
# instance fields
.field private future:Ljava/util/concurrent/Future;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/Future",
"<+TT;>;"
}
.end annotation
.end field
.field private timeout:J
.field private unit:Ljava/util/concurrent/TimeUnit;
# direct methods
.method public constructor <init>(Ljava/util/concurrent/Future;JLjava/util/concurrent/TimeUnit;)V
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/concurrent/Future",
"<+TT;>;J",
"Ljava/util/concurrent/TimeUnit;",
")V"
}
.end annotation
.prologue
.line 28
invoke-direct {p0}, Lio/reactivex/k;-><init>()V
.line 29
iput-object p1, p0, Lio/reactivex/internal/operators/observable/ce;->future:Ljava/util/concurrent/Future;
.line 30
iput-wide p2, p0, Lio/reactivex/internal/operators/observable/ce;->timeout:J
.line 31
iput-object p4, p0, Lio/reactivex/internal/operators/observable/ce;->unit:Ljava/util/concurrent/TimeUnit;
.line 32
return-void
.end method
# virtual methods
.method public final subscribeActual(Lio/reactivex/r;)V
.registers 7
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lio/reactivex/r",
"<-TT;>;)V"
}
.end annotation
.prologue
.line 36
new-instance v1, Lio/reactivex/internal/observers/DeferredScalarDisposable;
invoke-direct {v1, p1}, Lio/reactivex/internal/observers/DeferredScalarDisposable;-><init>(Lio/reactivex/r;)V
.line 37
invoke-interface {p1, v1}, Lio/reactivex/r;->onSubscribe(Lio/reactivex/disposables/b;)V
.line 38
invoke-virtual {v1}, Lio/reactivex/internal/observers/DeferredScalarDisposable;->isDisposed()Z
move-result v0
if-nez v0, :cond_25
.line 41
:try_start_e
iget-object v0, p0, Lio/reactivex/internal/operators/observable/ce;->unit:Ljava/util/concurrent/TimeUnit;
if-eqz v0, :cond_26
iget-object v0, p0, Lio/reactivex/internal/operators/observable/ce;->future:Ljava/util/concurrent/Future;
iget-wide v2, p0, Lio/reactivex/internal/operators/observable/ce;->timeout:J
iget-object v4, p0, Lio/reactivex/internal/operators/observable/ce;->unit:Ljava/util/concurrent/TimeUnit;
invoke-interface {v0, v2, v3, v4}, Ljava/util/concurrent/Future;->get(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
move-result-object v0
:goto_1c
const-string v2, "Future returned null"
invoke-static {v0, v2}, Lio/reactivex/internal/functions/aj;->requireNonNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
:try_end_21
.catch Ljava/lang/Throwable; {:try_start_e .. :try_end_21} :catch_2d
move-result-object v0
.line 49
invoke-virtual {v1, v0}, Lio/reactivex/internal/observers/DeferredScalarDisposable;->complete(Ljava/lang/Object;)V
.line 51
:cond_25
:goto_25
return-void
.line 41
:cond_26
:try_start_26
iget-object v0, p0, Lio/reactivex/internal/operators/observable/ce;->future:Ljava/util/concurrent/Future;
invoke-interface {v0}, Ljava/util/concurrent/Future;->get()Ljava/lang/Object;
:try_end_2b
.catch Ljava/lang/Throwable; {:try_start_26 .. :try_end_2b} :catch_2d
move-result-object v0
goto :goto_1c
.line 42
:catch_2d
move-exception v0
.line 43
invoke-static {v0}, Lio/reactivex/exceptions/d;->throwIfFatal(Ljava/lang/Throwable;)V
.line 44
invoke-virtual {v1}, Lio/reactivex/internal/observers/DeferredScalarDisposable;->isDisposed()Z
move-result v1
if-nez v1, :cond_25
.line 45
invoke-interface {p1, v0}, Lio/reactivex/r;->onError(Ljava/lang/Throwable;)V
goto :goto_25
.end method