jimu-decompiled/sources/retrofit2/adapter/rxjava2/RxJava2CallAdapter.java
2025-05-13 19:24:51 +02:00

50 lines
2.0 KiB
Java

package retrofit2.adapter.rxjava2;
import io.reactivex.BackpressureStrategy;
import io.reactivex.Observable;
import io.reactivex.Scheduler;
import java.lang.reflect.Type;
import retrofit2.Call;
import retrofit2.CallAdapter;
/* loaded from: classes2.dex */
final class RxJava2CallAdapter<R> implements CallAdapter<R, Object> {
private final boolean isAsync;
private final boolean isBody;
private final boolean isCompletable;
private final boolean isFlowable;
private final boolean isMaybe;
private final boolean isResult;
private final boolean isSingle;
private final Type responseType;
private final Scheduler scheduler;
RxJava2CallAdapter(Type type, Scheduler scheduler, boolean z, boolean z2, boolean z3, boolean z4, boolean z5, boolean z6, boolean z7) {
this.responseType = type;
this.scheduler = scheduler;
this.isAsync = z;
this.isResult = z2;
this.isBody = z3;
this.isFlowable = z4;
this.isSingle = z5;
this.isMaybe = z6;
this.isCompletable = z7;
}
@Override // retrofit2.CallAdapter
public Object adapt(Call<R> call) {
Observable callEnqueueObservable = this.isAsync ? new CallEnqueueObservable(call) : new CallExecuteObservable(call);
Observable resultObservable = this.isResult ? new ResultObservable(callEnqueueObservable) : this.isBody ? new BodyObservable(callEnqueueObservable) : callEnqueueObservable;
Scheduler scheduler = this.scheduler;
if (scheduler != null) {
resultObservable = resultObservable.subscribeOn(scheduler);
}
return this.isFlowable ? resultObservable.toFlowable(BackpressureStrategy.LATEST) : this.isSingle ? resultObservable.singleOrError() : this.isMaybe ? resultObservable.singleElement() : this.isCompletable ? resultObservable.ignoreElements() : resultObservable;
}
@Override // retrofit2.CallAdapter
public Type responseType() {
return this.responseType;
}
}