package io.reactivex.internal.operators.observable; import io.reactivex.Observable; import io.reactivex.ObservableSource; import io.reactivex.Observer; import io.reactivex.Scheduler; import io.reactivex.disposables.Disposable; import io.reactivex.internal.disposables.DisposableHelper; import io.reactivex.internal.disposables.SequentialDisposable; import io.reactivex.plugins.RxJavaPlugins; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; import java.util.concurrent.atomic.AtomicLong; import java.util.concurrent.atomic.AtomicReference; /* loaded from: classes2.dex */ public final class ObservableTimeoutTimed extends AbstractObservableWithUpstream { final long b; final TimeUnit c; final Scheduler d; final ObservableSource e; static final class FallbackObserver implements Observer { final Observer a; final AtomicReference b; FallbackObserver(Observer observer, AtomicReference atomicReference) { this.a = observer; this.b = atomicReference; } @Override // io.reactivex.Observer public void onComplete() { this.a.onComplete(); } @Override // io.reactivex.Observer public void onError(Throwable th) { this.a.onError(th); } @Override // io.reactivex.Observer public void onNext(T t) { this.a.onNext(t); } @Override // io.reactivex.Observer public void onSubscribe(Disposable disposable) { DisposableHelper.replace(this.b, disposable); } } static final class TimeoutFallbackObserver extends AtomicReference implements Observer, Disposable, TimeoutSupport { final Observer a; final long b; final TimeUnit c; final Scheduler.Worker d; final SequentialDisposable e = new SequentialDisposable(); final AtomicLong f = new AtomicLong(); final AtomicReference g = new AtomicReference<>(); ObservableSource h; TimeoutFallbackObserver(Observer observer, long j, TimeUnit timeUnit, Scheduler.Worker worker, ObservableSource observableSource) { this.a = observer; this.b = j; this.c = timeUnit; this.d = worker; this.h = observableSource; } @Override // io.reactivex.internal.operators.observable.ObservableTimeoutTimed.TimeoutSupport public void a(long j) { if (this.f.compareAndSet(j, Long.MAX_VALUE)) { DisposableHelper.dispose(this.g); ObservableSource observableSource = this.h; this.h = null; observableSource.subscribe(new FallbackObserver(this.a, this)); this.d.dispose(); } } void b(long j) { this.e.replace(this.d.a(new TimeoutTask(j, this), this.b, this.c)); } @Override // io.reactivex.disposables.Disposable public void dispose() { DisposableHelper.dispose(this.g); DisposableHelper.dispose(this); this.d.dispose(); } @Override // io.reactivex.Observer public void onComplete() { if (this.f.getAndSet(Long.MAX_VALUE) != Long.MAX_VALUE) { this.e.dispose(); this.a.onComplete(); this.d.dispose(); } } @Override // io.reactivex.Observer public void onError(Throwable th) { if (this.f.getAndSet(Long.MAX_VALUE) == Long.MAX_VALUE) { RxJavaPlugins.b(th); return; } this.e.dispose(); this.a.onError(th); this.d.dispose(); } @Override // io.reactivex.Observer public void onNext(T t) { long j = this.f.get(); if (j != Long.MAX_VALUE) { long j2 = 1 + j; if (this.f.compareAndSet(j, j2)) { this.e.get().dispose(); this.a.onNext(t); b(j2); } } } @Override // io.reactivex.Observer public void onSubscribe(Disposable disposable) { DisposableHelper.setOnce(this.g, disposable); } } static final class TimeoutObserver extends AtomicLong implements Observer, Disposable, TimeoutSupport { final Observer a; final long b; final TimeUnit c; final Scheduler.Worker d; final SequentialDisposable e = new SequentialDisposable(); final AtomicReference f = new AtomicReference<>(); TimeoutObserver(Observer observer, long j, TimeUnit timeUnit, Scheduler.Worker worker) { this.a = observer; this.b = j; this.c = timeUnit; this.d = worker; } @Override // io.reactivex.internal.operators.observable.ObservableTimeoutTimed.TimeoutSupport public void a(long j) { if (compareAndSet(j, Long.MAX_VALUE)) { DisposableHelper.dispose(this.f); this.a.onError(new TimeoutException()); this.d.dispose(); } } void b(long j) { this.e.replace(this.d.a(new TimeoutTask(j, this), this.b, this.c)); } @Override // io.reactivex.disposables.Disposable public void dispose() { DisposableHelper.dispose(this.f); this.d.dispose(); } @Override // io.reactivex.Observer public void onComplete() { if (getAndSet(Long.MAX_VALUE) != Long.MAX_VALUE) { this.e.dispose(); this.a.onComplete(); this.d.dispose(); } } @Override // io.reactivex.Observer public void onError(Throwable th) { if (getAndSet(Long.MAX_VALUE) == Long.MAX_VALUE) { RxJavaPlugins.b(th); return; } this.e.dispose(); this.a.onError(th); this.d.dispose(); } @Override // io.reactivex.Observer public void onNext(T t) { long j = get(); if (j != Long.MAX_VALUE) { long j2 = 1 + j; if (compareAndSet(j, j2)) { this.e.get().dispose(); this.a.onNext(t); b(j2); } } } @Override // io.reactivex.Observer public void onSubscribe(Disposable disposable) { DisposableHelper.setOnce(this.f, disposable); } } interface TimeoutSupport { void a(long j); } static final class TimeoutTask implements Runnable { final TimeoutSupport a; final long b; TimeoutTask(long j, TimeoutSupport timeoutSupport) { this.b = j; this.a = timeoutSupport; } @Override // java.lang.Runnable public void run() { this.a.a(this.b); } } public ObservableTimeoutTimed(Observable observable, long j, TimeUnit timeUnit, Scheduler scheduler, ObservableSource observableSource) { super(observable); this.b = j; this.c = timeUnit; this.d = scheduler; this.e = observableSource; } @Override // io.reactivex.Observable protected void subscribeActual(Observer observer) { if (this.e == null) { TimeoutObserver timeoutObserver = new TimeoutObserver(observer, this.b, this.c, this.d.a()); observer.onSubscribe(timeoutObserver); timeoutObserver.b(0L); this.a.subscribe(timeoutObserver); return; } TimeoutFallbackObserver timeoutFallbackObserver = new TimeoutFallbackObserver(observer, this.b, this.c, this.d.a(), this.e); observer.onSubscribe(timeoutFallbackObserver); timeoutFallbackObserver.b(0L); this.a.subscribe(timeoutFallbackObserver); } }