mirror of
				https://github.com/owncloud/android-library.git
				synced 2025-10-31 02:17:41 +00:00 
			
		
		
		
	Unsharing wont return anything anymore since result object was not used
This commit is contained in:
		
							parent
							
								
									660304ada1
								
							
						
					
					
						commit
						47fd1c2deb
					
				| @ -36,13 +36,7 @@ import com.owncloud.android.lib.common.http.HttpConstants.VALUE_FORMAT | |||||||
| import com.owncloud.android.lib.common.http.methods.nonwebdav.DeleteMethod | import com.owncloud.android.lib.common.http.methods.nonwebdav.DeleteMethod | ||||||
| import com.owncloud.android.lib.common.operations.RemoteOperation | import com.owncloud.android.lib.common.operations.RemoteOperation | ||||||
| import com.owncloud.android.lib.common.operations.RemoteOperationResult | import com.owncloud.android.lib.common.operations.RemoteOperationResult | ||||||
| import com.owncloud.android.lib.resources.CommonOcsResponse |  | ||||||
| import com.owncloud.android.lib.resources.shares.responses.ShareItem |  | ||||||
| import com.squareup.moshi.JsonAdapter |  | ||||||
| import com.squareup.moshi.Moshi |  | ||||||
| import com.squareup.moshi.Types |  | ||||||
| import timber.log.Timber | import timber.log.Timber | ||||||
| import java.lang.reflect.Type |  | ||||||
| import java.net.URL | import java.net.URL | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
| @ -52,14 +46,10 @@ import java.net.URL | |||||||
|  * @author David A. Velasco |  * @author David A. Velasco | ||||||
|  * @author David González Verdugo |  * @author David González Verdugo | ||||||
|  * @author Fernando Sanz Velasco |  * @author Fernando Sanz Velasco | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| /** |  | ||||||
|  * Constructor |  | ||||||
|  * |  * | ||||||
|  * @param remoteShareId Share ID |  * @param remoteShareId Share ID | ||||||
|  */ |  */ | ||||||
| class RemoveRemoteShareOperation(private val remoteShareId: String) : RemoteOperation<ShareResponse>() { | class RemoveRemoteShareOperation(private val remoteShareId: String) : RemoteOperation<Unit>() { | ||||||
| 
 | 
 | ||||||
|     private fun buildRequestUri(baseUri: Uri) = |     private fun buildRequestUri(baseUri: Uri) = | ||||||
|         baseUri.buildUpon() |         baseUri.buildUpon() | ||||||
| @ -68,24 +58,12 @@ class RemoveRemoteShareOperation(private val remoteShareId: String) : RemoteOper | |||||||
|             .appendQueryParameter(PARAM_FORMAT, VALUE_FORMAT) |             .appendQueryParameter(PARAM_FORMAT, VALUE_FORMAT) | ||||||
|             .build() |             .build() | ||||||
| 
 | 
 | ||||||
|     private fun parseResponse(response: String): ShareResponse? { |  | ||||||
|         val moshi = Moshi.Builder().build() |  | ||||||
|         val listOfShareItemType: Type = Types.newParameterizedType(List::class.java, ShareItem::class.java) |  | ||||||
|         val commonOcsType: Type = Types.newParameterizedType(CommonOcsResponse::class.java, listOfShareItemType) |  | ||||||
|         val adapter: JsonAdapter<CommonOcsResponse<List<ShareItem>>> = moshi.adapter(commonOcsType) |  | ||||||
|         return adapter.fromJson(response)?.ocs?.data?.let { listOfShareItems -> |  | ||||||
|             ShareResponse(listOfShareItems.map { shareItem -> |  | ||||||
|                 shareItem.toRemoteShare() |  | ||||||
|             }) |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     private fun onResultUnsuccessful( |     private fun onResultUnsuccessful( | ||||||
|         method: DeleteMethod, |         method: DeleteMethod, | ||||||
|         response: String?, |         response: String?, | ||||||
|         status: Int |         status: Int | ||||||
|     ): RemoteOperationResult<ShareResponse> { |     ): RemoteOperationResult<Unit> { | ||||||
|         Timber.e("Failed response while unshare link ") |         Timber.e("Failed response while removing share ") | ||||||
|         if (response != null) { |         if (response != null) { | ||||||
|             Timber.e("*** status code: $status; response message: $response") |             Timber.e("*** status code: $status; response message: $response") | ||||||
|         } else { |         } else { | ||||||
| @ -94,17 +72,14 @@ class RemoveRemoteShareOperation(private val remoteShareId: String) : RemoteOper | |||||||
|         return RemoteOperationResult(method) |         return RemoteOperationResult(method) | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     private fun onRequestSuccessful(response: String?): RemoteOperationResult<ShareResponse> { |     private fun onRequestSuccessful(response: String?): RemoteOperationResult<Unit> { | ||||||
|         val result = RemoteOperationResult<ShareResponse>(RemoteOperationResult.ResultCode.OK) |         val result = RemoteOperationResult<Unit>(RemoteOperationResult.ResultCode.OK) | ||||||
|         Timber.d("Successful response: $response") |         Timber.d("Successful response: $response") | ||||||
|         result.data = parseResponse(response!!) |  | ||||||
|         Timber.d("*** Unshare link completed ") |         Timber.d("*** Unshare link completed ") | ||||||
|         return result |         return result | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     override fun run(client: OwnCloudClient): RemoteOperationResult<ShareResponse> { |     override fun run(client: OwnCloudClient): RemoteOperationResult<Unit> { | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|         val requestUri = buildRequestUri(client.baseUri) |         val requestUri = buildRequestUri(client.baseUri) | ||||||
| 
 | 
 | ||||||
|         val deleteMethod = DeleteMethod(URL(requestUri.toString())).apply { |         val deleteMethod = DeleteMethod(URL(requestUri.toString())).apply { | ||||||
| @ -129,7 +104,7 @@ class RemoveRemoteShareOperation(private val remoteShareId: String) : RemoteOper | |||||||
|     private fun isSuccess(status: Int): Boolean = status == HttpConstants.HTTP_OK |     private fun isSuccess(status: Int): Boolean = status == HttpConstants.HTTP_OK | ||||||
| 
 | 
 | ||||||
|     companion object { |     companion object { | ||||||
|         //OCS Route |         // OCS Route | ||||||
|         private const val OCS_ROUTE = "ocs/v2.php/apps/files_sharing/api/v1/shares" |         private const val OCS_ROUTE = "ocs/v2.php/apps/files_sharing/api/v1/shares" | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -58,5 +58,5 @@ interface ShareService : Service { | |||||||
|         publicUpload: Boolean |         publicUpload: Boolean | ||||||
|     ): RemoteOperationResult<ShareResponse> |     ): RemoteOperationResult<ShareResponse> | ||||||
| 
 | 
 | ||||||
|     fun deleteShare(remoteId: String): RemoteOperationResult<ShareResponse> |     fun deleteShare(remoteId: String): RemoteOperationResult<Unit> | ||||||
| } | } | ||||||
|  | |||||||
| @ -36,8 +36,7 @@ import com.owncloud.android.lib.resources.shares.ShareType | |||||||
| import com.owncloud.android.lib.resources.shares.UpdateRemoteShareOperation | import com.owncloud.android.lib.resources.shares.UpdateRemoteShareOperation | ||||||
| import com.owncloud.android.lib.resources.shares.services.ShareService | import com.owncloud.android.lib.resources.shares.services.ShareService | ||||||
| 
 | 
 | ||||||
| class OCShareService(override val client: OwnCloudClient) : | class OCShareService(override val client: OwnCloudClient) : ShareService { | ||||||
|     ShareService { |  | ||||||
|     override fun getShares( |     override fun getShares( | ||||||
|         remoteFilePath: String, |         remoteFilePath: String, | ||||||
|         reshares: Boolean, |         reshares: Boolean, | ||||||
| @ -90,7 +89,7 @@ class OCShareService(override val client: OwnCloudClient) : | |||||||
|             this.retrieveShareDetails = true |             this.retrieveShareDetails = true | ||||||
|         }.execute(client) |         }.execute(client) | ||||||
| 
 | 
 | ||||||
|     override fun deleteShare(remoteId: String): RemoteOperationResult<ShareResponse> = |     override fun deleteShare(remoteId: String): RemoteOperationResult<Unit> = | ||||||
|         RemoveRemoteShareOperation( |         RemoveRemoteShareOperation( | ||||||
|             remoteId |             remoteId | ||||||
|         ).execute(client) |         ).execute(client) | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user