TestSubject.smali
.class public final Lrx/subjects/TestSubject;
.super Lrx/subjects/Subject;
.source "TestSubject.java"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Lrx/subjects/Subject<",
"TT;TT;>;"
}
.end annotation
# instance fields
.field private final innerScheduler:Lrx/Scheduler$Worker;
.field private final state:Lrx/subjects/SubjectSubscriptionManager;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lrx/subjects/SubjectSubscriptionManager<",
"TT;>;"
}
.end annotation
.end field
# direct methods
.method protected constructor <init>(Lrx/Observable$OnSubscribe;Lrx/subjects/SubjectSubscriptionManager;Lrx/schedulers/TestScheduler;)V
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lrx/Observable$OnSubscribe<",
"TT;>;",
"Lrx/subjects/SubjectSubscriptionManager<",
"TT;>;",
"Lrx/schedulers/TestScheduler;",
")V"
}
.end annotation
.line 1
invoke-direct {p0, p1}, Lrx/subjects/Subject;-><init>(Lrx/Observable$OnSubscribe;)V
.line 2
iput-object p2, p0, Lrx/subjects/TestSubject;->state:Lrx/subjects/SubjectSubscriptionManager;
.line 3
invoke-virtual {p3}, Lrx/schedulers/TestScheduler;->createWorker()Lrx/Scheduler$Worker;
move-result-object p1
iput-object p1, p0, Lrx/subjects/TestSubject;->innerScheduler:Lrx/Scheduler$Worker;
return-void
.end method
.method public static create(Lrx/schedulers/TestScheduler;)Lrx/subjects/TestSubject;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Lrx/schedulers/TestScheduler;",
")",
"Lrx/subjects/TestSubject<",
"TT;>;"
}
.end annotation
.line 1
new-instance v0, Lrx/subjects/SubjectSubscriptionManager;
invoke-direct {v0}, Lrx/subjects/SubjectSubscriptionManager;-><init>()V
.line 2
new-instance v1, Lrx/subjects/TestSubject$1;
invoke-direct {v1, v0}, Lrx/subjects/TestSubject$1;-><init>(Lrx/subjects/SubjectSubscriptionManager;)V
iput-object v1, v0, Lrx/subjects/SubjectSubscriptionManager;->onAdded:Lrx/functions/Action1;
.line 3
iget-object v1, v0, Lrx/subjects/SubjectSubscriptionManager;->onAdded:Lrx/functions/Action1;
iput-object v1, v0, Lrx/subjects/SubjectSubscriptionManager;->onTerminated:Lrx/functions/Action1;
.line 4
new-instance v1, Lrx/subjects/TestSubject;
invoke-direct {v1, v0, v0, p0}, Lrx/subjects/TestSubject;-><init>(Lrx/Observable$OnSubscribe;Lrx/subjects/SubjectSubscriptionManager;Lrx/schedulers/TestScheduler;)V
return-object v1
.end method
# virtual methods
.method public hasObservers()Z
.registers 2
.line 1
iget-object v0, p0, Lrx/subjects/TestSubject;->state:Lrx/subjects/SubjectSubscriptionManager;
invoke-virtual {v0}, Lrx/subjects/SubjectSubscriptionManager;->observers()[Lrx/subjects/SubjectSubscriptionManager$SubjectObserver;
move-result-object v0
array-length v0, v0
if-lez v0, :cond_b
const/4 v0, 0x1
goto :goto_c
:cond_b
const/4 v0, 0x0
:goto_c
return v0
.end method
.method internalOnCompleted()V
.registers 5
.line 1
iget-object v0, p0, Lrx/subjects/TestSubject;->state:Lrx/subjects/SubjectSubscriptionManager;
iget-boolean v1, v0, Lrx/subjects/SubjectSubscriptionManager;->active:Z
if-eqz v1, :cond_1a
.line 2
invoke-static {}, Lrx/internal/operators/NotificationLite;->completed()Ljava/lang/Object;
move-result-object v1
invoke-virtual {v0, v1}, Lrx/subjects/SubjectSubscriptionManager;->terminate(Ljava/lang/Object;)[Lrx/subjects/SubjectSubscriptionManager$SubjectObserver;
move-result-object v0
array-length v1, v0
const/4 v2, 0x0
:goto_10
if-ge v2, v1, :cond_1a
aget-object v3, v0, v2
.line 3
invoke-virtual {v3}, Lrx/subjects/SubjectSubscriptionManager$SubjectObserver;->onCompleted()V
add-int/lit8 v2, v2, 0x1
goto :goto_10
:cond_1a
return-void
.end method
.method internalOnError(Ljava/lang/Throwable;)V
.registers 6
.line 1
iget-object v0, p0, Lrx/subjects/TestSubject;->state:Lrx/subjects/SubjectSubscriptionManager;
iget-boolean v1, v0, Lrx/subjects/SubjectSubscriptionManager;->active:Z
if-eqz v1, :cond_1a
.line 2
invoke-static {p1}, Lrx/internal/operators/NotificationLite;->error(Ljava/lang/Throwable;)Ljava/lang/Object;
move-result-object v1
invoke-virtual {v0, v1}, Lrx/subjects/SubjectSubscriptionManager;->terminate(Ljava/lang/Object;)[Lrx/subjects/SubjectSubscriptionManager$SubjectObserver;
move-result-object v0
array-length v1, v0
const/4 v2, 0x0
:goto_10
if-ge v2, v1, :cond_1a
aget-object v3, v0, v2
.line 3
invoke-virtual {v3, p1}, Lrx/subjects/SubjectSubscriptionManager$SubjectObserver;->onError(Ljava/lang/Throwable;)V
add-int/lit8 v2, v2, 0x1
goto :goto_10
:cond_1a
return-void
.end method
.method internalOnNext(Ljava/lang/Object;)V
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)V"
}
.end annotation
.line 1
iget-object v0, p0, Lrx/subjects/TestSubject;->state:Lrx/subjects/SubjectSubscriptionManager;
invoke-virtual {v0}, Lrx/subjects/SubjectSubscriptionManager;->observers()[Lrx/subjects/SubjectSubscriptionManager$SubjectObserver;
move-result-object v0
array-length v1, v0
const/4 v2, 0x0
:goto_8
if-ge v2, v1, :cond_12
aget-object v3, v0, v2
.line 2
invoke-interface {v3, p1}, Lrx/Observer;->onNext(Ljava/lang/Object;)V
add-int/lit8 v2, v2, 0x1
goto :goto_8
:cond_12
return-void
.end method
.method public onCompleted()V
.registers 3
const-wide/16 v0, 0x0
.line 1
invoke-virtual {p0, v0, v1}, Lrx/subjects/TestSubject;->onCompleted(J)V
return-void
.end method
.method public onCompleted(J)V
.registers 6
.line 2
iget-object v0, p0, Lrx/subjects/TestSubject;->innerScheduler:Lrx/Scheduler$Worker;
new-instance v1, Lrx/subjects/TestSubject$2;
invoke-direct {v1, p0}, Lrx/subjects/TestSubject$2;-><init>(Lrx/subjects/TestSubject;)V
sget-object v2, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invoke-virtual {v0, v1, p1, p2, v2}, Lrx/Scheduler$Worker;->schedule(Lrx/functions/Action0;JLjava/util/concurrent/TimeUnit;)Lrx/Subscription;
return-void
.end method
.method public onError(Ljava/lang/Throwable;)V
.registers 4
const-wide/16 v0, 0x0
.line 1
invoke-virtual {p0, p1, v0, v1}, Lrx/subjects/TestSubject;->onError(Ljava/lang/Throwable;J)V
return-void
.end method
.method public onError(Ljava/lang/Throwable;J)V
.registers 6
.line 2
iget-object v0, p0, Lrx/subjects/TestSubject;->innerScheduler:Lrx/Scheduler$Worker;
new-instance v1, Lrx/subjects/TestSubject$3;
invoke-direct {v1, p0, p1}, Lrx/subjects/TestSubject$3;-><init>(Lrx/subjects/TestSubject;Ljava/lang/Throwable;)V
sget-object p1, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invoke-virtual {v0, v1, p2, p3, p1}, Lrx/Scheduler$Worker;->schedule(Lrx/functions/Action0;JLjava/util/concurrent/TimeUnit;)Lrx/Subscription;
return-void
.end method
.method public onNext(Ljava/lang/Object;)V
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)V"
}
.end annotation
const-wide/16 v0, 0x0
.line 1
invoke-virtual {p0, p1, v0, v1}, Lrx/subjects/TestSubject;->onNext(Ljava/lang/Object;J)V
return-void
.end method
.method public onNext(Ljava/lang/Object;J)V
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;J)V"
}
.end annotation
.line 2
iget-object v0, p0, Lrx/subjects/TestSubject;->innerScheduler:Lrx/Scheduler$Worker;
new-instance v1, Lrx/subjects/TestSubject$4;
invoke-direct {v1, p0, p1}, Lrx/subjects/TestSubject$4;-><init>(Lrx/subjects/TestSubject;Ljava/lang/Object;)V
sget-object p1, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invoke-virtual {v0, v1, p2, p3, p1}, Lrx/Scheduler$Worker;->schedule(Lrx/functions/Action0;JLjava/util/concurrent/TimeUnit;)Lrx/Subscription;
return-void
.end method