Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2540a566 authored by Unpublished's avatar Unpublished
Browse files

Add support for Completables



Signed-off-by: default avatarUnpublished <unpublished@gmx.net>
parent 2ffb2341
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -5,6 +5,7 @@ import android.util.Log;

import com.nextcloud.android.sso.aidl.NextcloudRequest;
import com.nextcloud.android.sso.helper.Okhttp3Helper;
import com.nextcloud.android.sso.helper.ReactivexHelper;
import com.nextcloud.android.sso.helper.Retrofit2Helper;

import java.io.ByteArrayInputStream;
@@ -26,6 +27,7 @@ import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import io.reactivex.Completable;
import io.reactivex.Observable;
import okhttp3.Headers;
import okhttp3.MediaType;
@@ -163,6 +165,8 @@ public class NextcloudRetrofitServiceMethod<T> {
            }
        } else if(this.returnType == Observable.class) {
            return (T) nextcloudAPI.performRequestObservable(Object.class, request);
        } else if (this.returnType == Completable.class) {
            return (T) ReactivexHelper.wrapInCompletable(nextcloudAPI, request);
        }

        return nextcloudAPI.performRequest(this.returnType, request);
+4 −5
Original line number Diff line number Diff line
@@ -18,7 +18,6 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;

import io.reactivex.Completable;
import okhttp3.ResponseBody;
import retrofit2.Call;
import retrofit2.Callback;
@@ -118,7 +117,7 @@ public class TestRetrofitAPI {
        HashMap<String, String> map = new HashMap<>();
        map.put("url", "http://www.cyanogenmod.org/wp-content/themes/cyanogenmod/images/favicon.ico");
        map.put("folderId", "81");
        mApi.putFeed(1, map);
        mApi.putFeed(1, map).subscribe();

        String expectedBody = "{\"url\":\"http://www.cyanogenmod.org/wp-content/themes/cyanogenmod/images/favicon.ico\",\"folderId\":\"81\"}";
        NextcloudRequest request = new NextcloudRequest.Builder()
@@ -127,7 +126,7 @@ public class TestRetrofitAPI {
                .setRequestBody(expectedBody)
                .build();

        Type type = new TypeToken<Completable>() {}.getType();
        Type type = new TypeToken<Void>(){}.getType();
        try {
            verify(nextcloudApiMock).performRequest(eq(type), eq(request));
        } catch (Exception e) {
@@ -141,13 +140,13 @@ public class TestRetrofitAPI {
        // @DELETE("feeds/{feedId}")
        // Completable deleteFeed(@Path("feedId") long feedId);

        mApi.deleteFeed(1);
        mApi.deleteFeed(1).subscribe();
        NextcloudRequest request = new NextcloudRequest.Builder()
                .setMethod("DELETE")
                .setUrl(mApiEndpoint + "feeds/1")
                .build();

        Type type = new TypeToken<Completable>() {}.getType();
        Type type = new TypeToken<Void>() {}.getType();
        try {
            verify(nextcloudApiMock).performRequest(eq(type), eq(request));
        } catch (Exception e) {