Loading src/main/java/com/nextcloud/android/sso/api/NextcloudAPI.java +8 −24 Original line number Diff line number Diff line Loading @@ -48,7 +48,6 @@ public class NextcloudAPI { private NetworkRequest networkRequest; private Gson gson; @Documented @Target(METHOD) @Retention(RUNTIME) Loading Loading @@ -96,7 +95,6 @@ public class NextcloudAPI { return Observable.fromPublisher( s-> { try { Response response = performNetworkRequestV2(request); s.onNext(ParsedResponse.of(convertStreamToTargetEntity(response.getBody(), type), response.getPlainHeaders())); s.onComplete(); } catch (Exception e) { Loading @@ -107,10 +105,13 @@ public class NextcloudAPI { public <T> T performRequest(final @NonNull Type type, NextcloudRequest request) throws Exception { Log.d(TAG, "performRequest() called with: type = [" + type + "], request = [" + request + "]"); return convertStreamToTargetEntity(performNetworkRequest(request), type); } T result = convertStreamToTargetEntity(performNetworkRequest(request), type); return result; public <T> T performRequestV2(final @NonNull Type type, NextcloudRequest request) throws Exception { Log.d(TAG, "performRequestV2() called with: type = [" + type + "], request = [" + request + "]"); Response response = performNetworkRequestV2(request); return convertStreamToTargetEntity(response.getBody(), type); } private <T> T convertStreamToTargetEntity(InputStream inputStream, Type targetEntity) throws IOException { Loading @@ -119,9 +120,11 @@ public class NextcloudAPI { Reader targetReader = new InputStreamReader(os)) { if (targetEntity != Void.class) { result = gson.fromJson(targetReader, targetEntity); /* if (result != null) { Log.d(TAG, result.toString()); } */ } } return result; Loading @@ -139,25 +142,6 @@ public class NextcloudAPI { return networkRequest.performNetworkRequest(request, request.getBodyAsStream()); } public Response performRequestV2(final @NonNull Type type, NextcloudRequest request) throws Exception { Log.d(TAG, "performRequestV2() called with: type = [" + type + "], request = [" + request + "]"); Response result = null; Response response = performNetworkRequestV2(request); Reader targetReader = new InputStreamReader(response.getBody()); if (type != Void.class) { //FIXME: @original-devs: this will never work (ClassCastException), unless type is Response. result = gson.fromJson(targetReader, type); if (result != null) { Log.d(TAG, result.toString()); } } return result; } /** * The InputStreams needs to be closed after reading from it * Loading src/main/java/com/nextcloud/android/sso/api/NextcloudRetrofitServiceMethod.java +3 −3 Original line number Diff line number Diff line Loading @@ -187,19 +187,19 @@ public class NextcloudRetrofitServiceMethod<T> { } } //fallback return (T) nextcloudAPI.performRequestObservable(typeArgument, request); return (T) nextcloudAPI.performRequestObservableV2(typeArgument, request).map(r -> r.getResponse()); } else if(ownerType == Call.class) { Type typeArgument = type.getActualTypeArguments()[0]; return (T) Retrofit2Helper.WrapInCall(nextcloudAPI, request, typeArgument); } } else if(this.returnType == Observable.class) { return (T) nextcloudAPI.performRequestObservable(Object.class, request); return (T) nextcloudAPI.performRequestObservableV2(Object.class, request).map(r -> r.getResponse()); } else if (this.returnType == Completable.class) { return (T) ReactivexHelper.wrapInCompletable(nextcloudAPI, request); } return nextcloudAPI.performRequest(this.returnType, request); return nextcloudAPI.performRequestV2(this.returnType, request); } private void addHeader(NextcloudRequest.Builder rBuilder, String key, Object value) { Loading src/main/java/com/nextcloud/android/sso/api/ParsedResponse.java +2 −2 Original line number Diff line number Diff line Loading @@ -22,7 +22,7 @@ public class ParsedResponse <T> { } public static <T> ParsedResponse<T> of(T data, ArrayList<AidlNetworkRequest.PlainHeader> headers) { return new ParsedResponse<>(data, headers); return new ParsedResponse<T>(data, headers); } public T getResponse() { Loading src/main/java/com/nextcloud/android/sso/helper/ReactivexHelper.java +1 −1 Original line number Diff line number Diff line Loading @@ -29,7 +29,7 @@ public final class ReactivexHelper { private ReactivexHelper() { } public static Completable wrapInCompletable(final NextcloudAPI nextcloudAPI, final NextcloudRequest request) { return Completable.fromAction(() -> nextcloudAPI.performRequest(Void.class, request)); return Completable.fromAction(() -> nextcloudAPI.performRequestV2(Void.class, request)); } } Loading src/main/java/com/nextcloud/android/sso/helper/Retrofit2Helper.java +1 −1 Original line number Diff line number Diff line Loading @@ -50,7 +50,7 @@ public final class Retrofit2Helper { @Override public Response<T> execute() { try { T body = nextcloudAPI.performRequest(resType, nextcloudRequest); T body = nextcloudAPI.performRequestV2(resType, nextcloudRequest); return Response.success(body); } catch (NextcloudHttpRequestFailedException e) { return Response.error(e.getStatusCode(), ResponseBody.create(null, e.getCause().getMessage())); Loading Loading
src/main/java/com/nextcloud/android/sso/api/NextcloudAPI.java +8 −24 Original line number Diff line number Diff line Loading @@ -48,7 +48,6 @@ public class NextcloudAPI { private NetworkRequest networkRequest; private Gson gson; @Documented @Target(METHOD) @Retention(RUNTIME) Loading Loading @@ -96,7 +95,6 @@ public class NextcloudAPI { return Observable.fromPublisher( s-> { try { Response response = performNetworkRequestV2(request); s.onNext(ParsedResponse.of(convertStreamToTargetEntity(response.getBody(), type), response.getPlainHeaders())); s.onComplete(); } catch (Exception e) { Loading @@ -107,10 +105,13 @@ public class NextcloudAPI { public <T> T performRequest(final @NonNull Type type, NextcloudRequest request) throws Exception { Log.d(TAG, "performRequest() called with: type = [" + type + "], request = [" + request + "]"); return convertStreamToTargetEntity(performNetworkRequest(request), type); } T result = convertStreamToTargetEntity(performNetworkRequest(request), type); return result; public <T> T performRequestV2(final @NonNull Type type, NextcloudRequest request) throws Exception { Log.d(TAG, "performRequestV2() called with: type = [" + type + "], request = [" + request + "]"); Response response = performNetworkRequestV2(request); return convertStreamToTargetEntity(response.getBody(), type); } private <T> T convertStreamToTargetEntity(InputStream inputStream, Type targetEntity) throws IOException { Loading @@ -119,9 +120,11 @@ public class NextcloudAPI { Reader targetReader = new InputStreamReader(os)) { if (targetEntity != Void.class) { result = gson.fromJson(targetReader, targetEntity); /* if (result != null) { Log.d(TAG, result.toString()); } */ } } return result; Loading @@ -139,25 +142,6 @@ public class NextcloudAPI { return networkRequest.performNetworkRequest(request, request.getBodyAsStream()); } public Response performRequestV2(final @NonNull Type type, NextcloudRequest request) throws Exception { Log.d(TAG, "performRequestV2() called with: type = [" + type + "], request = [" + request + "]"); Response result = null; Response response = performNetworkRequestV2(request); Reader targetReader = new InputStreamReader(response.getBody()); if (type != Void.class) { //FIXME: @original-devs: this will never work (ClassCastException), unless type is Response. result = gson.fromJson(targetReader, type); if (result != null) { Log.d(TAG, result.toString()); } } return result; } /** * The InputStreams needs to be closed after reading from it * Loading
src/main/java/com/nextcloud/android/sso/api/NextcloudRetrofitServiceMethod.java +3 −3 Original line number Diff line number Diff line Loading @@ -187,19 +187,19 @@ public class NextcloudRetrofitServiceMethod<T> { } } //fallback return (T) nextcloudAPI.performRequestObservable(typeArgument, request); return (T) nextcloudAPI.performRequestObservableV2(typeArgument, request).map(r -> r.getResponse()); } else if(ownerType == Call.class) { Type typeArgument = type.getActualTypeArguments()[0]; return (T) Retrofit2Helper.WrapInCall(nextcloudAPI, request, typeArgument); } } else if(this.returnType == Observable.class) { return (T) nextcloudAPI.performRequestObservable(Object.class, request); return (T) nextcloudAPI.performRequestObservableV2(Object.class, request).map(r -> r.getResponse()); } else if (this.returnType == Completable.class) { return (T) ReactivexHelper.wrapInCompletable(nextcloudAPI, request); } return nextcloudAPI.performRequest(this.returnType, request); return nextcloudAPI.performRequestV2(this.returnType, request); } private void addHeader(NextcloudRequest.Builder rBuilder, String key, Object value) { Loading
src/main/java/com/nextcloud/android/sso/api/ParsedResponse.java +2 −2 Original line number Diff line number Diff line Loading @@ -22,7 +22,7 @@ public class ParsedResponse <T> { } public static <T> ParsedResponse<T> of(T data, ArrayList<AidlNetworkRequest.PlainHeader> headers) { return new ParsedResponse<>(data, headers); return new ParsedResponse<T>(data, headers); } public T getResponse() { Loading
src/main/java/com/nextcloud/android/sso/helper/ReactivexHelper.java +1 −1 Original line number Diff line number Diff line Loading @@ -29,7 +29,7 @@ public final class ReactivexHelper { private ReactivexHelper() { } public static Completable wrapInCompletable(final NextcloudAPI nextcloudAPI, final NextcloudRequest request) { return Completable.fromAction(() -> nextcloudAPI.performRequest(Void.class, request)); return Completable.fromAction(() -> nextcloudAPI.performRequestV2(Void.class, request)); } } Loading
src/main/java/com/nextcloud/android/sso/helper/Retrofit2Helper.java +1 −1 Original line number Diff line number Diff line Loading @@ -50,7 +50,7 @@ public final class Retrofit2Helper { @Override public Response<T> execute() { try { T body = nextcloudAPI.performRequest(resType, nextcloudRequest); T body = nextcloudAPI.performRequestV2(resType, nextcloudRequest); return Response.success(body); } catch (NextcloudHttpRequestFailedException e) { return Response.error(e.getStatusCode(), ResponseBody.create(null, e.getCause().getMessage())); Loading