Skip to content

Commit 996c613

Browse files
Merge pull request #2031 from nextcloud/add-unified-share-capabilities
feat(unified-share): new capabilities
2 parents 11f7a95 + 308e123 commit 996c613

3 files changed

Lines changed: 63 additions & 25 deletions

File tree

gradle/verification-metadata.xml

Lines changed: 51 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
<ignored-key id="340B090F727518D8" reason="Key couldn't be downloaded from any key server"/>
1717
<ignored-key id="530AA5F25C25011F" reason="Key couldn't be downloaded from any key server"/>
1818
<ignored-key id="5A68A2249128E2C6" reason="Key couldn't be downloaded from any key server"/>
19+
<ignored-key id="6751E1A6E2001B8D" reason="Key couldn't be downloaded from any key server"/>
1920
<ignored-key id="80EF47E549604C05" reason="Key couldn't be downloaded from any key server"/>
2021
<ignored-key id="AE094C852B4EE5DC" reason="Key couldn't be downloaded from any key server"/>
2122
</ignored-keys>
@@ -8220,6 +8221,14 @@
82208221
<sha256 value="8c51ab7fe2910b434b5e0ce8bdb1b2e4168e6f52a98c9357f966e060b7027d08" origin="Generated by Gradle"/>
82218222
</artifact>
82228223
</component>
8224+
<component group="com.diffplug.spotless" name="spotless-lib" version="4.10.1">
8225+
<artifact name="spotless-lib-4.10.1.jar">
8226+
<sha256 value="8339d27f071fd3575d1e99d880e815ac9eaa397c955ef9424e62a64a1cd79ab2" origin="Generated by Gradle"/>
8227+
</artifact>
8228+
<artifact name="spotless-lib-4.10.1.module">
8229+
<sha256 value="3cd4d937052bd4e80293023019d1307b39af97b1077f17031272b8780c7e6683" origin="Generated by Gradle"/>
8230+
</artifact>
8231+
</component>
82238232
<component group="com.diffplug.spotless" name="spotless-lib" version="4.3.0">
82248233
<artifact name="spotless-lib-4.3.0.jar">
82258234
<sha256 value="669f844ec0a974941c6da04b670748f43178239b6d99fddb5b062ce9d06d0939" origin="Generated by Gradle"/>
@@ -8276,14 +8285,6 @@
82768285
<sha256 value="e5ebf4ddb751555b8200dbca1ddbd4df67a823b751d5bef5fecfa6db0899a32c" origin="Generated by Gradle"/>
82778286
</artifact>
82788287
</component>
8279-
<component group="com.diffplug.spotless" name="spotless-lib" version="4.10.1">
8280-
<artifact name="spotless-lib-4.10.1.jar">
8281-
<sha256 value="8339d27f071fd3575d1e99d880e815ac9eaa397c955ef9424e62a64a1cd79ab2" origin="Generated by Gradle"/>
8282-
</artifact>
8283-
<artifact name="spotless-lib-4.10.1.module">
8284-
<sha256 value="3cd4d937052bd4e80293023019d1307b39af97b1077f17031272b8780c7e6683" origin="Generated by Gradle"/>
8285-
</artifact>
8286-
</component>
82878288
<component group="com.diffplug.spotless" name="spotless-lib-extra" version="3.0.2">
82888289
<artifact name="spotless-lib-extra-3.0.2.jar">
82898290
<sha256 value="b0e77746d633d445e78489ac3d08ad2ea1b3537c4d064e4abe46cc42d62303eb" origin="Generated by Gradle"/>
@@ -8340,6 +8341,14 @@
83408341
<sha256 value="4f84c5859f4ccc5ef2a7423affb7f01c779d65e5d4069d59b2f2e253acbf61c7" origin="Generated by Gradle"/>
83418342
</artifact>
83428343
</component>
8344+
<component group="com.diffplug.spotless" name="spotless-lib-extra" version="4.10.1">
8345+
<artifact name="spotless-lib-extra-4.10.1.jar">
8346+
<sha256 value="a80d67a10f9cab563ff423965c2e9d10def07028871f1cc19fe1f98eb63facc4" origin="Generated by Gradle"/>
8347+
</artifact>
8348+
<artifact name="spotless-lib-extra-4.10.1.module">
8349+
<sha256 value="ec5303b3ec91387c3b6cd76915c87821f4a49aed2de8a063943b1080a036a392" origin="Generated by Gradle"/>
8350+
</artifact>
8351+
</component>
83438352
<component group="com.diffplug.spotless" name="spotless-lib-extra" version="4.3.0">
83448353
<artifact name="spotless-lib-extra-4.3.0.jar">
83458354
<sha256 value="754f804c09dfa2eb8d53963311d2be68f1b4a5621011dcb550d702ead28651d9" origin="Generated by Gradle"/>
@@ -8396,14 +8405,6 @@
83968405
<sha256 value="239d0c695c89048783c82265e3331ab0abb2d91d8cdca94aea64c5027d2dac2b" origin="Generated by Gradle"/>
83978406
</artifact>
83988407
</component>
8399-
<component group="com.diffplug.spotless" name="spotless-lib-extra" version="4.10.1">
8400-
<artifact name="spotless-lib-extra-4.10.1.jar">
8401-
<sha256 value="a80d67a10f9cab563ff423965c2e9d10def07028871f1cc19fe1f98eb63facc4" origin="Generated by Gradle"/>
8402-
</artifact>
8403-
<artifact name="spotless-lib-extra-4.10.1.module">
8404-
<sha256 value="ec5303b3ec91387c3b6cd76915c87821f4a49aed2de8a063943b1080a036a392" origin="Generated by Gradle"/>
8405-
</artifact>
8406-
</component>
84078408
<component group="com.diffplug.spotless" name="spotless-plugin-gradle" version="7.0.2">
84088409
<artifact name="spotless-plugin-gradle-7.0.2.jar">
84098410
<sha256 value="59a34c4f84a48d4c8d929e2f89906369e65476ec0499a43de87c3e4127977cd5" origin="Generated by Gradle"/>
@@ -8460,6 +8461,14 @@
84608461
<sha256 value="0eeba4290cd137df8a98ac8acc11d84ef1b9cc2144871b516a20814a2026d823" origin="Generated by Gradle"/>
84618462
</artifact>
84628463
</component>
8464+
<component group="com.diffplug.spotless" name="spotless-plugin-gradle" version="8.10.1">
8465+
<artifact name="spotless-plugin-gradle-8.10.1.jar">
8466+
<sha256 value="bd1d47e81838ff94251b382133141a062343790164a6589d1f1b90d6c420c2c9" origin="Generated by Gradle"/>
8467+
</artifact>
8468+
<artifact name="spotless-plugin-gradle-8.10.1.module">
8469+
<sha256 value="50f921d2177447c99128f87c8e9f2d8e7349a7194a71a467763b60833de50ae6" origin="Generated by Gradle"/>
8470+
</artifact>
8471+
</component>
84638472
<component group="com.diffplug.spotless" name="spotless-plugin-gradle" version="8.2.1">
84648473
<artifact name="spotless-plugin-gradle-8.2.1.jar">
84658474
<sha256 value="dbf44f8df1832800241d4f135129fc921ba82fb22d72430cc42d4d3d5bbf9d3c" origin="Generated by Gradle"/>
@@ -8516,14 +8525,6 @@
85168525
<sha256 value="45dc5a8765021b5f665dfde2972b063b9660b74b72498755a945434343d800e7" origin="Generated by Gradle"/>
85178526
</artifact>
85188527
</component>
8519-
<component group="com.diffplug.spotless" name="spotless-plugin-gradle" version="8.10.1">
8520-
<artifact name="spotless-plugin-gradle-8.10.1.jar">
8521-
<sha256 value="bd1d47e81838ff94251b382133141a062343790164a6589d1f1b90d6c420c2c9" origin="Generated by Gradle"/>
8522-
</artifact>
8523-
<artifact name="spotless-plugin-gradle-8.10.1.module">
8524-
<sha256 value="50f921d2177447c99128f87c8e9f2d8e7349a7194a71a467763b60833de50ae6" origin="Generated by Gradle"/>
8525-
</artifact>
8526-
</component>
85278528
<component group="com.fasterxml" name="oss-parent" version="56">
85288529
<artifact name="oss-parent-56.pom">
85298530
<sha256 value="fd491f78857424106d2e3d605bcd799b53d31a565cdc868463ca7e875db45a50" origin="Generated by Gradle"/>
@@ -9886,6 +9887,11 @@
98869887
<sha256 value="e720a383fdc3eb1df4aac77a085e61b7730837364151de867093fdbcafcb44aa" origin="Generated by Gradle" reason="A key couldn't be downloaded"/>
98879888
</artifact>
98889889
</component>
9890+
<component group="com.squareup.okhttp3" name="okhttp" version="5.5.0">
9891+
<artifact name="okhttp-5.5.0.module">
9892+
<sha256 value="1d667d70d7c4994927afd46d840e31e4a454935fa58f0c3429a26b425dc0abe0" origin="Generated by Gradle" reason="A key couldn't be downloaded"/>
9893+
</artifact>
9894+
</component>
98899895
<component group="com.squareup.okhttp3" name="okhttp-android" version="5.1.0">
98909896
<artifact name="okhttp-android-5.1.0.module">
98919897
<sha256 value="efd455ff92cc8880daa2adabc4a48db05a6aae40e84266c2185a4dcedfdb53e3" origin="Generated by Gradle" reason="A key couldn't be downloaded"/>
@@ -9894,6 +9900,14 @@
98949900
<sha256 value="acb328a30b8609b34d9bcaf9a147d72e2279b55f6b22540aa45e0f1441e1fff3" origin="Generated by Gradle" reason="A key couldn't be downloaded"/>
98959901
</artifact>
98969902
</component>
9903+
<component group="com.squareup.okhttp3" name="okhttp-android" version="5.5.0">
9904+
<artifact name="okhttp-android-5.5.0.module">
9905+
<sha256 value="a2589cd0455bd01f34ecc1635d198689ccbdd00adbe028ffd34624df7cfe618e" origin="Generated by Gradle" reason="A key couldn't be downloaded"/>
9906+
</artifact>
9907+
<artifact name="okhttp.aar">
9908+
<sha256 value="6c7fd12f092e64ca2eae0b8a8023900c0d7ffec57888cf8abc8085c6f42e1dcc" origin="Generated by Gradle" reason="A key couldn't be downloaded"/>
9909+
</artifact>
9910+
</component>
98979911
<component group="com.squareup.okio" name="okio" version="3.15.0">
98989912
<artifact name="okio-3.15.0.module">
98999913
<sha256 value="116826066ceb4d3336a74e7172a33751617ec344bc50a34f99b0d24959a4a39d" origin="Generated by Gradle" reason="A key couldn't be downloaded"/>
@@ -9902,6 +9916,11 @@
99029916
<sha256 value="0ed4125e048c86af7ece446d654f2ba8bcc5e74d0ae1f4de3c5dc0ad9a975e2d" origin="Generated by Gradle" reason="A key couldn't be downloaded"/>
99039917
</artifact>
99049918
</component>
9919+
<component group="com.squareup.okio" name="okio" version="3.18.1">
9920+
<artifact name="okio-3.18.1.module">
9921+
<sha256 value="1616f212eabcb6c1c2d04ff5c80d9132c0e5f4e408c659d5ee47aef28ebc5d10" origin="Generated by Gradle" reason="A key couldn't be downloaded"/>
9922+
</artifact>
9923+
</component>
99059924
<component group="com.squareup.okio" name="okio" version="3.6.0">
99069925
<artifact name="okio-3.6.0.module">
99079926
<sha256 value="6a47ac50364e6598459401fb86f9b6cfcdf637b9b3a3045b1cc33cbf4c408218" origin="Generated by Gradle"/>
@@ -9923,6 +9942,14 @@
99239942
<sha256 value="989454a94aefbc297032888f135acda14a9ffb46960e7d84603925d269241ee7" origin="Generated by Gradle" reason="A key couldn't be downloaded"/>
99249943
</artifact>
99259944
</component>
9945+
<component group="com.squareup.okio" name="okio-jvm" version="3.18.1">
9946+
<artifact name="okio-jvm-3.18.1.jar">
9947+
<sha256 value="b97b640557a650d15411f2be29aef558c4e422a83653cb18ba494311dbed18be" origin="Generated by Gradle" reason="A key couldn't be downloaded"/>
9948+
</artifact>
9949+
<artifact name="okio-jvm-3.18.1.module">
9950+
<sha256 value="3581865143cbe7556e1975be4c823834a7b775534de856d0b355c77af946027b" origin="Generated by Gradle" reason="A key couldn't be downloaded"/>
9951+
</artifact>
9952+
</component>
99269953
<component group="com.squareup.okio" name="okio-jvm" version="3.6.0">
99279954
<artifact name="okio-jvm-3.6.0.jar">
99289955
<sha256 value="67543f0736fc422ae927ed0e504b98bc5e269fda0d3500579337cb713da28412" origin="Generated by Gradle"/>

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

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,10 @@ public class GetCapabilitiesRemoteOperation extends RemoteOperation<OCCapability
169169

