Files
jimu-decompiled/sources/io/reactivex/internal/subscribers/DeferredScalarSubscriber.java
2025-05-13 19:24:51 +02:00

49 lines
1.6 KiB
Java

package io.reactivex.internal.subscribers;
import io.reactivex.FlowableSubscriber;
import io.reactivex.internal.subscriptions.DeferredScalarSubscription;
import io.reactivex.internal.subscriptions.SubscriptionHelper;
import org.reactivestreams.Subscriber;
import org.reactivestreams.Subscription;
/* loaded from: classes2.dex */
public abstract class DeferredScalarSubscriber<T, R> extends DeferredScalarSubscription<R> implements FlowableSubscriber<T> {
private static final long serialVersionUID = 2984505488220891551L;
protected boolean hasValue;
protected Subscription upstream;
public DeferredScalarSubscriber(Subscriber<? super R> subscriber) {
super(subscriber);
}
@Override // io.reactivex.internal.subscriptions.DeferredScalarSubscription, org.reactivestreams.Subscription
public void cancel() {
super.cancel();
this.upstream.cancel();
}
@Override // org.reactivestreams.Subscriber
public void onComplete() {
if (this.hasValue) {
complete(this.value);
} else {
this.downstream.onComplete();
}
}
@Override // org.reactivestreams.Subscriber
public void onError(Throwable th) {
this.value = null;
this.downstream.onError(th);
}
@Override // org.reactivestreams.Subscriber
public void onSubscribe(Subscription subscription) {
if (SubscriptionHelper.validate(this.upstream, subscription)) {
this.upstream = subscription;
this.downstream.onSubscribe(this);
subscription.request(Long.MAX_VALUE);
}
}
}