mirror of
				https://github.com/owncloud/android-library.git
				synced 2025-10-31 10:27:45 +00:00 
			
		
		
		
	Managing the deeplink
This commit is contained in:
		
							parent
							
								
									71224c30d1
								
							
						
					
					
						commit
						16d6a2d841
					
				| @ -0,0 +1,34 @@ | |||||||
|  | package com.owncloud.android.lib.resources.files | ||||||
|  | 
 | ||||||
|  | import com.owncloud.android.lib.common.OwnCloudClient | ||||||
|  | import com.owncloud.android.lib.common.http.HttpConstants | ||||||
|  | import com.owncloud.android.lib.common.http.methods.webdav.DavUtils | ||||||
|  | import com.owncloud.android.lib.common.http.methods.webdav.DavUtils.allPropSet | ||||||
|  | import com.owncloud.android.lib.common.http.methods.webdav.PropfindMethod | ||||||
|  | import com.owncloud.android.lib.common.operations.RemoteOperation | ||||||
|  | import com.owncloud.android.lib.common.operations.RemoteOperationResult | ||||||
|  | import timber.log.Timber | ||||||
|  | import java.net.URL | ||||||
|  | 
 | ||||||
|  | class GetFileMetaInfoRemoteOperation(val fileId: String) : RemoteOperation<String>() { | ||||||
|  |     private val stringUrl = "${client.baseUri}$META_PATH$fileId" | ||||||
|  | 
 | ||||||
|  |     override fun run(client: OwnCloudClient): RemoteOperationResult<String> { | ||||||
|  |         return try { | ||||||
|  |             val propFindMethod = PropfindMethod(URL(stringUrl), 0, allPropSet) | ||||||
|  | 
 | ||||||
|  |             val status = client.executeHttpMethod(propFindMethod) | ||||||
|  |             if (isSuccess(status)) RemoteOperationResult<String>(RemoteOperationResult.ResultCode.OK) | ||||||
|  |             else RemoteOperationResult<String>(propFindMethod) | ||||||
|  |         } catch (e: Exception) { | ||||||
|  |             Timber.e(e, "Could not get actuall (or redirected) base URL from base url (/).") | ||||||
|  |             RemoteOperationResult<String>(e) | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     private fun isSuccess(status: Int) = status == HttpConstants.HTTP_OK || status == HttpConstants.HTTP_MULTI_STATUS | ||||||
|  | 
 | ||||||
|  |     companion object { | ||||||
|  |         private const val META_PATH = "/remote.php/dav/meta/" | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -83,4 +83,6 @@ interface FileService : Service { | |||||||
|         isFolder: Boolean, |         isFolder: Boolean, | ||||||
|         spaceWebDavUrl: String? = null, |         spaceWebDavUrl: String? = null, | ||||||
|     ): RemoteOperationResult<Unit> |     ): RemoteOperationResult<Unit> | ||||||
|  | 
 | ||||||
|  |     fun fileMetaInfo(fileId: String): RemoteOperationResult<String> | ||||||
| } | } | ||||||
|  | |||||||
| @ -29,6 +29,7 @@ import com.owncloud.android.lib.resources.files.CheckPathExistenceRemoteOperatio | |||||||
| import com.owncloud.android.lib.resources.files.CopyRemoteFileOperation | import com.owncloud.android.lib.resources.files.CopyRemoteFileOperation | ||||||
| import com.owncloud.android.lib.resources.files.CreateRemoteFolderOperation | import com.owncloud.android.lib.resources.files.CreateRemoteFolderOperation | ||||||
| import com.owncloud.android.lib.resources.files.DownloadRemoteFileOperation | import com.owncloud.android.lib.resources.files.DownloadRemoteFileOperation | ||||||
|  | import com.owncloud.android.lib.resources.files.GetFileMetaInfoRemoteOperation | ||||||
| import com.owncloud.android.lib.resources.files.MoveRemoteFileOperation | import com.owncloud.android.lib.resources.files.MoveRemoteFileOperation | ||||||
| import com.owncloud.android.lib.resources.files.ReadRemoteFileOperation | import com.owncloud.android.lib.resources.files.ReadRemoteFileOperation | ||||||
| import com.owncloud.android.lib.resources.files.ReadRemoteFolderOperation | import com.owncloud.android.lib.resources.files.ReadRemoteFolderOperation | ||||||
| @ -140,4 +141,7 @@ class OCFileService(override val client: OwnCloudClient) : FileService { | |||||||
|             isFolder = isFolder, |             isFolder = isFolder, | ||||||
|             spaceWebDavUrl = spaceWebDavUrl, |             spaceWebDavUrl = spaceWebDavUrl, | ||||||
|         ).execute(client) |         ).execute(client) | ||||||
|  | 
 | ||||||
|  |     override fun fileMetaInfo(fileId: String): RemoteOperationResult<String> = GetFileMetaInfoRemoteOperation(fileId).execute(client) | ||||||
|  | 
 | ||||||
| } | } | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user