package io.reactivex.internal.observers; import io.reactivex.Observer; import io.reactivex.disposables.Disposable; import io.reactivex.internal.fuseable.SimplePlainQueue; import io.reactivex.internal.util.ObservableQueueDrain; import io.reactivex.internal.util.QueueDrainHelper; /* loaded from: classes2.dex */ public abstract class QueueDrainObserver extends QueueDrainSubscriberPad2 implements Observer, ObservableQueueDrain { protected final Observer b; protected final SimplePlainQueue c; protected volatile boolean d; protected volatile boolean e; protected Throwable f; public QueueDrainObserver(Observer observer, SimplePlainQueue simplePlainQueue) { this.b = observer; this.c = simplePlainQueue; } @Override // io.reactivex.internal.util.ObservableQueueDrain public void a(Observer observer, U u) { } @Override // io.reactivex.internal.util.ObservableQueueDrain public final boolean a() { return this.e; } @Override // io.reactivex.internal.util.ObservableQueueDrain public final boolean b() { return this.d; } @Override // io.reactivex.internal.util.ObservableQueueDrain public final Throwable c() { return this.f; } public final boolean d() { return this.a.getAndIncrement() == 0; } public final boolean e() { return this.a.get() == 0 && this.a.compareAndSet(0, 1); } protected final void a(U u, boolean z, Disposable disposable) { Observer observer = this.b; SimplePlainQueue simplePlainQueue = this.c; if (this.a.get() == 0 && this.a.compareAndSet(0, 1)) { a(observer, u); if (a(-1) == 0) { return; } } else { simplePlainQueue.offer(u); if (!d()) { return; } } QueueDrainHelper.a(simplePlainQueue, observer, z, disposable, this); } protected final void b(U u, boolean z, Disposable disposable) { Observer observer = this.b; SimplePlainQueue simplePlainQueue = this.c; if (this.a.get() != 0 || !this.a.compareAndSet(0, 1)) { simplePlainQueue.offer(u); if (!d()) { return; } } else if (simplePlainQueue.isEmpty()) { a(observer, u); if (a(-1) == 0) { return; } } else { simplePlainQueue.offer(u); } QueueDrainHelper.a(simplePlainQueue, observer, z, disposable, this); } @Override // io.reactivex.internal.util.ObservableQueueDrain public final int a(int i) { return this.a.addAndGet(i); } }