Skip to content

Commit c8d2503

Browse files
store subscription info
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
1 parent 06402a6 commit c8d2503

File tree

3 files changed

+29
-7
lines changed

3 files changed

+29
-7
lines changed

library/src/androidTest/java/com/owncloud/android/GetCapabilitiesRemoteOperationIT.java

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,13 @@
99
*/
1010
package com.owncloud.android;
1111

12+
import static org.junit.Assert.assertEquals;
13+
import static org.junit.Assert.assertFalse;
14+
import static org.junit.Assert.assertNotNull;
15+
import static org.junit.Assert.assertNotSame;
16+
import static org.junit.Assert.assertSame;
17+
import static org.junit.Assert.assertTrue;
18+
1219
import com.owncloud.android.lib.common.operations.RemoteOperationResult;
1320
import com.owncloud.android.lib.resources.status.CapabilityBooleanType;
1421
import com.owncloud.android.lib.resources.status.E2EVersion;
@@ -19,13 +26,6 @@
1926

2027
import org.junit.Test;
2128

22-
import static org.junit.Assert.assertEquals;
23-
import static org.junit.Assert.assertFalse;
24-
import static org.junit.Assert.assertNotNull;
25-
import static org.junit.Assert.assertNotSame;
26-
import static org.junit.Assert.assertSame;
27-
import static org.junit.Assert.assertTrue;
28-
2929
/**
3030
* Class to test GetRemoteCapabilitiesOperation
3131
*/
@@ -164,5 +164,8 @@ private void checkCapability(OCCapability capability, String userId) {
164164
if (capability.getVersion().isNewerOrEqual(NextcloudVersion.nextcloud_32)) {
165165
assertTrue(capability.getUserStatusSupportsBusy().isTrue());
166166
}
167+
168+
// support
169+
assertTrue(capability.getHasValidSubscription().isFalse());
167170
}
168171
}

library/src/main/java/com/owncloud/android/lib/resources/status/GetCapabilitiesRemoteOperation.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,10 @@ public class GetCapabilitiesRemoteOperation extends RemoteOperation {
180180

181181
private static final String PROPERTY_DEFAULT_PERMISSIONS = "default_permissions";
182182

183+
// support
184+
private static final String NODE_SUPPORT = "support";
185+
private static final String HAS_VALID_SUBSCRIPTION = "hasValidSubscription";
186+
183187
private OCCapability currentCapability = null;
184188

185189
public GetCapabilitiesRemoteOperation() {
@@ -805,6 +809,18 @@ private OCCapability parseResponse(String response) throws JSONException {
805809
}
806810
}
807811

812+
// support
813+
if (respCapabilities.has(NODE_SUPPORT)) {
814+
JSONObject supportCapability = respCapabilities.getJSONObject(NODE_SUPPORT);
815+
816+
if (supportCapability.getBoolean(HAS_VALID_SUBSCRIPTION)) {
817+
capability.setHasValidSubscription(CapabilityBooleanType.TRUE);
818+
} else {
819+
capability.setHasValidSubscription(CapabilityBooleanType.FALSE);
820+
}
821+
} else {
822+
capability.setHasValidSubscription(CapabilityBooleanType.FALSE);
823+
}
808824
}
809825

810826
Log_OC.d(TAG, "*** Get Capabilities completed ");

library/src/main/java/com/owncloud/android/lib/resources/status/OCCapability.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,9 @@ class OCCapability {
126126

127127
var defaultPermissions: Int? = null
128128

129+
// support
130+
var hasValidSubscription = CapabilityBooleanType.UNKNOWN
131+
129132
val version: OwnCloudVersion
130133
get() =
131134
OwnCloudVersion(

0 commit comments

Comments
 (0)