12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025 |
- .class public Lio/reactivex/observers/TestObserver;
- .super Lio/reactivex/observers/BaseTestConsumer;
- .source "TestObserver.java"
- # interfaces
- .implements Lio/reactivex/Observer;
- .implements Lio/reactivex/disposables/Disposable;
- .implements Lio/reactivex/MaybeObserver;
- .implements Lio/reactivex/SingleObserver;
- .implements Lio/reactivex/CompletableObserver;
- # annotations
- .annotation system Ldalvik/annotation/MemberClasses;
- value = {
- Lio/reactivex/observers/TestObserver$EmptyObserver;
- }
- .end annotation
- .annotation system Ldalvik/annotation/Signature;
- value = {
- "<T:",
- "Ljava/lang/Object;",
- ">",
- "Lio/reactivex/observers/BaseTestConsumer<",
- "TT;",
- "Lio/reactivex/observers/TestObserver<",
- "TT;>;>;",
- "Lio/reactivex/Observer<",
- "TT;>;",
- "Lio/reactivex/disposables/Disposable;",
- "Lio/reactivex/MaybeObserver<",
- "TT;>;",
- "Lio/reactivex/SingleObserver<",
- "TT;>;",
- "Lio/reactivex/CompletableObserver;"
- }
- .end annotation
- # instance fields
- .field private final actual:Lio/reactivex/Observer;
- .annotation system Ldalvik/annotation/Signature;
- value = {
- "Lio/reactivex/Observer<",
- "-TT;>;"
- }
- .end annotation
- .end field
- .field private qs:Lio/reactivex/internal/fuseable/QueueDisposable;
- .annotation system Ldalvik/annotation/Signature;
- value = {
- "Lio/reactivex/internal/fuseable/QueueDisposable<",
- "TT;>;"
- }
- .end annotation
- .end field
- .field private final subscription:Ljava/util/concurrent/atomic/AtomicReference;
- .annotation system Ldalvik/annotation/Signature;
- value = {
- "Ljava/util/concurrent/atomic/AtomicReference<",
- "Lio/reactivex/disposables/Disposable;",
- ">;"
- }
- .end annotation
- .end field
- # direct methods
- .method public constructor <init>()V
- .locals 1
- .line 68
- sget-object v0, Lio/reactivex/observers/TestObserver$EmptyObserver;->INSTANCE:Lio/reactivex/observers/TestObserver$EmptyObserver;
- invoke-direct {p0, v0}, Lio/reactivex/observers/TestObserver;-><init>(Lio/reactivex/Observer;)V
- return-void
- .end method
- .method public constructor <init>(Lio/reactivex/Observer;)V
- .locals 1
- .annotation system Ldalvik/annotation/Signature;
- value = {
- "(",
- "Lio/reactivex/Observer<",
- "-TT;>;)V"
- }
- .end annotation
- .line 75
- invoke-direct {p0}, Lio/reactivex/observers/BaseTestConsumer;-><init>()V
- .line 41
- new-instance v0, Ljava/util/concurrent/atomic/AtomicReference;
- invoke-direct {v0}, Ljava/util/concurrent/atomic/AtomicReference;-><init>()V
- iput-object v0, p0, Lio/reactivex/observers/TestObserver;->subscription:Ljava/util/concurrent/atomic/AtomicReference;
- .line 76
- iput-object p1, p0, Lio/reactivex/observers/TestObserver;->actual:Lio/reactivex/Observer;
- return-void
- .end method
- .method public static create()Lio/reactivex/observers/TestObserver;
- .locals 1
- .annotation system Ldalvik/annotation/Signature;
- value = {
- "<T:",
- "Ljava/lang/Object;",
- ">()",
- "Lio/reactivex/observers/TestObserver<",
- "TT;>;"
- }
- .end annotation
- .line 51
- new-instance v0, Lio/reactivex/observers/TestObserver;
- invoke-direct {v0}, Lio/reactivex/observers/TestObserver;-><init>()V
- return-object v0
- .end method
- .method public static create(Lio/reactivex/Observer;)Lio/reactivex/observers/TestObserver;
- .locals 1
- .annotation system Ldalvik/annotation/Signature;
- value = {
- "<T:",
- "Ljava/lang/Object;",
- ">(",
- "Lio/reactivex/Observer<",
- "-TT;>;)",
- "Lio/reactivex/observers/TestObserver<",
- "TT;>;"
- }
- .end annotation
- .line 61
- new-instance v0, Lio/reactivex/observers/TestObserver;
- invoke-direct {v0, p0}, Lio/reactivex/observers/TestObserver;-><init>(Lio/reactivex/Observer;)V
- return-object v0
- .end method
- .method static fusionModeToString(I)Ljava/lang/String;
- .locals 2
- if-eqz p0, :cond_2
- const/4 v0, 0x1
- if-eq p0, v0, :cond_1
- const/4 v0, 0x2
- if-eq p0, v0, :cond_0
- .line 314
- new-instance v0, Ljava/lang/StringBuilder;
- invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
- const-string v1, "Unknown("
- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
- invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
- const-string p0, ")"
- invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
- invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
- move-result-object p0
- return-object p0
- :cond_0
- const-string p0, "ASYNC"
- return-object p0
- :cond_1
- const-string p0, "SYNC"
- return-object p0
- :cond_2
- const-string p0, "NONE"
- return-object p0
- .end method
- # virtual methods
- .method final assertFuseable()Lio/reactivex/observers/TestObserver;
- .locals 2
- .annotation system Ldalvik/annotation/Signature;
- value = {
- "()",
- "Lio/reactivex/observers/TestObserver<",
- "TT;>;"
- }
- .end annotation
- .line 325
- iget-object v0, p0, Lio/reactivex/observers/TestObserver;->qs:Lio/reactivex/internal/fuseable/QueueDisposable;
- if-eqz v0, :cond_0
- return-object p0
- .line 326
- :cond_0
- new-instance v0, Ljava/lang/AssertionError;
- const-string v1, "Upstream is not fuseable."
- invoke-direct {v0, v1}, Ljava/lang/AssertionError;-><init>(Ljava/lang/Object;)V
- throw v0
- .end method
- .method final assertFusionMode(I)Lio/reactivex/observers/TestObserver;
- .locals 4
- .annotation system Ldalvik/annotation/Signature;
- value = {
- "(I)",
- "Lio/reactivex/observers/TestObserver<",
- "TT;>;"
- }
- .end annotation
- .line 297
- iget v0, p0, Lio/reactivex/observers/TestObserver;->establishedFusionMode:I
- if-eq v0, p1, :cond_1
- .line 299
- iget-object v1, p0, Lio/reactivex/observers/TestObserver;->qs:Lio/reactivex/internal/fuseable/QueueDisposable;
- if-eqz v1, :cond_0
- .line 300
- new-instance v1, Ljava/lang/AssertionError;
- new-instance v2, Ljava/lang/StringBuilder;
- invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
- const-string v3, "Fusion mode different. Expected: "
- invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
- invoke-static {p1}, Lio/reactivex/observers/TestObserver;->fusionModeToString(I)Ljava/lang/String;
- move-result-object p1
- invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
- const-string p1, ", actual: "
- invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
- invoke-static {v0}, Lio/reactivex/observers/TestObserver;->fusionModeToString(I)Ljava/lang/String;
- move-result-object p1
- invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
- invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
- move-result-object p1
- invoke-direct {v1, p1}, Ljava/lang/AssertionError;-><init>(Ljava/lang/Object;)V
- throw v1
- :cond_0
- const-string p1, "Upstream is not fuseable"
- .line 303
- invoke-virtual {p0, p1}, Lio/reactivex/observers/TestObserver;->fail(Ljava/lang/String;)Ljava/lang/AssertionError;
- move-result-object p1
- throw p1
- :cond_1
- return-object p0
- .end method
- .method final assertNotFuseable()Lio/reactivex/observers/TestObserver;
- .locals 2
- .annotation system Ldalvik/annotation/Signature;
- value = {
- "()",
- "Lio/reactivex/observers/TestObserver<",
- "TT;>;"
- }
- .end annotation
- .line 338
- iget-object v0, p0, Lio/reactivex/observers/TestObserver;->qs:Lio/reactivex/internal/fuseable/QueueDisposable;
- if-nez v0, :cond_0
- return-object p0
- .line 339
- :cond_0
- new-instance v0, Ljava/lang/AssertionError;
- const-string v1, "Upstream is fuseable."
- invoke-direct {v0, v1}, Ljava/lang/AssertionError;-><init>(Ljava/lang/Object;)V
- throw v0
- .end method
- .method public bridge synthetic assertNotSubscribed()Lio/reactivex/observers/BaseTestConsumer;
- .locals 1
- .line 34
- invoke-virtual {p0}, Lio/reactivex/observers/TestObserver;->assertNotSubscribed()Lio/reactivex/observers/TestObserver;
- move-result-object v0
- return-object v0
- .end method
- .method public final assertNotSubscribed()Lio/reactivex/observers/TestObserver;
- .locals 1
- .annotation system Ldalvik/annotation/Signature;
- value = {
- "()",
- "Lio/reactivex/observers/TestObserver<",
- "TT;>;"
- }
- .end annotation
- .line 254
- iget-object v0, p0, Lio/reactivex/observers/TestObserver;->subscription:Ljava/util/concurrent/atomic/AtomicReference;
- invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
- move-result-object v0
- if-nez v0, :cond_1
- .line 257
- iget-object v0, p0, Lio/reactivex/observers/TestObserver;->errors:Ljava/util/List;
- invoke-interface {v0}, Ljava/util/List;->isEmpty()Z
- move-result v0
- if-eqz v0, :cond_0
- return-object p0
- :cond_0
- const-string v0, "Not subscribed but errors found"
- .line 258
- invoke-virtual {p0, v0}, Lio/reactivex/observers/TestObserver;->fail(Ljava/lang/String;)Ljava/lang/AssertionError;
- move-result-object v0
- throw v0
- :cond_1
- const-string v0, "Subscribed!"
- .line 255
- invoke-virtual {p0, v0}, Lio/reactivex/observers/TestObserver;->fail(Ljava/lang/String;)Ljava/lang/AssertionError;
- move-result-object v0
- throw v0
- .end method
- .method public final assertOf(Lio/reactivex/functions/Consumer;)Lio/reactivex/observers/TestObserver;
- .locals 0
- .annotation system Ldalvik/annotation/Signature;
- value = {
- "(",
- "Lio/reactivex/functions/Consumer<",
- "-",
- "Lio/reactivex/observers/TestObserver<",
- "TT;>;>;)",
- "Lio/reactivex/observers/TestObserver<",
- "TT;>;"
- }
- .end annotation
- .line 270
- :try_start_0
- invoke-interface {p1, p0}, Lio/reactivex/functions/Consumer;->accept(Ljava/lang/Object;)V
- :try_end_0
- .catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_0} :catch_0
- return-object p0
- :catch_0
- move-exception p1
- .line 272
- invoke-static {p1}, Lio/reactivex/internal/util/ExceptionHelper;->wrapOrThrow(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
- move-result-object p1
- throw p1
- .end method
- .method public bridge synthetic assertSubscribed()Lio/reactivex/observers/BaseTestConsumer;
- .locals 1
- .line 34
- invoke-virtual {p0}, Lio/reactivex/observers/TestObserver;->assertSubscribed()Lio/reactivex/observers/TestObserver;
- move-result-object v0
- return-object v0
- .end method
- .method public final assertSubscribed()Lio/reactivex/observers/TestObserver;
- .locals 1
- .annotation system Ldalvik/annotation/Signature;
- value = {
- "()",
- "Lio/reactivex/observers/TestObserver<",
- "TT;>;"
- }
- .end annotation
- .line 242
- iget-object v0, p0, Lio/reactivex/observers/TestObserver;->subscription:Ljava/util/concurrent/atomic/AtomicReference;
- invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
- move-result-object v0
- if-eqz v0, :cond_0
- return-object p0
- :cond_0
- const-string v0, "Not subscribed!"
- .line 243
- invoke-virtual {p0, v0}, Lio/reactivex/observers/TestObserver;->fail(Ljava/lang/String;)Ljava/lang/AssertionError;
- move-result-object v0
- throw v0
- .end method
- .method public final cancel()V
- .locals 0
- .line 214
- invoke-virtual {p0}, Lio/reactivex/observers/TestObserver;->dispose()V
- return-void
- .end method
- .method public final dispose()V
- .locals 1
- .line 219
- iget-object v0, p0, Lio/reactivex/observers/TestObserver;->subscription:Ljava/util/concurrent/atomic/AtomicReference;
- invoke-static {v0}, Lio/reactivex/internal/disposables/DisposableHelper;->dispose(Ljava/util/concurrent/atomic/AtomicReference;)Z
- return-void
- .end method
- .method public final hasSubscription()Z
- .locals 1
- .line 233
- iget-object v0, p0, Lio/reactivex/observers/TestObserver;->subscription:Ljava/util/concurrent/atomic/AtomicReference;
- invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
- move-result-object v0
- if-eqz v0, :cond_0
- const/4 v0, 0x1
- goto :goto_0
- :cond_0
- const/4 v0, 0x0
- :goto_0
- return v0
- .end method
- .method public final isCancelled()Z
- .locals 1
- .line 205
- invoke-virtual {p0}, Lio/reactivex/observers/TestObserver;->isDisposed()Z
- move-result v0
- return v0
- .end method
- .method public final isDisposed()Z
- .locals 1
- .line 224
- iget-object v0, p0, Lio/reactivex/observers/TestObserver;->subscription:Ljava/util/concurrent/atomic/AtomicReference;
- invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->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 onComplete()V
- .locals 4
- .line 183
- iget-boolean v0, p0, Lio/reactivex/observers/TestObserver;->checkSubscriptionOnce:Z
- if-nez v0, :cond_0
- const/4 v0, 0x1
- .line 184
- iput-boolean v0, p0, Lio/reactivex/observers/TestObserver;->checkSubscriptionOnce:Z
- .line 185
- iget-object v0, p0, Lio/reactivex/observers/TestObserver;->subscription:Ljava/util/concurrent/atomic/AtomicReference;
- invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
- move-result-object v0
- if-nez v0, :cond_0
- .line 186
- iget-object v0, p0, Lio/reactivex/observers/TestObserver;->errors:Ljava/util/List;
- new-instance v1, Ljava/lang/IllegalStateException;
- const-string v2, "onSubscribe not called in proper order"
- invoke-direct {v1, v2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
- invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
- .line 191
- :cond_0
- :try_start_0
- invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
- move-result-object v0
- iput-object v0, p0, Lio/reactivex/observers/TestObserver;->lastThread:Ljava/lang/Thread;
- .line 192
- iget-wide v0, p0, Lio/reactivex/observers/TestObserver;->completions:J
- const-wide/16 v2, 0x1
- add-long/2addr v0, v2
- iput-wide v0, p0, Lio/reactivex/observers/TestObserver;->completions:J
- .line 194
- iget-object v0, p0, Lio/reactivex/observers/TestObserver;->actual:Lio/reactivex/Observer;
- invoke-interface {v0}, Lio/reactivex/Observer;->onComplete()V
- :try_end_0
- .catchall {:try_start_0 .. :try_end_0} :catchall_0
- .line 196
- iget-object v0, p0, Lio/reactivex/observers/TestObserver;->done:Ljava/util/concurrent/CountDownLatch;
- invoke-virtual {v0}, Ljava/util/concurrent/CountDownLatch;->countDown()V
- return-void
- :catchall_0
- move-exception v0
- iget-object v1, p0, Lio/reactivex/observers/TestObserver;->done:Ljava/util/concurrent/CountDownLatch;
- invoke-virtual {v1}, Ljava/util/concurrent/CountDownLatch;->countDown()V
- throw v0
- .end method
- .method public onError(Ljava/lang/Throwable;)V
- .locals 3
- .line 160
- iget-boolean v0, p0, Lio/reactivex/observers/TestObserver;->checkSubscriptionOnce:Z
- if-nez v0, :cond_0
- const/4 v0, 0x1
- .line 161
- iput-boolean v0, p0, Lio/reactivex/observers/TestObserver;->checkSubscriptionOnce:Z
- .line 162
- iget-object v0, p0, Lio/reactivex/observers/TestObserver;->subscription:Ljava/util/concurrent/atomic/AtomicReference;
- invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
- move-result-object v0
- if-nez v0, :cond_0
- .line 163
- iget-object v0, p0, Lio/reactivex/observers/TestObserver;->errors:Ljava/util/List;
- new-instance v1, Ljava/lang/IllegalStateException;
- const-string v2, "onSubscribe not called in proper order"
- invoke-direct {v1, v2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
- invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
- .line 168
- :cond_0
- :try_start_0
- invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
- move-result-object v0
- iput-object v0, p0, Lio/reactivex/observers/TestObserver;->lastThread:Ljava/lang/Thread;
- if-nez p1, :cond_1
- .line 170
- iget-object v0, p0, Lio/reactivex/observers/TestObserver;->errors:Ljava/util/List;
- new-instance v1, Ljava/lang/NullPointerException;
- const-string v2, "onError received a null Throwable"
- invoke-direct {v1, v2}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
- invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
- goto :goto_0
- .line 172
- :cond_1
- iget-object v0, p0, Lio/reactivex/observers/TestObserver;->errors:Ljava/util/List;
- invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
- .line 175
- :goto_0
- iget-object v0, p0, Lio/reactivex/observers/TestObserver;->actual:Lio/reactivex/Observer;
- invoke-interface {v0, p1}, Lio/reactivex/Observer;->onError(Ljava/lang/Throwable;)V
- :try_end_0
- .catchall {:try_start_0 .. :try_end_0} :catchall_0
- .line 177
- iget-object p1, p0, Lio/reactivex/observers/TestObserver;->done:Ljava/util/concurrent/CountDownLatch;
- invoke-virtual {p1}, Ljava/util/concurrent/CountDownLatch;->countDown()V
- return-void
- :catchall_0
- move-exception p1
- iget-object v0, p0, Lio/reactivex/observers/TestObserver;->done:Ljava/util/concurrent/CountDownLatch;
- invoke-virtual {v0}, Ljava/util/concurrent/CountDownLatch;->countDown()V
- throw p1
- .end method
- .method public onNext(Ljava/lang/Object;)V
- .locals 3
- .annotation system Ldalvik/annotation/Signature;
- value = {
- "(TT;)V"
- }
- .end annotation
- .line 128
- iget-boolean v0, p0, Lio/reactivex/observers/TestObserver;->checkSubscriptionOnce:Z
- if-nez v0, :cond_0
- const/4 v0, 0x1
- .line 129
- iput-boolean v0, p0, Lio/reactivex/observers/TestObserver;->checkSubscriptionOnce:Z
- .line 130
- iget-object v0, p0, Lio/reactivex/observers/TestObserver;->subscription:Ljava/util/concurrent/atomic/AtomicReference;
- invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
- move-result-object v0
- if-nez v0, :cond_0
- .line 131
- iget-object v0, p0, Lio/reactivex/observers/TestObserver;->errors:Ljava/util/List;
- new-instance v1, Ljava/lang/IllegalStateException;
- const-string v2, "onSubscribe not called in proper order"
- invoke-direct {v1, v2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
- invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
- .line 135
- :cond_0
- invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
- move-result-object v0
- iput-object v0, p0, Lio/reactivex/observers/TestObserver;->lastThread:Ljava/lang/Thread;
- .line 137
- iget v0, p0, Lio/reactivex/observers/TestObserver;->establishedFusionMode:I
- const/4 v1, 0x2
- if-ne v0, v1, :cond_2
- .line 139
- :goto_0
- :try_start_0
- iget-object p1, p0, Lio/reactivex/observers/TestObserver;->qs:Lio/reactivex/internal/fuseable/QueueDisposable;
- invoke-interface {p1}, Lio/reactivex/internal/fuseable/QueueDisposable;->poll()Ljava/lang/Object;
- move-result-object p1
- if-eqz p1, :cond_1
- .line 140
- iget-object v0, p0, Lio/reactivex/observers/TestObserver;->values:Ljava/util/List;
- invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
- :try_end_0
- .catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_0} :catch_0
- goto :goto_0
- :catch_0
- move-exception p1
- .line 144
- iget-object v0, p0, Lio/reactivex/observers/TestObserver;->errors:Ljava/util/List;
- invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
- :cond_1
- return-void
- .line 149
- :cond_2
- iget-object v0, p0, Lio/reactivex/observers/TestObserver;->values:Ljava/util/List;
- invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
- if-nez p1, :cond_3
- .line 152
- iget-object v0, p0, Lio/reactivex/observers/TestObserver;->errors:Ljava/util/List;
- new-instance v1, Ljava/lang/NullPointerException;
- const-string v2, "onNext received a null value"
- invoke-direct {v1, v2}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
- invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
- .line 155
- :cond_3
- iget-object v0, p0, Lio/reactivex/observers/TestObserver;->actual:Lio/reactivex/Observer;
- invoke-interface {v0, p1}, Lio/reactivex/Observer;->onNext(Ljava/lang/Object;)V
- return-void
- .end method
- .method public onSubscribe(Lio/reactivex/disposables/Disposable;)V
- .locals 4
- .line 82
- invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
- move-result-object v0
- iput-object v0, p0, Lio/reactivex/observers/TestObserver;->lastThread:Ljava/lang/Thread;
- if-nez p1, :cond_0
- .line 85
- iget-object p1, p0, Lio/reactivex/observers/TestObserver;->errors:Ljava/util/List;
- new-instance v0, Ljava/lang/NullPointerException;
- const-string v1, "onSubscribe received a null Subscription"
- invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
- invoke-interface {p1, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
- return-void
- .line 88
- :cond_0
- iget-object v0, p0, Lio/reactivex/observers/TestObserver;->subscription:Ljava/util/concurrent/atomic/AtomicReference;
- const/4 v1, 0x0
- invoke-virtual {v0, v1, p1}, Ljava/util/concurrent/atomic/AtomicReference;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;)Z
- move-result v0
- if-nez v0, :cond_2
- .line 89
- invoke-interface {p1}, Lio/reactivex/disposables/Disposable;->dispose()V
- .line 90
- iget-object v0, p0, Lio/reactivex/observers/TestObserver;->subscription:Ljava/util/concurrent/atomic/AtomicReference;
- invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->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_1
- .line 91
- iget-object v0, p0, Lio/reactivex/observers/TestObserver;->errors:Ljava/util/List;
- new-instance v1, Ljava/lang/IllegalStateException;
- new-instance v2, Ljava/lang/StringBuilder;
- invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
- const-string v3, "onSubscribe received multiple subscriptions: "
- invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
- invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
- invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
- move-result-object p1
- invoke-direct {v1, p1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
- invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
- :cond_1
- return-void
- .line 96
- :cond_2
- iget v0, p0, Lio/reactivex/observers/TestObserver;->initialFusionMode:I
- if-eqz v0, :cond_4
- .line 97
- instance-of v0, p1, Lio/reactivex/internal/fuseable/QueueDisposable;
- if-eqz v0, :cond_4
- .line 98
- move-object v0, p1
- check-cast v0, Lio/reactivex/internal/fuseable/QueueDisposable;
- iput-object v0, p0, Lio/reactivex/observers/TestObserver;->qs:Lio/reactivex/internal/fuseable/QueueDisposable;
- .line 100
- iget-object v0, p0, Lio/reactivex/observers/TestObserver;->qs:Lio/reactivex/internal/fuseable/QueueDisposable;
- iget v1, p0, Lio/reactivex/observers/TestObserver;->initialFusionMode:I
- invoke-interface {v0, v1}, Lio/reactivex/internal/fuseable/QueueDisposable;->requestFusion(I)I
- move-result v0
- .line 101
- iput v0, p0, Lio/reactivex/observers/TestObserver;->establishedFusionMode:I
- const/4 v1, 0x1
- if-ne v0, v1, :cond_4
- .line 104
- iput-boolean v1, p0, Lio/reactivex/observers/TestObserver;->checkSubscriptionOnce:Z
- .line 105
- invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
- move-result-object p1
- iput-object p1, p0, Lio/reactivex/observers/TestObserver;->lastThread:Ljava/lang/Thread;
- .line 108
- :goto_0
- :try_start_0
- iget-object p1, p0, Lio/reactivex/observers/TestObserver;->qs:Lio/reactivex/internal/fuseable/QueueDisposable;
- invoke-interface {p1}, Lio/reactivex/internal/fuseable/QueueDisposable;->poll()Ljava/lang/Object;
- move-result-object p1
- if-eqz p1, :cond_3
- .line 109
- iget-object v0, p0, Lio/reactivex/observers/TestObserver;->values:Ljava/util/List;
- invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
- goto :goto_0
- .line 111
- :cond_3
- iget-wide v0, p0, Lio/reactivex/observers/TestObserver;->completions:J
- const-wide/16 v2, 0x1
- add-long/2addr v0, v2
- iput-wide v0, p0, Lio/reactivex/observers/TestObserver;->completions:J
- .line 113
- iget-object p1, p0, Lio/reactivex/observers/TestObserver;->subscription:Ljava/util/concurrent/atomic/AtomicReference;
- sget-object v0, Lio/reactivex/internal/disposables/DisposableHelper;->DISPOSED:Lio/reactivex/internal/disposables/DisposableHelper;
- invoke-virtual {p1, v0}, Ljava/util/concurrent/atomic/AtomicReference;->lazySet(Ljava/lang/Object;)V
- :try_end_0
- .catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_0} :catch_0
- goto :goto_1
- :catch_0
- move-exception p1
- .line 116
- iget-object v0, p0, Lio/reactivex/observers/TestObserver;->errors:Ljava/util/List;
- invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
- :goto_1
- return-void
- .line 123
- :cond_4
- iget-object v0, p0, Lio/reactivex/observers/TestObserver;->actual:Lio/reactivex/Observer;
- invoke-interface {v0, p1}, Lio/reactivex/Observer;->onSubscribe(Lio/reactivex/disposables/Disposable;)V
- return-void
- .end method
- .method public onSuccess(Ljava/lang/Object;)V
- .locals 0
- .annotation system Ldalvik/annotation/Signature;
- value = {
- "(TT;)V"
- }
- .end annotation
- .line 346
- invoke-virtual {p0, p1}, Lio/reactivex/observers/TestObserver;->onNext(Ljava/lang/Object;)V
- .line 347
- invoke-virtual {p0}, Lio/reactivex/observers/TestObserver;->onComplete()V
- return-void
- .end method
- .method final setInitialFusionMode(I)Lio/reactivex/observers/TestObserver;
- .locals 0
- .annotation system Ldalvik/annotation/Signature;
- value = {
- "(I)",
- "Lio/reactivex/observers/TestObserver<",
- "TT;>;"
- }
- .end annotation
- .line 285
- iput p1, p0, Lio/reactivex/observers/TestObserver;->initialFusionMode:I
- return-object p0
- .end method
|