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

Unverified Commit b8e5395f authored by Andy Scherzinger's avatar Andy Scherzinger Committed by GitHub
Browse files

Merge pull request #265 from nextcloud/NC12minimumSupported

Increase minimum server version
parents 5de90cc3 0ff2f8d7
Loading
Loading
Loading
Loading
+10 −11
Original line number Diff line number Diff line
@@ -29,18 +29,17 @@ import androidx.annotation.NonNull;
import lombok.Getter;

public class OwnCloudVersion implements Comparable<OwnCloudVersion> {
    public static final OwnCloudVersion nextcloud_10 = new OwnCloudVersion(0x0A000000); // 10.0
    public static final OwnCloudVersion nextcloud_11 = new OwnCloudVersion(0x0B000000); // 10.0
    public static final OwnCloudVersion nextcloud_12 = new OwnCloudVersion(0x0C000000); // 12.0
    public static final OwnCloudVersion nextcloud_13 = new OwnCloudVersion(0x0D000000); // 13.0
    public static final OwnCloudVersion nextcloud_14 = new OwnCloudVersion(0x0E000000); // 14.0
    public static final OwnCloudVersion nextcloud_15 = new OwnCloudVersion(0x0F000000); // 15.0
    public static final OwnCloudVersion nextcloud_16 = new OwnCloudVersion(0x10000000); // 16.0
    public static final OwnCloudVersion nextcloud_17 = new OwnCloudVersion(0x11000000); // 17.0

    public static final int MINIMUM_VERSION_FOR_SELF_API = 0x0B000200; // 11.0.2
    public static final int MINIMUM_VERSION_FOR_SEARCH_API = 0x0C000000; // 12.0
    public static final int MINIMUM_VERSION_FOR_WEB_LOGIN = 0x0C000000; // 12.0
    public static final int MINIMUM_VERSION_FOR_MEDIA_STREAMING = 0x0E000000; // 14.0
    public static final int MINIMUM_VERSION_FOR_NOTE_ON_SHARE = 0x0E000000; // 14.0
    public static final int MINIMUM_VERSION_FOR_SEARCH_API = nextcloud_12.version;
    public static final int MINIMUM_VERSION_FOR_WEB_LOGIN = nextcloud_12.version;
    public static final int MINIMUM_VERSION_FOR_MEDIA_STREAMING = nextcloud_14.version; // 14.0
    public static final int MINIMUM_VERSION_FOR_NOTE_ON_SHARE = nextcloud_14.version; // 14.0
    
    private static final int MAX_DOTS = 3;

@@ -120,10 +119,6 @@ public class OwnCloudVersion implements Comparable<OwnCloudVersion> {
    	return versionValue; 
    }

    public boolean isSelfSupported() {
        return (version >= MINIMUM_VERSION_FOR_SELF_API);
    }

