121 lines
3.5 KiB
Java
121 lines
3.5 KiB
Java
package io.reactivex.internal.operators.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.observers.SerializedObserver;
|
|
import java.util.concurrent.TimeUnit;
|
|
|
|
/* loaded from: classes2.dex */
|
|
public final class ObservableDelay<T> extends AbstractObservableWithUpstream<T, T> {
|
|
final long b;
|
|
final TimeUnit c;
|
|
final Scheduler d;
|
|
final boolean e;
|
|
|
|
static final class DelayObserver<T> implements Observer<T>, Disposable {
|
|
final Observer<? super T> a;
|
|
final long b;
|
|
final TimeUnit c;
|
|
final Scheduler.Worker d;
|
|
final boolean e;
|
|
Disposable f;
|
|
|
|
final class OnComplete implements Runnable {
|
|
OnComplete() {
|
|
}
|
|
|
|
@Override // java.lang.Runnable
|
|
public void run() {
|
|
try {
|
|
DelayObserver.this.a.onComplete();
|
|
} finally {
|
|
DelayObserver.this.d.dispose();
|
|
}
|
|
}
|
|
}
|
|
|
|
final class OnError implements Runnable {
|
|
private final Throwable a;
|
|
|
|
OnError(Throwable th) {
|
|
this.a = th;
|
|
}
|
|
|
|
@Override // java.lang.Runnable
|
|
public void run() {
|
|
try {
|
|
DelayObserver.this.a.onError(this.a);
|
|
} finally {
|
|
DelayObserver.this.d.dispose();
|
|
}
|
|
}
|
|
}
|
|
|
|
final class OnNext implements Runnable {
|
|
private final T a;
|
|
|
|
OnNext(T t) {
|
|
this.a = t;
|
|
}
|
|
|
|
@Override // java.lang.Runnable
|
|
public void run() {
|
|
DelayObserver.this.a.onNext(this.a);
|
|
}
|
|
}
|
|
|
|
DelayObserver(Observer<? super T> observer, long j, TimeUnit timeUnit, Scheduler.Worker worker, boolean z) {
|
|
this.a = observer;
|
|
this.b = j;
|
|
this.c = timeUnit;
|
|
this.d = worker;
|
|
this.e = z;
|
|
}
|
|
|
|
@Override // io.reactivex.disposables.Disposable
|
|
public void dispose() {
|
|
this.f.dispose();
|
|
this.d.dispose();
|
|
}
|
|
|
|
@Override // io.reactivex.Observer
|
|
public void onComplete() {
|
|
this.d.a(new OnComplete(), this.b, this.c);
|
|
}
|
|
|
|
@Override // io.reactivex.Observer
|
|
public void onError(Throwable th) {
|
|
this.d.a(new OnError(th), this.e ? this.b : 0L, this.c);
|
|
}
|
|
|
|
@Override // io.reactivex.Observer
|
|
public void onNext(T t) {
|
|
this.d.a(new OnNext(t), this.b, this.c);
|
|
}
|
|
|
|
@Override // io.reactivex.Observer
|
|
public void onSubscribe(Disposable disposable) {
|
|
if (DisposableHelper.validate(this.f, disposable)) {
|
|
this.f = disposable;
|
|
this.a.onSubscribe(this);
|
|
}
|
|
}
|
|
}
|
|
|
|
public ObservableDelay(ObservableSource<T> observableSource, long j, TimeUnit timeUnit, Scheduler scheduler, boolean z) {
|
|
super(observableSource);
|
|
this.b = j;
|
|
this.c = timeUnit;
|
|
this.d = scheduler;
|
|
this.e = z;
|
|
}
|
|
|
|
@Override // io.reactivex.Observable
|
|
public void subscribeActual(Observer<? super T> observer) {
|
|
this.a.subscribe(new DelayObserver(this.e ? observer : new SerializedObserver(observer), this.b, this.c, this.d.a(), this.e));
|
|
}
|
|
}
|