Loading src/main/java/com/nextcloud/android/sso/api/NextcloudAPI.java +1 −1 Original line number Diff line number Diff line Loading @@ -97,7 +97,7 @@ public class NextcloudAPI { try { Response response = performRequestV2(type, request); s.onNext(new ParsedResponse<>(convertStreamToTargetEntity(response.getBody(), type), response.getPlainHeaders())); s.onNext(ParsedResponse.of(convertStreamToTargetEntity(response.getBody(), type), response.getPlainHeaders())); s.onComplete(); } catch (Exception e) { s.onError(e); Loading src/main/java/com/nextcloud/android/sso/api/NextcloudRetrofitServiceMethod.java +5 −4 Original line number Diff line number Diff line Loading @@ -180,14 +180,15 @@ public class NextcloudRetrofitServiceMethod<T> { if(typeArgument == ResponseBody.class) { return (T) Observable.just(Okhttp3Helper.getResponseBodyFromRequest(nextcloudAPI, request)); } else if (typeArgument instanceof ParameterizedType) { ParameterizedType innerType = (ParameterizedType) returnType; Type innerOwnerType = type.getRawType(); ParameterizedType innerType = (ParameterizedType) typeArgument; Type innerOwnerType = innerType.getRawType(); if(innerOwnerType == ParsedResponse.class) { return (T) nextcloudAPI.performRequestObservableV2(innerType.getActualTypeArguments()[0], request); } } else { return (T) nextcloudAPI.performRequestObservable(typeArgument, request); } //fallback return (T) nextcloudAPI.performRequestObservable(typeArgument, request); } else if(ownerType == Call.class) { Type typeArgument = type.getActualTypeArguments()[0]; return (T) Retrofit2Helper.WrapInCall(nextcloudAPI, request, typeArgument); Loading src/main/java/com/nextcloud/android/sso/api/ParsedResponse.java +6 −2 Original line number Diff line number Diff line Loading @@ -18,7 +18,11 @@ public class ParsedResponse <T> { } public static <T> ParsedResponse<T> of(T data) { return new ParsedResponse<>(data, null); return ParsedResponse.of(data, null); } public static <T> ParsedResponse<T> of(T data, ArrayList<AidlNetworkRequest.PlainHeader> headers) { return ParsedResponse.of(data, headers); } public T getResponse() { Loading Loading
src/main/java/com/nextcloud/android/sso/api/NextcloudAPI.java +1 −1 Original line number Diff line number Diff line Loading @@ -97,7 +97,7 @@ public class NextcloudAPI { try { Response response = performRequestV2(type, request); s.onNext(new ParsedResponse<>(convertStreamToTargetEntity(response.getBody(), type), response.getPlainHeaders())); s.onNext(ParsedResponse.of(convertStreamToTargetEntity(response.getBody(), type), response.getPlainHeaders())); s.onComplete(); } catch (Exception e) { s.onError(e); Loading
src/main/java/com/nextcloud/android/sso/api/NextcloudRetrofitServiceMethod.java +5 −4 Original line number Diff line number Diff line Loading @@ -180,14 +180,15 @@ public class NextcloudRetrofitServiceMethod<T> { if(typeArgument == ResponseBody.class) { return (T) Observable.just(Okhttp3Helper.getResponseBodyFromRequest(nextcloudAPI, request)); } else if (typeArgument instanceof ParameterizedType) { ParameterizedType innerType = (ParameterizedType) returnType; Type innerOwnerType = type.getRawType(); ParameterizedType innerType = (ParameterizedType) typeArgument; Type innerOwnerType = innerType.getRawType(); if(innerOwnerType == ParsedResponse.class) { return (T) nextcloudAPI.performRequestObservableV2(innerType.getActualTypeArguments()[0], request); } } else { return (T) nextcloudAPI.performRequestObservable(typeArgument, request); } //fallback return (T) nextcloudAPI.performRequestObservable(typeArgument, request); } else if(ownerType == Call.class) { Type typeArgument = type.getActualTypeArguments()[0]; return (T) Retrofit2Helper.WrapInCall(nextcloudAPI, request, typeArgument); Loading
src/main/java/com/nextcloud/android/sso/api/ParsedResponse.java +6 −2 Original line number Diff line number Diff line Loading @@ -18,7 +18,11 @@ public class ParsedResponse <T> { } public static <T> ParsedResponse<T> of(T data) { return new ParsedResponse<>(data, null); return ParsedResponse.of(data, null); } public static <T> ParsedResponse<T> of(T data, ArrayList<AidlNetworkRequest.PlainHeader> headers) { return ParsedResponse.of(data, headers); } public T getResponse() { Loading