jimu-decompiled/sources/io/reactivex/internal/observers/BlockingBaseObserver.java
2025-05-13 19:24:51 +02:00

59 lines
1.5 KiB
Java

package io.reactivex.internal.observers;
import io.reactivex.Observer;
import io.reactivex.disposables.Disposable;
import io.reactivex.internal.util.BlockingHelper;
import io.reactivex.internal.util.ExceptionHelper;
import java.util.concurrent.CountDownLatch;
/* loaded from: classes2.dex */
public abstract class BlockingBaseObserver<T> extends CountDownLatch implements Observer<T>, Disposable {
T a;
Throwable b;
Disposable c;
volatile boolean d;
public BlockingBaseObserver() {
super(1);
}
public final T a() {
if (getCount() != 0) {
try {
BlockingHelper.a();
await();
} catch (InterruptedException e) {
dispose();
throw ExceptionHelper.a(e);
}
}
Throwable th = this.b;
if (th == null) {
return this.a;
}
throw ExceptionHelper.a(th);
}
@Override // io.reactivex.disposables.Disposable
public final void dispose() {
this.d = true;
Disposable disposable = this.c;
if (disposable != null) {
disposable.dispose();
}
}
@Override // io.reactivex.Observer
public final void onComplete() {
countDown();
}
@Override // io.reactivex.Observer
public final void onSubscribe(Disposable disposable) {
this.c = disposable;
if (this.d) {
disposable.dispose();
}
}
}