Updated CallAdapter & CallAdapterFactory for retrofit 2.2.0 (#5345)

This commit is contained in:
lukoyanov 2017-04-07 02:35:47 +03:00 committed by wing328
parent 90b14a996a
commit a7652d508d
6 changed files with 19 additions and 12 deletions

View File

@ -14,7 +14,7 @@ import java.lang.reflect.WildcardType;
public class Play24CallAdapterFactory extends CallAdapter.Factory { public class Play24CallAdapterFactory extends CallAdapter.Factory {
@Override @Override
public CallAdapter<?> get(Type returnType, Annotation[] annotations, Retrofit retrofit) { public CallAdapter<?, ?> get(Type returnType, Annotation[] annotations, Retrofit retrofit) {
if (!(returnType instanceof ParameterizedType)) { if (!(returnType instanceof ParameterizedType)) {
return null; return null;
} }
@ -41,7 +41,7 @@ public class Play24CallAdapterFactory extends CallAdapter.Factory {
return paramType; return paramType;
} }
private CallAdapter<F.Promise<?>> createAdapter(ParameterizedType returnType) { private CallAdapter<?, F.Promise<?>> createAdapter(ParameterizedType returnType) {
Type parameterType = getTypeParam(returnType); Type parameterType = getTypeParam(returnType);
return new ValueAdapter(parameterType); return new ValueAdapter(parameterType);
} }
@ -49,7 +49,7 @@ public class Play24CallAdapterFactory extends CallAdapter.Factory {
/** /**
* Adpater that coverts values returned by API interface into Play promises * Adpater that coverts values returned by API interface into Play promises
*/ */
static final class ValueAdapter implements CallAdapter<F.Promise<?>> { static final class ValueAdapter<R> implements CallAdapter<R, F.Promise<R>> {
private final Type responseType; private final Type responseType;
@ -63,7 +63,7 @@ public class Play24CallAdapterFactory extends CallAdapter.Factory {
} }
@Override @Override
public <R> F.Promise<R> adapt(final Call<R> call) { public F.Promise<R> adapt(final Call<R> call) {
final F.RedeemablePromise<R> promise = F.RedeemablePromise.empty(); final F.RedeemablePromise<R> promise = F.RedeemablePromise.empty();
call.enqueue(new Callback<R>() { call.enqueue(new Callback<R>() {

View File

@ -196,6 +196,11 @@ public class Play24CallFactory implements okhttp3.Call.Factory {
public void cancel() { public void cancel() {
throw new UnsupportedOperationException("Not supported"); throw new UnsupportedOperationException("Not supported");
} }
@Override
public PlayWSCall clone() {
throw new UnsupportedOperationException("Not supported");
}
@Override @Override
public boolean isExecuted() { public boolean isExecuted() {

View File

@ -275,13 +275,10 @@
<maven.compiler.target>${java.version}</maven.compiler.target> <maven.compiler.target>${java.version}</maven.compiler.target>
<swagger-core-version>1.5.12</swagger-core-version> <swagger-core-version>1.5.12</swagger-core-version>
{{#usePlay24WS}} {{#usePlay24WS}}
<retrofit-version>2.1.0</retrofit-version>
<jackson-version>2.7.5</jackson-version> <jackson-version>2.7.5</jackson-version>
<play-version>2.4.11</play-version> <play-version>2.4.11</play-version>
{{/usePlay24WS}} {{/usePlay24WS}}
{{^usePlay24WS}}
<retrofit-version>2.2.0</retrofit-version> <retrofit-version>2.2.0</retrofit-version>
{{/usePlay24WS}}
{{#useRxJava}} {{#useRxJava}}
<rxjava-version>1.2.9</rxjava-version> <rxjava-version>1.2.9</rxjava-version>
{{/useRxJava}} {{/useRxJava}}

View File

@ -246,9 +246,9 @@
<maven.compiler.source>${java.version}</maven.compiler.source> <maven.compiler.source>${java.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target> <maven.compiler.target>${java.version}</maven.compiler.target>
<swagger-core-version>1.5.12</swagger-core-version> <swagger-core-version>1.5.12</swagger-core-version>
<retrofit-version>2.1.0</retrofit-version>
<jackson-version>2.7.5</jackson-version> <jackson-version>2.7.5</jackson-version>
<play-version>2.4.11</play-version> <play-version>2.4.11</play-version>
<retrofit-version>2.2.0</retrofit-version>
<jodatime-version>2.9.4</jodatime-version> <jodatime-version>2.9.4</jodatime-version>
<oltu-version>1.0.1</oltu-version> <oltu-version>1.0.1</oltu-version>
<junit-version>4.12</junit-version> <junit-version>4.12</junit-version>

View File

@ -14,7 +14,7 @@ import java.lang.reflect.WildcardType;
public class Play24CallAdapterFactory extends CallAdapter.Factory { public class Play24CallAdapterFactory extends CallAdapter.Factory {
@Override @Override
public CallAdapter<?> get(Type returnType, Annotation[] annotations, Retrofit retrofit) { public CallAdapter<?, ?> get(Type returnType, Annotation[] annotations, Retrofit retrofit) {
if (!(returnType instanceof ParameterizedType)) { if (!(returnType instanceof ParameterizedType)) {
return null; return null;
} }
@ -41,7 +41,7 @@ public class Play24CallAdapterFactory extends CallAdapter.Factory {
return paramType; return paramType;
} }
private CallAdapter<F.Promise<?>> createAdapter(ParameterizedType returnType) { private CallAdapter<?, F.Promise<?>> createAdapter(ParameterizedType returnType) {
Type parameterType = getTypeParam(returnType); Type parameterType = getTypeParam(returnType);
return new ValueAdapter(parameterType); return new ValueAdapter(parameterType);
} }
@ -49,7 +49,7 @@ public class Play24CallAdapterFactory extends CallAdapter.Factory {
/** /**
* Adpater that coverts values returned by API interface into Play promises * Adpater that coverts values returned by API interface into Play promises
*/ */
static final class ValueAdapter implements CallAdapter<F.Promise<?>> { static final class ValueAdapter<R> implements CallAdapter<R, F.Promise<R>> {
private final Type responseType; private final Type responseType;
@ -63,7 +63,7 @@ public class Play24CallAdapterFactory extends CallAdapter.Factory {
} }
@Override @Override
public <R> F.Promise<R> adapt(final Call<R> call) { public F.Promise<R> adapt(final Call<R> call) {
final F.RedeemablePromise<R> promise = F.RedeemablePromise.empty(); final F.RedeemablePromise<R> promise = F.RedeemablePromise.empty();
call.enqueue(new Callback<R>() { call.enqueue(new Callback<R>() {

View File

@ -196,6 +196,11 @@ public class Play24CallFactory implements okhttp3.Call.Factory {
public void cancel() { public void cancel() {
throw new UnsupportedOperationException("Not supported"); throw new UnsupportedOperationException("Not supported");
} }
@Override
public PlayWSCall clone() {
throw new UnsupportedOperationException("Not supported");
}
@Override @Override
public boolean isExecuted() { public boolean isExecuted() {