package io.reactivex.internal.operators.observable; import io.reactivex.ObservableSource; import io.reactivex.Observer; import io.reactivex.disposables.Disposable; import io.reactivex.internal.disposables.DisposableHelper; import io.reactivex.observers.SerializedObserver; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicReference; /* loaded from: classes2.dex */ public final class ObservableSampleWithObservable extends AbstractObservableWithUpstream { final ObservableSource b; final boolean c; static final class SampleMainEmitLast extends SampleMainObserver { final AtomicInteger e; volatile boolean f; SampleMainEmitLast(Observer observer, ObservableSource observableSource) { super(observer, observableSource); this.e = new AtomicInteger(); } @Override // io.reactivex.internal.operators.observable.ObservableSampleWithObservable.SampleMainObserver void b() { this.f = true; if (this.e.getAndIncrement() == 0) { d(); this.a.onComplete(); } } @Override // io.reactivex.internal.operators.observable.ObservableSampleWithObservable.SampleMainObserver void c() { this.f = true; if (this.e.getAndIncrement() == 0) { d(); this.a.onComplete(); } } @Override // io.reactivex.internal.operators.observable.ObservableSampleWithObservable.SampleMainObserver void e() { if (this.e.getAndIncrement() == 0) { do { boolean z = this.f; d(); if (z) { this.a.onComplete(); return; } } while (this.e.decrementAndGet() != 0); } } } static final class SampleMainNoLast extends SampleMainObserver { SampleMainNoLast(Observer observer, ObservableSource observableSource) { super(observer, observableSource); } @Override // io.reactivex.internal.operators.observable.ObservableSampleWithObservable.SampleMainObserver void b() { this.a.onComplete(); } @Override // io.reactivex.internal.operators.observable.ObservableSampleWithObservable.SampleMainObserver void c() { this.a.onComplete(); } @Override // io.reactivex.internal.operators.observable.ObservableSampleWithObservable.SampleMainObserver void e() { d(); } } static abstract class SampleMainObserver extends AtomicReference implements Observer, Disposable { final Observer a; final ObservableSource b; final AtomicReference c = new AtomicReference<>(); Disposable d; SampleMainObserver(Observer observer, ObservableSource observableSource) { this.a = observer; this.b = observableSource; } boolean a(Disposable disposable) { return DisposableHelper.setOnce(this.c, disposable); } abstract void b(); abstract void c(); void d() { T andSet = getAndSet(null); if (andSet != null) { this.a.onNext(andSet); } } @Override // io.reactivex.disposables.Disposable public void dispose() { DisposableHelper.dispose(this.c); this.d.dispose(); } abstract void e(); @Override // io.reactivex.Observer public void onComplete() { DisposableHelper.dispose(this.c); b(); } @Override // io.reactivex.Observer public void onError(Throwable th) { DisposableHelper.dispose(this.c); this.a.onError(th); } @Override // io.reactivex.Observer public void onNext(T t) { lazySet(t); } @Override // io.reactivex.Observer public void onSubscribe(Disposable disposable) { if (DisposableHelper.validate(this.d, disposable)) { this.d = disposable; this.a.onSubscribe(this); if (this.c.get() == null) { this.b.subscribe(new SamplerObserver(this)); } } } public void a(Throwable th) { this.d.dispose(); this.a.onError(th); } public void a() { this.d.dispose(); c(); } } static final class SamplerObserver implements Observer { final SampleMainObserver a; SamplerObserver(SampleMainObserver sampleMainObserver) { this.a = sampleMainObserver; } @Override // io.reactivex.Observer public void onComplete() { this.a.a(); } @Override // io.reactivex.Observer public void onError(Throwable th) { this.a.a(th); } @Override // io.reactivex.Observer public void onNext(Object obj) { this.a.e(); } @Override // io.reactivex.Observer public void onSubscribe(Disposable disposable) { this.a.a(disposable); } } public ObservableSampleWithObservable(ObservableSource observableSource, ObservableSource observableSource2, boolean z) { super(observableSource); this.b = observableSource2; this.c = z; } @Override // io.reactivex.Observable public void subscribeActual(Observer observer) { SerializedObserver serializedObserver = new SerializedObserver(observer); if (this.c) { this.a.subscribe(new SampleMainEmitLast(serializedObserver, this.b)); } else { this.a.subscribe(new SampleMainNoLast(serializedObserver, this.b)); } } }