    public boolean isSearchSupported() {
        return (version >= MINIMUM_VERSION_FOR_SEARCH_API);
    }
@@ -143,4 +138,8 @@ public class OwnCloudVersion implements Comparable<OwnCloudVersion> {
    public boolean isHideFileDownloadSupported() {
        return isNewerOrEqual(nextcloud_15);
    }

    public boolean isShareesOnDavSupported() {
        return isNewerOrEqual(nextcloud_17);
    }
}
+3 −17
Original line number Diff line number Diff line
@@ -28,7 +28,6 @@
package com.owncloud.android.lib.resources.users;

import android.text.TextUtils;

import com.google.gson.reflect.TypeToken;
import com.owncloud.android.lib.common.OwnCloudBasicCredentials;
import com.owncloud.android.lib.common.OwnCloudClient;
@@ -38,8 +37,6 @@ import com.owncloud.android.lib.common.operations.RemoteOperationResult;
import com.owncloud.android.lib.common.utils.Log_OC;
import com.owncloud.android.lib.ocs.ServerResponse;
import com.owncloud.android.lib.resources.OCSRemoteOperation;
import com.owncloud.android.lib.resources.status.OwnCloudVersion;

import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.GetMethod;
@@ -59,7 +56,6 @@ public class GetRemoteUserInfoOperation extends OCSRemoteOperation {

    // OCS Route
    private static final String OCS_ROUTE_SELF = "/ocs/v1.php/cloud/user";
    private static final String OCS_ROUTE_SEARCH = "/ocs/v1.php/cloud/users/";

    /**
     * Quota return value for a not computed space value.
@@ -92,21 +88,11 @@ public class GetRemoteUserInfoOperation extends OCSRemoteOperation {

    @Override
    protected RemoteOperationResult run(OwnCloudClient client) {
        RemoteOperationResult result = null;
        int status = -1;
        RemoteOperationResult result;
        int status;
        GetMethod get = null;

        OwnCloudVersion version = client.getOwnCloudVersion();
        boolean versionWithSelfAPI = version != null && version.isSelfSupported();

        String url = "";

        if (!versionWithSelfAPI && !TextUtils.isEmpty(userID)) {
            url = client.getBaseUri() + OCS_ROUTE_SEARCH + userID;
        } else {
            url = client.getBaseUri() + OCS_ROUTE_SELF;
        }

        String url = client.getBaseUri() + OCS_ROUTE_SELF;

        OwnCloudBasicCredentials credentials = (OwnCloudBasicCredentials) client.getCredentials();
        
+28 −23
Original line number Diff line number Diff line
@@ -28,7 +28,6 @@
package com.owncloud.android.utils;

import com.owncloud.android.lib.resources.status.OwnCloudVersion;

import org.junit.Test;

import static org.junit.Assert.assertFalse;
@@ -49,57 +48,63 @@ public class OwncloudVersionTest {
        assertFalse(version.isVersionValid());
    }

    @Test
    public void testSupportNC10() {
        assertFalse(OwnCloudVersion.nextcloud_10.isSelfSupported());
        assertFalse(OwnCloudVersion.nextcloud_10.isSearchSupported());
        assertFalse(OwnCloudVersion.nextcloud_10.isWebLoginSupported());
        assertFalse(OwnCloudVersion.nextcloud_10.isMediaStreamingSupported());
        assertFalse(OwnCloudVersion.nextcloud_10.isNoteOnShareSupported());
    }

    @Test
    public void testSupportNC11() {
        assertFalse(OwnCloudVersion.nextcloud_11.isSelfSupported());
        assertFalse(OwnCloudVersion.nextcloud_11.isSearchSupported());
        assertFalse(OwnCloudVersion.nextcloud_11.isWebLoginSupported());
        assertFalse(OwnCloudVersion.nextcloud_11.isMediaStreamingSupported());
        assertFalse(OwnCloudVersion.nextcloud_11.isNoteOnShareSupported());
    }

    @Test
    public void testSupportNC12() {
        assertTrue(OwnCloudVersion.nextcloud_12.isSelfSupported());
        assertTrue(OwnCloudVersion.nextcloud_12.isSearchSupported());
        assertTrue(OwnCloudVersion.nextcloud_12.isWebLoginSupported());
        assertFalse(OwnCloudVersion.nextcloud_12.isMediaStreamingSupported());
        assertFalse(OwnCloudVersion.nextcloud_12.isNoteOnShareSupported());
        assertFalse(OwnCloudVersion.nextcloud_12.isHideFileDownloadSupported());
        assertFalse(OwnCloudVersion.nextcloud_12.isShareesOnDavSupported());
    }

    @Test
    public void testSupportNC13() {
        assertTrue(OwnCloudVersion.nextcloud_13.isSelfSupported());
        assertTrue(OwnCloudVersion.nextcloud_13.isSearchSupported());
        assertTrue(OwnCloudVersion.nextcloud_13.isWebLoginSupported());
        assertFalse(OwnCloudVersion.nextcloud_13.isMediaStreamingSupported());
        assertFalse(OwnCloudVersion.nextcloud_13.isNoteOnShareSupported());
        assertFalse(OwnCloudVersion.nextcloud_12.isHideFileDownloadSupported());
        assertFalse(OwnCloudVersion.nextcloud_12.isShareesOnDavSupported());
    }

    @Test
    public void testSupportNC14() {
        assertTrue(OwnCloudVersion.nextcloud_14.isSelfSupported());
        assertTrue(OwnCloudVersion.nextcloud_14.isSearchSupported());
        assertTrue(OwnCloudVersion.nextcloud_14.isWebLoginSupported());
        assertTrue(OwnCloudVersion.nextcloud_14.isMediaStreamingSupported());
        assertTrue(OwnCloudVersion.nextcloud_14.isNoteOnShareSupported());
        assertFalse(OwnCloudVersion.nextcloud_14.isHideFileDownloadSupported());
        assertFalse(OwnCloudVersion.nextcloud_14.isShareesOnDavSupported());
    }

    @Test
    public void testSupportNC15() {
        assertTrue(OwnCloudVersion.nextcloud_15.isSelfSupported());
        assertTrue(OwnCloudVersion.nextcloud_15.isSearchSupported());
        assertTrue(OwnCloudVersion.nextcloud_15.isWebLoginSupported());
        assertTrue(OwnCloudVersion.nextcloud_15.isMediaStreamingSupported());
        assertTrue(OwnCloudVersion.nextcloud_15.isNoteOnShareSupported());
        assertTrue(OwnCloudVersion.nextcloud_15.isHideFileDownloadSupported());
        assertFalse(OwnCloudVersion.nextcloud_15.isShareesOnDavSupported());
    }

    @Test
    public void testSupportNC16() {
        assertTrue(OwnCloudVersion.nextcloud_16.isSearchSupported());
        assertTrue(OwnCloudVersion.nextcloud_16.isWebLoginSupported());
        assertTrue(OwnCloudVersion.nextcloud_16.isMediaStreamingSupported());
        assertTrue(OwnCloudVersion.nextcloud_16.isNoteOnShareSupported());
        assertTrue(OwnCloudVersion.nextcloud_16.isHideFileDownloadSupported());
        assertFalse(OwnCloudVersion.nextcloud_16.isShareesOnDavSupported());
    }

    @Test
    public void testSupportNC17() {
        assertTrue(OwnCloudVersion.nextcloud_17.isSearchSupported());
        assertTrue(OwnCloudVersion.nextcloud_17.isWebLoginSupported());
        assertTrue(OwnCloudVersion.nextcloud_17.isMediaStreamingSupported());
        assertTrue(OwnCloudVersion.nextcloud_17.isNoteOnShareSupported());
        assertTrue(OwnCloudVersion.nextcloud_17.isHideFileDownloadSupported());
        assertTrue(OwnCloudVersion.nextcloud_17.isShareesOnDavSupported());
    }
}