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

160 lines
5.6 KiB
Java

package io.reactivex.internal.operators.observable;
import io.reactivex.Completable;
import io.reactivex.CompletableObserver;
import io.reactivex.CompletableSource;
import io.reactivex.Observable;
import io.reactivex.ObservableSource;
import io.reactivex.Observer;
import io.reactivex.disposables.CompositeDisposable;
import io.reactivex.disposables.Disposable;
import io.reactivex.exceptions.Exceptions;
import io.reactivex.functions.Function;
import io.reactivex.internal.disposables.DisposableHelper;
import io.reactivex.internal.functions.ObjectHelper;
import io.reactivex.internal.fuseable.FuseToObservable;
import io.reactivex.internal.util.AtomicThrowable;
import io.reactivex.plugins.RxJavaPlugins;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicReference;
/* loaded from: classes2.dex */
public final class ObservableFlatMapCompletableCompletable<T> extends Completable implements FuseToObservable<T> {
final ObservableSource<T> a;
final Function<? super T, ? extends CompletableSource> b;
final boolean c;
public ObservableFlatMapCompletableCompletable(ObservableSource<T> observableSource, Function<? super T, ? extends CompletableSource> function, boolean z) {
this.a = observableSource;
this.b = function;
this.c = z;
}
@Override // io.reactivex.internal.fuseable.FuseToObservable
public Observable<T> a() {
return RxJavaPlugins.a(new ObservableFlatMapCompletable(this.a, this.b, this.c));
}
@Override // io.reactivex.Completable
protected void b(CompletableObserver completableObserver) {
this.a.subscribe(new FlatMapCompletableMainObserver(completableObserver, this.b, this.c));
}
static final class FlatMapCompletableMainObserver<T> extends AtomicInteger implements Disposable, Observer<T> {
final CompletableObserver a;
final Function<? super T, ? extends CompletableSource> c;
final boolean d;
Disposable f;
volatile boolean g;
final AtomicThrowable b = new AtomicThrowable();
final CompositeDisposable e = new CompositeDisposable();
final class InnerObserver extends AtomicReference<Disposable> implements CompletableObserver, Disposable {
InnerObserver() {
}
@Override // io.reactivex.disposables.Disposable
public void dispose() {
DisposableHelper.dispose(this);
}
@Override // io.reactivex.CompletableObserver, io.reactivex.MaybeObserver
public void onComplete() {
FlatMapCompletableMainObserver.this.a(this);
}
@Override // io.reactivex.CompletableObserver
public void onError(Throwable th) {
FlatMapCompletableMainObserver.this.a(this, th);
}
@Override // io.reactivex.CompletableObserver
public void onSubscribe(Disposable disposable) {
DisposableHelper.setOnce(this, disposable);
}
}
FlatMapCompletableMainObserver(CompletableObserver completableObserver, Function<? super T, ? extends CompletableSource> function, boolean z) {
this.a = completableObserver;
this.c = function;
this.d = z;
lazySet(1);
}
void a(FlatMapCompletableMainObserver<T>.InnerObserver innerObserver) {
this.e.c(innerObserver);
onComplete();
}
@Override // io.reactivex.disposables.Disposable
public void dispose() {
this.g = true;
this.f.dispose();
this.e.dispose();
}
@Override // io.reactivex.Observer
public void onComplete() {
if (decrementAndGet() == 0) {
Throwable terminate = this.b.terminate();
if (terminate != null) {
this.a.onError(terminate);
} else {
this.a.onComplete();
}
}
}
@Override // io.reactivex.Observer
public void onError(Throwable th) {
if (!this.b.addThrowable(th)) {
RxJavaPlugins.b(th);
return;
}
if (this.d) {
if (decrementAndGet() == 0) {
this.a.onError(this.b.terminate());
return;
}
return;
}
dispose();
if (getAndSet(0) > 0) {
this.a.onError(this.b.terminate());
}
}
@Override // io.reactivex.Observer
public void onNext(T t) {
try {
CompletableSource apply = this.c.apply(t);
ObjectHelper.a(apply, "The mapper returned a null CompletableSource");
CompletableSource completableSource = apply;
getAndIncrement();
InnerObserver innerObserver = new InnerObserver();
if (this.g || !this.e.b(innerObserver)) {
return;
}
completableSource.a(innerObserver);
} catch (Throwable th) {
Exceptions.b(th);
this.f.dispose();
onError(th);
}
}
@Override // io.reactivex.Observer
public void onSubscribe(Disposable disposable) {
if (DisposableHelper.validate(this.f, disposable)) {
this.f = disposable;
this.a.onSubscribe(this);
}
}
void a(FlatMapCompletableMainObserver<T>.InnerObserver innerObserver, Throwable th) {
this.e.c(innerObserver);
onError(th);
}
}
}