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.CompositeException; import io.reactivex.exceptions.Exceptions; import io.reactivex.functions.Predicate; import io.reactivex.internal.disposables.SequentialDisposable; import java.util.concurrent.atomic.AtomicInteger; /* loaded from: classes2.dex */ public final class ObservableRetryPredicate extends AbstractObservableWithUpstream { final Predicate b; final long c; static final class RepeatObserver extends AtomicInteger implements Observer { final Observer a; final SequentialDisposable b; final ObservableSource c; final Predicate d; long e; RepeatObserver(Observer observer, long j, Predicate predicate, SequentialDisposable sequentialDisposable, ObservableSource observableSource) { this.a = observer; this.b = sequentialDisposable; this.c = observableSource; this.d = predicate; this.e = j; } void a() { if (getAndIncrement() == 0) { int i = 1; while (!this.b.isDisposed()) { this.c.subscribe(this); i = addAndGet(-i); if (i == 0) { return; } } } } @Override // io.reactivex.Observer public void onComplete() { this.a.onComplete(); } @Override // io.reactivex.Observer public void onError(Throwable th) { long j = this.e; if (j != Long.MAX_VALUE) { this.e = j - 1; } if (j == 0) { this.a.onError(th); return; } try { if (this.d.a(th)) { a(); } else { this.a.onError(th); } } catch (Throwable th2) { Exceptions.b(th2); this.a.onError(new CompositeException(th, th2)); } } @Override // io.reactivex.Observer public void onNext(T t) { this.a.onNext(t); } @Override // io.reactivex.Observer public void onSubscribe(Disposable disposable) { this.b.update(disposable); } } public ObservableRetryPredicate(Observable observable, long j, Predicate predicate) { super(observable); this.b = predicate; this.c = j; } @Override // io.reactivex.Observable public void subscribeActual(Observer observer) { SequentialDisposable sequentialDisposable = new SequentialDisposable(); observer.onSubscribe(sequentialDisposable); new RepeatObserver(observer, this.c, this.b, sequentialDisposable, this.a).a(); } }