.class public abstract Lio/reactivex/internal/subscribers/BasicFuseableSubscriber; .super Ljava/lang/Object; .source "BasicFuseableSubscriber.java" # interfaces .implements Lorg/reactivestreams/Subscriber; .implements Lio/reactivex/internal/fuseable/QueueSubscription; # annotations .annotation system Ldalvik/annotation/Signature; value = { "", "Ljava/lang/Object;", "Lorg/reactivestreams/Subscriber<", "TT;>;", "Lio/reactivex/internal/fuseable/QueueSubscription<", "TR;>;" } .end annotation # instance fields .field protected final actual:Lorg/reactivestreams/Subscriber; .annotation system Ldalvik/annotation/Signature; value = { "Lorg/reactivestreams/Subscriber<", "-TR;>;" } .end annotation .end field .field protected done:Z .field protected qs:Lio/reactivex/internal/fuseable/QueueSubscription; .annotation system Ldalvik/annotation/Signature; value = { "Lio/reactivex/internal/fuseable/QueueSubscription<", "TT;>;" } .end annotation .end field .field protected s:Lorg/reactivestreams/Subscription; .field protected sourceMode:I # direct methods .method public constructor (Lorg/reactivestreams/Subscriber;)V .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lorg/reactivestreams/Subscriber<", "-TR;>;)V" } .end annotation .line 49 invoke-direct {p0}, Ljava/lang/Object;->()V .line 50 iput-object p1, p0, Lio/reactivex/internal/subscribers/BasicFuseableSubscriber;->actual:Lorg/reactivestreams/Subscriber; return-void .end method # virtual methods .method protected afterDownstream()V .locals 0 return-void .end method .method protected beforeDownstream()Z .locals 1 const/4 v0, 0x1 return v0 .end method .method public cancel()V .locals 1 .line 157 iget-object v0, p0, Lio/reactivex/internal/subscribers/BasicFuseableSubscriber;->s:Lorg/reactivestreams/Subscription; invoke-interface {v0}, Lorg/reactivestreams/Subscription;->cancel()V return-void .end method .method public clear()V .locals 1 .line 167 iget-object v0, p0, Lio/reactivex/internal/subscribers/BasicFuseableSubscriber;->qs:Lio/reactivex/internal/fuseable/QueueSubscription; invoke-interface {v0}, Lio/reactivex/internal/fuseable/QueueSubscription;->clear()V return-void .end method .method protected final fail(Ljava/lang/Throwable;)V .locals 1 .line 108 invoke-static {p1}, Lio/reactivex/exceptions/Exceptions;->throwIfFatal(Ljava/lang/Throwable;)V .line 109 iget-object v0, p0, Lio/reactivex/internal/subscribers/BasicFuseableSubscriber;->s:Lorg/reactivestreams/Subscription; invoke-interface {v0}, Lorg/reactivestreams/Subscription;->cancel()V .line 110 invoke-virtual {p0, p1}, Lio/reactivex/internal/subscribers/BasicFuseableSubscriber;->onError(Ljava/lang/Throwable;)V return-void .end method .method public isEmpty()Z .locals 1 .line 162 iget-object v0, p0, Lio/reactivex/internal/subscribers/BasicFuseableSubscriber;->qs:Lio/reactivex/internal/fuseable/QueueSubscription; invoke-interface {v0}, Lio/reactivex/internal/fuseable/QueueSubscription;->isEmpty()Z move-result v0 return v0 .end method .method public final offer(Ljava/lang/Object;)Z .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(TR;)Z" } .end annotation .line 176 new-instance p1, Ljava/lang/UnsupportedOperationException; const-string v0, "Should not be called!" invoke-direct {p1, v0}, Ljava/lang/UnsupportedOperationException;->(Ljava/lang/String;)V throw p1 .end method .method public final offer(Ljava/lang/Object;Ljava/lang/Object;)Z .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "(TR;TR;)Z" } .end annotation .line 181 new-instance p1, Ljava/lang/UnsupportedOperationException; const-string p2, "Should not be called!" invoke-direct {p1, p2}, Ljava/lang/UnsupportedOperationException;->(Ljava/lang/String;)V throw p1 .end method .method public onComplete()V .locals 1 .line 115 iget-boolean v0, p0, Lio/reactivex/internal/subscribers/BasicFuseableSubscriber;->done:Z if-eqz v0, :cond_0 return-void :cond_0 const/4 v0, 0x1 .line 118 iput-boolean v0, p0, Lio/reactivex/internal/subscribers/BasicFuseableSubscriber;->done:Z .line 119 iget-object v0, p0, Lio/reactivex/internal/subscribers/BasicFuseableSubscriber;->actual:Lorg/reactivestreams/Subscriber; invoke-interface {v0}, Lorg/reactivestreams/Subscriber;->onComplete()V return-void .end method .method public onError(Ljava/lang/Throwable;)V .locals 1 .line 95 iget-boolean v0, p0, Lio/reactivex/internal/subscribers/BasicFuseableSubscriber;->done:Z if-eqz v0, :cond_0 .line 96 invoke-static {p1}, Lio/reactivex/plugins/RxJavaPlugins;->onError(Ljava/lang/Throwable;)V return-void :cond_0 const/4 v0, 0x1 .line 99 iput-boolean v0, p0, Lio/reactivex/internal/subscribers/BasicFuseableSubscriber;->done:Z .line 100 iget-object v0, p0, Lio/reactivex/internal/subscribers/BasicFuseableSubscriber;->actual:Lorg/reactivestreams/Subscriber; invoke-interface {v0, p1}, Lorg/reactivestreams/Subscriber;->onError(Ljava/lang/Throwable;)V return-void .end method .method public final onSubscribe(Lorg/reactivestreams/Subscription;)V .locals 1 .line 57 iget-object v0, p0, Lio/reactivex/internal/subscribers/BasicFuseableSubscriber;->s:Lorg/reactivestreams/Subscription; invoke-static {v0, p1}, Lio/reactivex/internal/subscriptions/SubscriptionHelper;->validate(Lorg/reactivestreams/Subscription;Lorg/reactivestreams/Subscription;)Z move-result v0 if-eqz v0, :cond_1 .line 59 iput-object p1, p0, Lio/reactivex/internal/subscribers/BasicFuseableSubscriber;->s:Lorg/reactivestreams/Subscription; .line 60 instance-of v0, p1, Lio/reactivex/internal/fuseable/QueueSubscription; if-eqz v0, :cond_0 .line 61 check-cast p1, Lio/reactivex/internal/fuseable/QueueSubscription; iput-object p1, p0, Lio/reactivex/internal/subscribers/BasicFuseableSubscriber;->qs:Lio/reactivex/internal/fuseable/QueueSubscription; .line 64 :cond_0 invoke-virtual {p0}, Lio/reactivex/internal/subscribers/BasicFuseableSubscriber;->beforeDownstream()Z move-result p1 if-eqz p1, :cond_1 .line 66 iget-object p1, p0, Lio/reactivex/internal/subscribers/BasicFuseableSubscriber;->actual:Lorg/reactivestreams/Subscriber; invoke-interface {p1, p0}, Lorg/reactivestreams/Subscriber;->onSubscribe(Lorg/reactivestreams/Subscription;)V .line 68 invoke-virtual {p0}, Lio/reactivex/internal/subscribers/BasicFuseableSubscriber;->afterDownstream()V :cond_1 return-void .end method .method public request(J)V .locals 1 .line 152 iget-object v0, p0, Lio/reactivex/internal/subscribers/BasicFuseableSubscriber;->s:Lorg/reactivestreams/Subscription; invoke-interface {v0, p1, p2}, Lorg/reactivestreams/Subscription;->request(J)V return-void .end method .method protected final transitiveBoundaryFusion(I)I .locals 2 .line 133 iget-object v0, p0, Lio/reactivex/internal/subscribers/BasicFuseableSubscriber;->qs:Lio/reactivex/internal/fuseable/QueueSubscription; if-eqz v0, :cond_1 and-int/lit8 v1, p1, 0x4 if-nez v1, :cond_1 .line 136 invoke-interface {v0, p1}, Lio/reactivex/internal/fuseable/QueueSubscription;->requestFusion(I)I move-result p1 if-eqz p1, :cond_0 .line 138 iput p1, p0, Lio/reactivex/internal/subscribers/BasicFuseableSubscriber;->sourceMode:I :cond_0 return p1 :cond_1 const/4 p1, 0x0 return p1 .end method