package io.reactivex.internal.operators.mixed; import io.reactivex.Observable; import io.reactivex.Observer; import io.reactivex.SingleObserver; import io.reactivex.SingleSource; import io.reactivex.disposables.Disposable; import io.reactivex.exceptions.Exceptions; import io.reactivex.functions.Function; import io.reactivex.internal.disposables.DisposableHelper; import io.reactivex.internal.functions.ObjectHelper; import io.reactivex.internal.util.AtomicThrowable; import io.reactivex.plugins.RxJavaPlugins; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicReference; /* loaded from: classes2.dex */ public final class ObservableSwitchMapSingle extends Observable { final Observable a; final Function> b; final boolean c; public ObservableSwitchMapSingle(Observable observable, Function> function, boolean z) { this.a = observable; this.b = function; this.c = z; } @Override // io.reactivex.Observable protected void subscribeActual(Observer observer) { if (ScalarXMapZHelper.b(this.a, this.b, observer)) { return; } this.a.subscribe(new SwitchMapSingleMainObserver(observer, this.b, this.c)); } static final class SwitchMapSingleMainObserver extends AtomicInteger implements Observer, Disposable { static final SwitchMapSingleObserver i = new SwitchMapSingleObserver<>(null); final Observer a; final Function> b; final boolean c; final AtomicThrowable d = new AtomicThrowable(); final AtomicReference> e = new AtomicReference<>(); Disposable f; volatile boolean g; volatile boolean h; static final class SwitchMapSingleObserver extends AtomicReference implements SingleObserver { final SwitchMapSingleMainObserver a; volatile R b; SwitchMapSingleObserver(SwitchMapSingleMainObserver switchMapSingleMainObserver) { this.a = switchMapSingleMainObserver; } void a() { DisposableHelper.dispose(this); } @Override // io.reactivex.SingleObserver public void onError(Throwable th) { this.a.a(this, th); } @Override // io.reactivex.SingleObserver public void onSubscribe(Disposable disposable) { DisposableHelper.setOnce(this, disposable); } @Override // io.reactivex.SingleObserver public void onSuccess(R r) { this.b = r; this.a.b(); } } SwitchMapSingleMainObserver(Observer observer, Function> function, boolean z) { this.a = observer; this.b = function; this.c = z; } void a() { SwitchMapSingleObserver switchMapSingleObserver = (SwitchMapSingleObserver) this.e.getAndSet(i); if (switchMapSingleObserver == null || switchMapSingleObserver == i) { return; } switchMapSingleObserver.a(); } void b() { if (getAndIncrement() != 0) { return; } Observer observer = this.a; AtomicThrowable atomicThrowable = this.d; AtomicReference> atomicReference = this.e; int i2 = 1; while (!this.h) { if (atomicThrowable.get() != null && !this.c) { observer.onError(atomicThrowable.terminate()); return; } boolean z = this.g; SwitchMapSingleObserver switchMapSingleObserver = atomicReference.get(); boolean z2 = switchMapSingleObserver == null; if (z && z2) { Throwable terminate = atomicThrowable.terminate(); if (terminate != null) { observer.onError(terminate); return; } else { observer.onComplete(); return; } } if (z2 || switchMapSingleObserver.b == null) { i2 = addAndGet(-i2); if (i2 == 0) { return; } } else { atomicReference.compareAndSet(switchMapSingleObserver, null); observer.onNext(switchMapSingleObserver.b); } } } @Override // io.reactivex.disposables.Disposable public void dispose() { this.h = true; this.f.dispose(); a(); } @Override // io.reactivex.Observer public void onComplete() { this.g = true; b(); } @Override // io.reactivex.Observer public void onError(Throwable th) { if (!this.d.addThrowable(th)) { RxJavaPlugins.b(th); return; } if (!this.c) { a(); } this.g = true; b(); } @Override // io.reactivex.Observer public void onNext(T t) { SwitchMapSingleObserver switchMapSingleObserver; SwitchMapSingleObserver switchMapSingleObserver2 = this.e.get(); if (switchMapSingleObserver2 != null) { switchMapSingleObserver2.a(); } try { SingleSource apply = this.b.apply(t); ObjectHelper.a(apply, "The mapper returned a null SingleSource"); SingleSource singleSource = apply; SwitchMapSingleObserver switchMapSingleObserver3 = new SwitchMapSingleObserver<>(this); do { switchMapSingleObserver = this.e.get(); if (switchMapSingleObserver == i) { return; } } while (!this.e.compareAndSet(switchMapSingleObserver, switchMapSingleObserver3)); singleSource.a(switchMapSingleObserver3); } catch (Throwable th) { Exceptions.b(th); this.f.dispose(); this.e.getAndSet(i); onError(th); } } @Override // io.reactivex.Observer public void onSubscribe(Disposable disposable) { if (DisposableHelper.validate(this.f, disposable)) { this.f = disposable; this.a.onSubscribe(this); } } void a(SwitchMapSingleObserver switchMapSingleObserver, Throwable th) { if (this.e.compareAndSet(switchMapSingleObserver, null) && this.d.addThrowable(th)) { if (!this.c) { this.f.dispose(); a(); } b(); return; } RxJavaPlugins.b(th); } } }