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

102 lines
2.5 KiB
Java

package io.reactivex.internal.observers;
import io.reactivex.Observer;
import io.reactivex.plugins.RxJavaPlugins;
/* loaded from: classes2.dex */
public class DeferredScalarDisposable<T> extends BasicIntQueueDisposable<T> {
static final int DISPOSED = 4;
static final int FUSED_CONSUMED = 32;
static final int FUSED_EMPTY = 8;
static final int FUSED_READY = 16;
static final int TERMINATED = 2;
private static final long serialVersionUID = -5502432239815349361L;
protected final Observer<? super T> downstream;
protected T value;
public DeferredScalarDisposable(Observer<? super T> observer) {
this.downstream = observer;
}
@Override // io.reactivex.internal.fuseable.SimpleQueue
public final void clear() {
lazySet(32);
this.value = null;
}
public final void complete(T t) {
int i = get();
if ((i & 54) != 0) {
return;
}
Observer<? super T> observer = this.downstream;
if (i == 8) {
this.value = t;
lazySet(16);
observer.onNext(null);
} else {
lazySet(2);
observer.onNext(t);
}
if (get() != 4) {
observer.onComplete();
}
}
@Override // io.reactivex.disposables.Disposable
public void dispose() {
set(4);
this.value = null;
}
public final void error(Throwable th) {
if ((get() & 54) != 0) {
RxJavaPlugins.b(th);
} else {
lazySet(2);
this.downstream.onError(th);
}
}
public final boolean isDisposed() {
return get() == 4;
}
@Override // io.reactivex.internal.fuseable.SimpleQueue
public final boolean isEmpty() {
return get() != 16;
}
@Override // io.reactivex.internal.fuseable.SimpleQueue
public final T poll() throws Exception {
if (get() != 16) {
return null;
}
T t = this.value;
this.value = null;
lazySet(32);
return t;
}
@Override // io.reactivex.internal.fuseable.QueueFuseable
public final int requestFusion(int i) {
if ((i & 2) == 0) {
return 0;
}
lazySet(8);
return 2;
}
public final boolean tryDispose() {
return getAndSet(4) != 4;
}
public final void complete() {
if ((get() & 54) != 0) {
return;
}
lazySet(2);
this.downstream.onComplete();
}
}