Skip to content
This repository was archived by the owner on Mar 19, 2024. It is now read-only.

Commit 9df62a5

Browse files
authored
Merge pull request #523 from owncloud/fix/unshare_ocis
Unsharing wont return anything anymore since result object was not used
2 parents cb076aa + fa7bfdd commit 9df62a5

File tree

3 files changed

+10
-36
lines changed

3 files changed

+10
-36
lines changed

owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/RemoveRemoteShareOperation.kt

Lines changed: 7 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,7 @@ import com.owncloud.android.lib.common.http.HttpConstants.VALUE_FORMAT
3636
import com.owncloud.android.lib.common.http.methods.nonwebdav.DeleteMethod
3737
import com.owncloud.android.lib.common.operations.RemoteOperation
3838
import com.owncloud.android.lib.common.operations.RemoteOperationResult
39-
import com.owncloud.android.lib.resources.CommonOcsResponse
40-
import com.owncloud.android.lib.resources.shares.responses.ShareItem
41-
import com.squareup.moshi.JsonAdapter
42-
import com.squareup.moshi.Moshi
43-
import com.squareup.moshi.Types
4439
import timber.log.Timber
45-
import java.lang.reflect.Type
4640
import java.net.URL
4741

4842
/**
@@ -52,14 +46,10 @@ import java.net.URL
5246
* @author David A. Velasco
5347
* @author David González Verdugo
5448
* @author Fernando Sanz Velasco
55-
*/
56-
57-
/**
58-
* Constructor
5949
*
6050
* @param remoteShareId Share ID
6151
*/
62-
class RemoveRemoteShareOperation(private val remoteShareId: String) : RemoteOperation<ShareResponse>() {
52+
class RemoveRemoteShareOperation(private val remoteShareId: String) : RemoteOperation<Unit>() {
6353

6454
private fun buildRequestUri(baseUri: Uri) =
6555
baseUri.buildUpon()
@@ -68,24 +58,12 @@ class RemoveRemoteShareOperation(private val remoteShareId: String) : RemoteOper
6858
.appendQueryParameter(PARAM_FORMAT, VALUE_FORMAT)
6959
.build()
7060

71-
private fun parseResponse(response: String): ShareResponse? {
72-
val moshi = Moshi.Builder().build()
73-
val listOfShareItemType: Type = Types.newParameterizedType(List::class.java, ShareItem::class.java)
74-
val commonOcsType: Type = Types.newParameterizedType(CommonOcsResponse::class.java, listOfShareItemType)
75-
val adapter: JsonAdapter<CommonOcsResponse<List<ShareItem>>> = moshi.adapter(commonOcsType)
76-
return adapter.fromJson(response)?.ocs?.data?.let { listOfShareItems ->
77-
ShareResponse(listOfShareItems.map { shareItem ->
78-
shareItem.toRemoteShare()
79-
})
80-
}
81-
}
82-
8361
private fun onResultUnsuccessful(
8462
method: DeleteMethod,
8563
response: String?,
8664
status: Int
87-
): RemoteOperationResult<ShareResponse> {
88-
Timber.e("Failed response while unshare link ")
65+
): RemoteOperationResult<Unit> {
66+
Timber.e("Failed response while removing share ")
8967
if (response != null) {
9068
Timber.e("*** status code: $status; response message: $response")
9169
} else {
@@ -94,17 +72,14 @@ class RemoveRemoteShareOperation(private val remoteShareId: String) : RemoteOper
9472
return RemoteOperationResult(method)
9573
}
9674

97-
private fun onRequestSuccessful(response: String?): RemoteOperationResult<ShareResponse> {
98-
val result = RemoteOperationResult<ShareResponse>(RemoteOperationResult.ResultCode.OK)
75+
private fun onRequestSuccessful(response: String?): RemoteOperationResult<Unit> {
76+
val result = RemoteOperationResult<Unit>(RemoteOperationResult.ResultCode.OK)
9977
Timber.d("Successful response: $response")
100-
result.data = parseResponse(response!!)
10178
Timber.d("*** Unshare link completed ")
10279
return result
10380
}
10481

105-
override fun run(client: OwnCloudClient): RemoteOperationResult<ShareResponse> {
106-
107-
82+
override fun run(client: OwnCloudClient): RemoteOperationResult<Unit> {
10883
val requestUri = buildRequestUri(client.baseUri)
10984

11085
val deleteMethod = DeleteMethod(URL(requestUri.toString())).apply {
@@ -129,7 +104,7 @@ class RemoveRemoteShareOperation(private val remoteShareId: String) : RemoteOper
129104
private fun isSuccess(status: Int): Boolean = status == HttpConstants.HTTP_OK
130105

131106
companion object {
132-
//OCS Route
107+
// OCS Route
133108
private const val OCS_ROUTE = "ocs/v2.php/apps/files_sharing/api/v1/shares"
134109
}
135110
}

owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/services/ShareService.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,5 +58,5 @@ interface ShareService : Service {
5858
publicUpload: Boolean
5959
): RemoteOperationResult<ShareResponse>
6060

61-
fun deleteShare(remoteId: String): RemoteOperationResult<ShareResponse>
61+
fun deleteShare(remoteId: String): RemoteOperationResult<Unit>
6262
}

owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/services/implementation/OCShareService.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,7 @@ import com.owncloud.android.lib.resources.shares.ShareType
3636
import com.owncloud.android.lib.resources.shares.UpdateRemoteShareOperation
3737
import com.owncloud.android.lib.resources.shares.services.ShareService
3838

39-
class OCShareService(override val client: OwnCloudClient) :
40-
ShareService {
39+
class OCShareService(override val client: OwnCloudClient) : ShareService {
4140
override fun getShares(
4241
remoteFilePath: String,
4342
reshares: Boolean,
@@ -90,7 +89,7 @@ class OCShareService(override val client: OwnCloudClient) :
9089
this.retrieveShareDetails = true
9190
}.execute(client)
9291

93-
override fun deleteShare(remoteId: String): RemoteOperationResult<ShareResponse> =
92+
override fun deleteShare(remoteId: String): RemoteOperationResult<Unit> =
9493
RemoveRemoteShareOperation(
9594
remoteId
9695
).execute(client)

0 commit comments

Comments
 (0)