jimu-decompiled/sources/com/ubtrobot/retrofit/adapter/urest/URestCallAdapterFactory.java
2025-05-13 19:24:51 +02:00

55 lines
1.6 KiB
Java

package com.ubtrobot.retrofit.adapter.urest;
import java.lang.annotation.Annotation;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import retrofit2.Call;
import retrofit2.CallAdapter;
import retrofit2.Retrofit;
/* loaded from: classes2.dex */
public class URestCallAdapterFactory extends CallAdapter.Factory {
private static final class ResponseCallAdapter<R> implements CallAdapter<R, URestCall<R>> {
Retrofit a;
Type b;
ResponseCallAdapter(Retrofit retrofit, Type type) {
this.a = retrofit;
this.b = type;
}
@Override // retrofit2.CallAdapter
public Type responseType() {
return this.b;
}
@Override // retrofit2.CallAdapter
public URestCall<R> adapt(Call<R> call) {
return new URestCall<>(this.a, call);
}
}
private URestCallAdapterFactory() {
}
private Type a(Type type) {
if (type instanceof ParameterizedType) {
return CallAdapter.Factory.getParameterUpperBound(0, (ParameterizedType) type);
}
throw new IllegalArgumentException("Call return type must be parameterized as RestCall<Foo> or RestCall<? extends Foo>");
}
public static URestCallAdapterFactory create() {
return new URestCallAdapterFactory();
}
@Override // retrofit2.CallAdapter.Factory
public CallAdapter<?, ?> get(Type type, Annotation[] annotationArr, Retrofit retrofit) {
if (CallAdapter.Factory.getRawType(type) != URestCall.class) {
return null;
}
return new ResponseCallAdapter(retrofit, a(type));
}
}