170170
//recommendations
171171
private static final String NODE_RECOMMENDATIONS = "recommendations";
172-
172+
173+
// sharing
174+
private static final String NODE_SHARING = "sharing";
175+
173176
// needed for checking compatible filenames
174177
private static final String FORBIDDEN_FILENAME_CHARACTERS = "forbidden_filename_characters";
175178
private static final String FORBIDDEN_FILENAMES = "forbidden_filenames";
@@ -829,6 +832,11 @@ private OCCapability parseResponse(String response) throws JSONException {
829832
capability.setRecommendations(CapabilityBooleanType.FALSE);
830833
}
831834

835+
if (respCapabilities.has(NODE_SHARING)) {
836+
JSONObject sharingCapability = respCapabilities.getJSONObject(NODE_SHARING);
837+
capability.setSharingJson(sharingCapability.toString());
838+
}
839+
832840
// notes folder
833841
if (respCapabilities.has(NODE_NOTES)) {
834842
JSONObject notesCapability = respCapabilities.getJSONObject(NODE_NOTES);

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
@@ -13,6 +13,7 @@ import com.google.gson.Gson
1313
import com.google.gson.reflect.TypeToken
1414
import com.nextcloud.android.lib.resources.clientintegration.App
1515
import com.nextcloud.android.lib.resources.clientintegration.Endpoint
16+
import kotlinx.serialization.json.Json
1617

1718
/**
1819
* Contains data of the Capabilities for an account, from the Capabilities API
@@ -137,6 +138,8 @@ class OCCapability {
137138
// client integration
138139
var clientIntegrationJson: String? = null
139140

141+
var sharingJson: String? = null
142+
140143
fun getClientIntegrationEndpoints(
141144
hook: Type,
142145
mimetype: String

0 commit comments

Comments
 (0)