bj.smali
.class final Lio/reactivex/internal/operators/observable/bj;
.super Lio/reactivex/internal/observers/a;
.source "ObservableDistinctUntilChanged.java"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
"K:",
"Ljava/lang/Object;",
">",
"Lio/reactivex/internal/observers/a",
"<TT;TT;>;"
}
.end annotation
# instance fields
.field private bPX:Ljava/lang/Object;
.annotation system Ldalvik/annotation/Signature;
value = {
"TK;"
}
.end annotation
.end field
.field private comparer:Lio/reactivex/b/d;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lio/reactivex/b/d",
"<-TK;-TK;>;"
}
.end annotation
.end field
.field private hasValue:Z
.field private keySelector:Lio/reactivex/b/h;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lio/reactivex/b/h",
"<-TT;TK;>;"
}
.end annotation
.end field
# direct methods
.method constructor <init>(Lio/reactivex/r;Lio/reactivex/b/h;Lio/reactivex/b/d;)V
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lio/reactivex/r",
"<-TT;>;",
"Lio/reactivex/b/h",
"<-TT;TK;>;",
"Lio/reactivex/b/d",
"<-TK;-TK;>;)V"
}
.end annotation
.prologue
.line 51
invoke-direct {p0, p1}, Lio/reactivex/internal/observers/a;-><init>(Lio/reactivex/r;)V
.line 52
iput-object p2, p0, Lio/reactivex/internal/operators/observable/bj;->keySelector:Lio/reactivex/b/h;
.line 53
iput-object p3, p0, Lio/reactivex/internal/operators/observable/bj;->comparer:Lio/reactivex/b/d;
.line 54
return-void
.end method
# virtual methods
.method public final onNext(Ljava/lang/Object;)V
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)V"
}
.end annotation
.prologue
.line 58
iget-boolean v0, p0, Lio/reactivex/internal/operators/observable/bj;->done:Z
if-eqz v0, :cond_5
.line 86
:cond_4
:goto_4
return-void
.line 61
:cond_5
iget v0, p0, Lio/reactivex/internal/operators/observable/bj;->sourceMode:I
if-eqz v0, :cond_f
.line 62
iget-object v0, p0, Lio/reactivex/internal/operators/observable/bj;->actual:Lio/reactivex/r;
invoke-interface {v0, p1}, Lio/reactivex/r;->onNext(Ljava/lang/Object;)V
goto :goto_4
.line 69
:cond_f
:try_start_f
iget-object v0, p0, Lio/reactivex/internal/operators/observable/bj;->keySelector:Lio/reactivex/b/h;
invoke-interface {v0, p1}, Lio/reactivex/b/h;->apply(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
.line 70
iget-boolean v1, p0, Lio/reactivex/internal/operators/observable/bj;->hasValue:Z
if-eqz v1, :cond_2b
.line 71
iget-object v1, p0, Lio/reactivex/internal/operators/observable/bj;->comparer:Lio/reactivex/b/d;
iget-object v2, p0, Lio/reactivex/internal/operators/observable/bj;->bPX:Ljava/lang/Object;
invoke-interface {v1, v2, v0}, Lio/reactivex/b/d;->test(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v1
.line 72
iput-object v0, p0, Lio/reactivex/internal/operators/observable/bj;->bPX:Ljava/lang/Object;
:try_end_23
.catch Ljava/lang/Throwable; {:try_start_f .. :try_end_23} :catch_31
.line 73
if-nez v1, :cond_4
.line 85
:goto_25
iget-object v0, p0, Lio/reactivex/internal/operators/observable/bj;->actual:Lio/reactivex/r;
invoke-interface {v0, p1}, Lio/reactivex/r;->onNext(Ljava/lang/Object;)V
goto :goto_4
.line 77
:cond_2b
const/4 v1, 0x1
:try_start_2c
iput-boolean v1, p0, Lio/reactivex/internal/operators/observable/bj;->hasValue:Z
.line 78
iput-object v0, p0, Lio/reactivex/internal/operators/observable/bj;->bPX:Ljava/lang/Object;
:try_end_30
.catch Ljava/lang/Throwable; {:try_start_2c .. :try_end_30} :catch_31
goto :goto_25
.line 80
:catch_31
move-exception v0
.line 81
invoke-virtual {p0, v0}, Lio/reactivex/internal/operators/observable/bj;->k(Ljava/lang/Throwable;)V
goto :goto_4
.end method
.method public final poll()Ljava/lang/Object;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"()TT;"
}
.end annotation
.prologue
.line 97
:goto_0
iget-object v0, p0, Lio/reactivex/internal/operators/observable/bj;->bOT:Lio/reactivex/internal/a/b;
invoke-interface {v0}, Lio/reactivex/internal/a/b;->poll()Ljava/lang/Object;
move-result-object v0
.line 98
if-nez v0, :cond_a
.line 99
const/4 v0, 0x0
.line 110
:goto_9
return-object v0
.line 101
:cond_a
iget-object v1, p0, Lio/reactivex/internal/operators/observable/bj;->keySelector:Lio/reactivex/b/h;
invoke-interface {v1, v0}, Lio/reactivex/b/h;->apply(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
.line 102
iget-boolean v2, p0, Lio/reactivex/internal/operators/observable/bj;->hasValue:Z
if-nez v2, :cond_1a
.line 103
const/4 v2, 0x1
iput-boolean v2, p0, Lio/reactivex/internal/operators/observable/bj;->hasValue:Z
.line 104
iput-object v1, p0, Lio/reactivex/internal/operators/observable/bj;->bPX:Ljava/lang/Object;
goto :goto_9
.line 108
:cond_1a
iget-object v2, p0, Lio/reactivex/internal/operators/observable/bj;->comparer:Lio/reactivex/b/d;
iget-object v3, p0, Lio/reactivex/internal/operators/observable/bj;->bPX:Ljava/lang/Object;
invoke-interface {v2, v3, v1}, Lio/reactivex/b/d;->test(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v2
if-nez v2, :cond_27
.line 109
iput-object v1, p0, Lio/reactivex/internal/operators/observable/bj;->bPX:Ljava/lang/Object;
goto :goto_9
.line 112
:cond_27
iput-object v1, p0, Lio/reactivex/internal/operators/observable/bj;->bPX:Ljava/lang/Object;
goto :goto_0
.end method
.method public final requestFusion(I)I
.registers 3
.prologue
.line 90
invoke-virtual {p0, p1}, Lio/reactivex/internal/operators/observable/bj;->fe(I)I
move-result v0
return v0
.end method