package io.reactivex.internal.operators.observable; import io.reactivex.Observable; import io.reactivex.ObservableSource; import io.reactivex.Observer; import io.reactivex.disposables.Disposable; import io.reactivex.exceptions.Exceptions; import io.reactivex.internal.disposables.DisposableHelper; import io.reactivex.internal.functions.ObjectHelper; import io.reactivex.internal.queue.MpscLinkedQueue; import io.reactivex.internal.util.AtomicThrowable; import io.reactivex.observers.DisposableObserver; import io.reactivex.plugins.RxJavaPlugins; import io.reactivex.subjects.UnicastSubject; import java.util.concurrent.Callable; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicReference; /* loaded from: classes2.dex */ public final class ObservableWindowBoundarySupplier extends AbstractObservableWithUpstream> { final Callable> b; final int c; static final class WindowBoundaryInnerObserver extends DisposableObserver { final WindowBoundaryMainObserver b; boolean c; WindowBoundaryInnerObserver(WindowBoundaryMainObserver windowBoundaryMainObserver) { this.b = windowBoundaryMainObserver; } @Override // io.reactivex.Observer public void onComplete() { if (this.c) { return; } this.c = true; this.b.c(); } @Override // io.reactivex.Observer public void onError(Throwable th) { if (this.c) { RxJavaPlugins.b(th); } else { this.c = true; this.b.a(th); } } @Override // io.reactivex.Observer public void onNext(B b) { if (this.c) { return; } this.c = true; dispose(); this.b.a(this); } } public ObservableWindowBoundarySupplier(ObservableSource observableSource, Callable> callable, int i) { super(observableSource); this.b = callable; this.c = i; } @Override // io.reactivex.Observable public void subscribeActual(Observer> observer) { this.a.subscribe(new WindowBoundaryMainObserver(observer, this.c, this.b)); } static final class WindowBoundaryMainObserver extends AtomicInteger implements Observer, Disposable, Runnable { static final WindowBoundaryInnerObserver l = new WindowBoundaryInnerObserver<>(null); static final Object m = new Object(); final Observer> a; final int b; final AtomicReference> c = new AtomicReference<>(); final AtomicInteger d = new AtomicInteger(1); final MpscLinkedQueue e = new MpscLinkedQueue<>(); final AtomicThrowable f = new AtomicThrowable(); final AtomicBoolean g = new AtomicBoolean(); final Callable> h; Disposable i; volatile boolean j; UnicastSubject k; WindowBoundaryMainObserver(Observer> observer, int i, Callable> callable) { this.a = observer; this.b = i; this.h = callable; } void a() { Disposable disposable = (Disposable) this.c.getAndSet(l); if (disposable == null || disposable == l) { return; } disposable.dispose(); } /* JADX WARN: Multi-variable type inference failed */ void b() { if (getAndIncrement() != 0) { return; } Observer> observer = this.a; MpscLinkedQueue mpscLinkedQueue = this.e; AtomicThrowable atomicThrowable = this.f; int i = 1; while (this.d.get() != 0) { UnicastSubject unicastSubject = this.k; boolean z = this.j; if (z && atomicThrowable.get() != null) { mpscLinkedQueue.clear(); Throwable terminate = atomicThrowable.terminate(); if (unicastSubject != 0) { this.k = null; unicastSubject.onError(terminate); } observer.onError(terminate); return; } Object poll = mpscLinkedQueue.poll(); boolean z2 = poll == null; if (z && z2) { Throwable terminate2 = atomicThrowable.terminate(); if (terminate2 == null) { if (unicastSubject != 0) { this.k = null; unicastSubject.onComplete(); } observer.onComplete(); return; } if (unicastSubject != 0) { this.k = null; unicastSubject.onError(terminate2); } observer.onError(terminate2); return; } if (z2) { i = addAndGet(-i); if (i == 0) { return; } } else if (poll != m) { unicastSubject.onNext(poll); } else { if (unicastSubject != 0) { this.k = null; unicastSubject.onComplete(); } if (!this.g.get()) { UnicastSubject a = UnicastSubject.a(this.b, this); this.k = a; this.d.getAndIncrement(); try { ObservableSource call = this.h.call(); ObjectHelper.a(call, "The other Callable returned a null ObservableSource"); ObservableSource observableSource = call; WindowBoundaryInnerObserver windowBoundaryInnerObserver = new WindowBoundaryInnerObserver<>(this); if (this.c.compareAndSet(null, windowBoundaryInnerObserver)) { observableSource.subscribe(windowBoundaryInnerObserver); observer.onNext(a); } } catch (Throwable th) { Exceptions.b(th); atomicThrowable.addThrowable(th); this.j = true; } } } } mpscLinkedQueue.clear(); this.k = null; } void c() { this.i.dispose(); this.j = true; b(); } @Override // io.reactivex.disposables.Disposable public void dispose() { if (this.g.compareAndSet(false, true)) { a(); if (this.d.decrementAndGet() == 0) { this.i.dispose(); } } } @Override // io.reactivex.Observer public void onComplete() { a(); this.j = true; b(); } @Override // io.reactivex.Observer public void onError(Throwable th) { a(); if (!this.f.addThrowable(th)) { RxJavaPlugins.b(th); } else { this.j = true; b(); } } @Override // io.reactivex.Observer public void onNext(T t) { this.e.offer(t); b(); } @Override // io.reactivex.Observer public void onSubscribe(Disposable disposable) { if (DisposableHelper.validate(this.i, disposable)) { this.i = disposable; this.a.onSubscribe(this); this.e.offer(m); b(); } } @Override // java.lang.Runnable public void run() { if (this.d.decrementAndGet() == 0) { this.i.dispose(); } } void a(WindowBoundaryInnerObserver windowBoundaryInnerObserver) { this.c.compareAndSet(windowBoundaryInnerObserver, null); this.e.offer(m); b(); } void a(Throwable th) { this.i.dispose(); if (this.f.addThrowable(th)) { this.j = true; b(); } else { RxJavaPlugins.b(th); } } } }