package io.reactivex.internal.operators.observable; import io.reactivex.ObservableSource; import io.reactivex.Observer; import io.reactivex.disposables.Disposable; import io.reactivex.exceptions.Exceptions; import io.reactivex.functions.Action; import io.reactivex.internal.disposables.DisposableHelper; import io.reactivex.internal.fuseable.QueueDisposable; import io.reactivex.internal.observers.BasicIntQueueDisposable; import io.reactivex.plugins.RxJavaPlugins; /* loaded from: classes2.dex */ public final class ObservableDoFinally extends AbstractObservableWithUpstream { final Action b; static final class DoFinallyObserver extends BasicIntQueueDisposable implements Observer { final Observer a; final Action b; Disposable c; QueueDisposable d; boolean e; DoFinallyObserver(Observer observer, Action action) { this.a = observer; this.b = action; } void a() { if (compareAndSet(0, 1)) { try { this.b.run(); } catch (Throwable th) { Exceptions.b(th); RxJavaPlugins.b(th); } } } @Override // io.reactivex.internal.fuseable.SimpleQueue public void clear() { this.d.clear(); } @Override // io.reactivex.disposables.Disposable public void dispose() { this.c.dispose(); a(); } @Override // io.reactivex.internal.fuseable.SimpleQueue public boolean isEmpty() { return this.d.isEmpty(); } @Override // io.reactivex.Observer public void onComplete() { this.a.onComplete(); a(); } @Override // io.reactivex.Observer public void onError(Throwable th) { this.a.onError(th); a(); } @Override // io.reactivex.Observer public void onNext(T t) { this.a.onNext(t); } @Override // io.reactivex.Observer public void onSubscribe(Disposable disposable) { if (DisposableHelper.validate(this.c, disposable)) { this.c = disposable; if (disposable instanceof QueueDisposable) { this.d = (QueueDisposable) disposable; } this.a.onSubscribe(this); } } @Override // io.reactivex.internal.fuseable.SimpleQueue public T poll() throws Exception { T poll = this.d.poll(); if (poll == null && this.e) { a(); } return poll; } @Override // io.reactivex.internal.fuseable.QueueFuseable public int requestFusion(int i) { QueueDisposable queueDisposable = this.d; if (queueDisposable == null || (i & 4) != 0) { return 0; } int requestFusion = queueDisposable.requestFusion(i); if (requestFusion != 0) { this.e = requestFusion == 1; } return requestFusion; } } public ObservableDoFinally(ObservableSource observableSource, Action action) { super(observableSource); this.b = action; } @Override // io.reactivex.Observable protected void subscribeActual(Observer observer) { this.a.subscribe(new DoFinallyObserver(observer, this.b)); } }