package io.reactivex.internal.observers; import io.reactivex.Observer; import io.reactivex.disposables.Disposable; import io.reactivex.internal.disposables.DisposableHelper; import io.reactivex.internal.fuseable.QueueDisposable; import io.reactivex.internal.fuseable.SimpleQueue; import io.reactivex.internal.util.QueueDrainHelper; import java.util.concurrent.atomic.AtomicReference; /* loaded from: classes2.dex */ public final class InnerQueuedObserver extends AtomicReference implements Observer, Disposable { private static final long serialVersionUID = -5417183359794346637L; volatile boolean done; int fusionMode; final InnerQueuedObserverSupport parent; final int prefetch; SimpleQueue queue; public InnerQueuedObserver(InnerQueuedObserverSupport innerQueuedObserverSupport, int i) { this.parent = innerQueuedObserverSupport; this.prefetch = i; } @Override // io.reactivex.disposables.Disposable public void dispose() { DisposableHelper.dispose(this); } public int fusionMode() { return this.fusionMode; } public boolean isDisposed() { return DisposableHelper.isDisposed(get()); } public boolean isDone() { return this.done; } @Override // io.reactivex.Observer public void onComplete() { this.parent.a(this); } @Override // io.reactivex.Observer public void onError(Throwable th) { this.parent.a((InnerQueuedObserver) this, th); } @Override // io.reactivex.Observer public void onNext(T t) { if (this.fusionMode == 0) { this.parent.a((InnerQueuedObserver>) this, (InnerQueuedObserver) t); } else { this.parent.a(); } } @Override // io.reactivex.Observer public void onSubscribe(Disposable disposable) { if (DisposableHelper.setOnce(this, disposable)) { if (disposable instanceof QueueDisposable) { QueueDisposable queueDisposable = (QueueDisposable) disposable; int requestFusion = queueDisposable.requestFusion(3); if (requestFusion == 1) { this.fusionMode = requestFusion; this.queue = queueDisposable; this.done = true; this.parent.a(this); return; } if (requestFusion == 2) { this.fusionMode = requestFusion; this.queue = queueDisposable; return; } } this.queue = QueueDrainHelper.a(-this.prefetch); } } public SimpleQueue queue() { return this.queue; } public void setDone() { this.done = true; } }