Skip to content

Commit 270f186

Browse files
Expose share by mail
Signed-off-by: tobiasKaminsky <[email protected]>
1 parent 974c3ac commit 270f186

File tree

3 files changed

+41
-0
lines changed

3 files changed

+41
-0
lines changed

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

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,25 @@ public void testGetRemoteCapabilitiesOperationEtagWithNextcloudClient() {
121121
checkCapability(capability, nextcloudClient.getUserId());
122122
}
123123

124+
@Test
125+
public void testFilesSharing() {
126+
// get capabilities
127+
RemoteOperationResult result = new GetCapabilitiesRemoteOperation().execute(nextcloudClient);
128+
assertTrue(result.isSuccess());
129+
assertTrue(result.getData() != null && result.getData().size() == 1);
130+
131+
OCCapability capability = (OCCapability) result.getData().get(0);
132+
133+
// share by mail
134+
if (capability.getVersion().isNewerOrEqual(NextcloudVersion.Companion.getNextcloud_23())) {
135+
assertTrue(capability.getFilesSharingByMail().isTrue());
136+
assertTrue(capability.getFilesSharingByMailSendPasswordByMail().isTrue());
137+
} else {
138+
assertTrue("Value is:" + capability.getFilesSharingByMail(), capability.getFilesSharingByMail().isTrue());
139+
assertTrue(capability.getFilesSharingByMailSendPasswordByMail().isUnknown());
140+
}
141+
}
142+
124143
private void checkCapability(OCCapability capability, String userId) {
125144
assertTrue(capability.getActivity().isTrue());
126145
assertTrue(capability.getFilesSharingApiEnabled().isTrue());

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

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ public class GetCapabilitiesRemoteOperation extends RemoteOperation {
7474
private static final String NODE_CORE = "core";
7575

7676
private static final String NODE_FILES_SHARING = "files_sharing";
77+
private static final String NODE_SHARE_BY_MAIL = "sharebymail";
7778
private static final String NODE_PUBLIC = "public";
7879
private static final String NODE_PASSWORD = "password";
7980
private static final String NODE_ASK_FOR_OPTIONAL_PASSWORD = "askForOptionalPassword";
@@ -89,6 +90,8 @@ public class GetCapabilitiesRemoteOperation extends RemoteOperation {
8990

9091
private static final String PROPERTY_POLLINTERVAL = "pollinterval";
9192

93+
private static final String PROPERTY_SEND_PASSWORD_BY_MAIL = "send_password_by_mail";
94+
9295
private static final String PROPERTY_MAJOR = "major";
9396
private static final String PROPERTY_MINOR = "minor";
9497
private static final String PROPERTY_MICRO = "micro";
@@ -415,6 +418,23 @@ private OCCapability parseResponse(String response) throws JSONException {
415418
capability.setFilesSharingFederationIncoming(CapabilityBooleanType.fromBooleanValue(
416419
respFederation.getBoolean(PROPERTY_INCOMING)));
417420
}
421+
422+
if (respFilesSharing.has(NODE_SHARE_BY_MAIL)) {
423+
JSONObject respByMail = respFilesSharing.getJSONObject(NODE_SHARE_BY_MAIL);
424+
capability.setFilesSharingByMail(CapabilityBooleanType.fromBooleanValue(
425+
respByMail.getBoolean(PROPERTY_ENABLED)));
426+
if (respByMail.has(PROPERTY_SEND_PASSWORD_BY_MAIL)) {
427+
capability.setFilesSharingByMailSendPasswordByMail(
428+
CapabilityBooleanType.fromBooleanValue(
429+
respByMail.getBoolean(PROPERTY_SEND_PASSWORD_BY_MAIL)));
430+
} else {
431+
capability.setFilesSharingByMailSendPasswordByMail(CapabilityBooleanType.UNKNOWN);
432+
}
433+
} else {
434+
capability.setFilesSharingByMail(CapabilityBooleanType.UNKNOWN);
435+
capability.setFilesSharingByMailSendPasswordByMail(CapabilityBooleanType.UNKNOWN);
436+
}
437+
418438
Log_OC.d(TAG, "*** Added " + NODE_FILES_SHARING);
419439
}
420440

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,8 @@ class OCCapability {
6868
var filesSharingResharing = CapabilityBooleanType.UNKNOWN
6969
var filesSharingFederationOutgoing = CapabilityBooleanType.UNKNOWN
7070
var filesSharingFederationIncoming = CapabilityBooleanType.UNKNOWN
71+
var filesSharingByMail = CapabilityBooleanType.UNKNOWN
72+
var filesSharingByMailSendPasswordByMail = CapabilityBooleanType.UNKNOWN
7173

7274
// Files
7375
var filesBigFileChunking = CapabilityBooleanType.UNKNOWN

0 commit comments

Comments
 (0)