alexandroid/decompiled/jadx/sources/io/reactivex/rxjava3/internal/subscriptions/DeferredScalarSubscription.java
KaKi87 a47fad5135 📦 Add decompiled Alexa 2.2.730155.0 (jadx, apktool, Hermes strings)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-07 00:04:16 +01:00

130 lines
3.6 KiB
Java

package io.reactivex.rxjava3.internal.subscriptions;
import io.reactivex.rxjava3.annotations.Nullable;
import org.reactivestreams.Subscriber;
/* compiled from: r8-map-id-b9432e0f623b4a4bff4ba50a8a24c4aafad2c1e11092747b9fb5e6a22af5a940 */
/* loaded from: classes10.dex */
public class DeferredScalarSubscription<T> extends BasicIntQueueSubscription<T> {
static final int CANCELLED = 4;
static final int FUSED_CONSUMED = 32;
static final int FUSED_EMPTY = 8;
static final int FUSED_READY = 16;
static final int HAS_REQUEST_HAS_VALUE = 3;
static final int HAS_REQUEST_NO_VALUE = 2;
static final int NO_REQUEST_HAS_VALUE = 1;
static final int NO_REQUEST_NO_VALUE = 0;
private static final long serialVersionUID = -2151279923272604993L;
protected final Subscriber<? super T> downstream;
protected T value;
public DeferredScalarSubscription(Subscriber<? super T> subscriber) {
this.downstream = subscriber;
}
public void cancel() {
set(4);
this.value = null;
}
@Override // io.reactivex.rxjava3.operators.SimpleQueue
public final void clear() {
lazySet(32);
this.value = null;
}
public final void complete(T t) {
int i = get();
while (i != 8) {
if ((i & (-3)) != 0) {
return;
}
if (i == 2) {
lazySet(3);
Subscriber<? super T> subscriber = this.downstream;
subscriber.onNext(t);
if (get() != 4) {
subscriber.onComplete();
return;
}
return;
}
this.value = t;
if (compareAndSet(0, 1)) {
return;
}
i = get();
if (i == 4) {
this.value = null;
return;
}
}
this.value = t;
lazySet(16);
Subscriber<? super T> subscriber2 = this.downstream;
subscriber2.onNext(null);
if (get() != 4) {
subscriber2.onComplete();
}
}
public final boolean isCancelled() {
return get() == 4;
}
@Override // io.reactivex.rxjava3.operators.SimpleQueue
public final boolean isEmpty() {
return get() != 16;
}
@Override // io.reactivex.rxjava3.operators.SimpleQueue
@Nullable
public final T poll() {
if (get() != 16) {
return null;
}
lazySet(32);
T t = this.value;
this.value = null;
return t;
}
@Override // org.reactivestreams.Subscription
public final void request(long j) {
T t;
if (SubscriptionHelper.validate(j)) {
do {
int i = get();
if ((i & (-2)) != 0) {
return;
}
if (i == 1) {
if (!compareAndSet(1, 3) || (t = this.value) == null) {
return;
}
this.value = null;
Subscriber<? super T> subscriber = this.downstream;
subscriber.onNext(t);
if (get() != 4) {
subscriber.onComplete();
return;
}
return;
}
} while (!compareAndSet(0, 2));
}
}
@Override // io.reactivex.rxjava3.operators.QueueFuseable
public final int requestFusion(int i) {
if ((i & 2) == 0) {
return 0;
}
lazySet(8);
return 2;
}
public final boolean tryCancel() {
return getAndSet(4) != 4;
}
}