76 lines
2.1 KiB
Java
76 lines
2.1 KiB
Java
package retrofit2.adapter.rxjava2;
|
|
|
|
import io.reactivex.Observable;
|
|
import io.reactivex.Observer;
|
|
import io.reactivex.disposables.Disposable;
|
|
import io.reactivex.exceptions.CompositeException;
|
|
import io.reactivex.exceptions.Exceptions;
|
|
import io.reactivex.plugins.RxJavaPlugins;
|
|
import retrofit2.Call;
|
|
import retrofit2.Response;
|
|
|
|
/* loaded from: classes2.dex */
|
|
final class CallExecuteObservable<T> extends Observable<Response<T>> {
|
|
private final Call<T> originalCall;
|
|
|
|
private static final class CallDisposable implements Disposable {
|
|
private final Call<?> call;
|
|
|
|
CallDisposable(Call<?> call) {
|
|
this.call = call;
|
|
}
|
|
|
|
@Override // io.reactivex.disposables.Disposable
|
|
public void dispose() {
|
|
this.call.cancel();
|
|
}
|
|
|
|
public boolean isDisposed() {
|
|
return this.call.isCanceled();
|
|
}
|
|
}
|
|
|
|
CallExecuteObservable(Call<T> call) {
|
|
this.originalCall = call;
|
|
}
|
|
|
|
@Override // io.reactivex.Observable
|
|
protected void subscribeActual(Observer<? super Response<T>> observer) {
|
|
boolean z;
|
|
Call<T> clone = this.originalCall.clone();
|
|
observer.onSubscribe(new CallDisposable(clone));
|
|
try {
|
|
Response<T> execute = clone.execute();
|
|
if (!clone.isCanceled()) {
|
|
observer.onNext(execute);
|
|
}
|
|
if (clone.isCanceled()) {
|
|
return;
|
|
}
|
|
try {
|
|
observer.onComplete();
|
|
} catch (Throwable th) {
|
|
th = th;
|
|
z = true;
|
|
Exceptions.b(th);
|
|
if (z) {
|
|
RxJavaPlugins.b(th);
|
|
return;
|
|
}
|
|
if (clone.isCanceled()) {
|
|
return;
|
|
}
|
|
try {
|
|
observer.onError(th);
|
|
} catch (Throwable th2) {
|
|
Exceptions.b(th2);
|
|
RxJavaPlugins.b(new CompositeException(th, th2));
|
|
}
|
|
}
|
|
} catch (Throwable th3) {
|
|
th = th3;
|
|
z = false;
|
|
}
|
|
}
|
|
}
|