mirror of
https://github.com/owncloud/android-library.git
synced 2025-06-07 16:06:08 +00:00
Solving bug when copyin or moving
This commit is contained in:
parent
1f8de383b6
commit
bf183fe04d
@ -27,6 +27,7 @@ import com.owncloud.android.lib.common.OwnCloudClient
|
|||||||
import com.owncloud.android.lib.common.http.HttpConstants
|
import com.owncloud.android.lib.common.http.HttpConstants
|
||||||
import com.owncloud.android.lib.common.http.methods.webdav.DavUtils.allPropSet
|
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.http.methods.webdav.PropfindMethod
|
||||||
|
import com.owncloud.android.lib.common.network.WebdavUtils
|
||||||
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.common.operations.RemoteOperationResult.ResultCode
|
import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCode
|
||||||
@ -53,11 +54,12 @@ class CheckPathExistenceRemoteOperation(
|
|||||||
) : RemoteOperation<Boolean>() {
|
) : RemoteOperation<Boolean>() {
|
||||||
|
|
||||||
override fun run(client: OwnCloudClient): RemoteOperationResult<Boolean> {
|
override fun run(client: OwnCloudClient): RemoteOperationResult<Boolean> {
|
||||||
val baseStringUrl = spaceWebDavUrl ?: if (isUserLoggedIn) client.baseFilesWebDavUri.toString()
|
val baseStringUrl = spaceWebDavUrl ?: if (isUserLoggedIn) client.baseFilesWebDavUri.toString() + WebdavUtils.encodePath(remotePath)
|
||||||
else client.userFilesWebDavUri.toString()
|
else client.userFilesWebDavUri.toString()
|
||||||
|
val stringUrl = if (isUserLoggedIn) baseStringUrl + WebdavUtils.encodePath(remotePath) else baseStringUrl
|
||||||
|
|
||||||
return try {
|
return try {
|
||||||
val propFindMethod = PropfindMethod(URL(baseStringUrl), 0, allPropSet).apply {
|
val propFindMethod = PropfindMethod(URL(stringUrl), 0, allPropSet).apply {
|
||||||
setReadTimeout(TIMEOUT.toLong(), TimeUnit.SECONDS)
|
setReadTimeout(TIMEOUT.toLong(), TimeUnit.SECONDS)
|
||||||
setConnectionTimeout(TIMEOUT.toLong(), TimeUnit.SECONDS)
|
setConnectionTimeout(TIMEOUT.toLong(), TimeUnit.SECONDS)
|
||||||
}
|
}
|
||||||
@ -68,7 +70,7 @@ class CheckPathExistenceRemoteOperation(
|
|||||||
* 207 MULTI_STATUS: path exists.
|
* 207 MULTI_STATUS: path exists.
|
||||||
*/
|
*/
|
||||||
Timber.d(
|
Timber.d(
|
||||||
"Existence check for $baseStringUrl finished with HTTP status $status${if (!isSuccess(status)) "(FAIL)" else ""}"
|
"Existence check for $stringUrl finished with HTTP status $status${if (!isSuccess(status)) "(FAIL)" else ""}"
|
||||||
)
|
)
|
||||||
if (isSuccess(status)) RemoteOperationResult<Boolean>(ResultCode.OK).apply { data = true }
|
if (isSuccess(status)) RemoteOperationResult<Boolean>(ResultCode.OK).apply { data = true }
|
||||||
else RemoteOperationResult<Boolean>(propFindMethod).apply { data = false }
|
else RemoteOperationResult<Boolean>(propFindMethod).apply { data = false }
|
||||||
@ -77,7 +79,7 @@ class CheckPathExistenceRemoteOperation(
|
|||||||
val result = RemoteOperationResult<Boolean>(e)
|
val result = RemoteOperationResult<Boolean>(e)
|
||||||
Timber.e(
|
Timber.e(
|
||||||
e,
|
e,
|
||||||
"Existence check for $baseStringUrl : ${result.logMessage}"
|
"Existence check for $stringUrl : ${result.logMessage}"
|
||||||
)
|
)
|
||||||
result
|
result
|
||||||
}
|
}
|
||||||
|
@ -40,7 +40,7 @@ class OCServerInfoService : ServerInfoService {
|
|||||||
): RemoteOperationResult<Boolean> =
|
): RemoteOperationResult<Boolean> =
|
||||||
CheckPathExistenceRemoteOperation(
|
CheckPathExistenceRemoteOperation(
|
||||||
remotePath = path,
|
remotePath = path,
|
||||||
isUserLoggedIn = true,
|
isUserLoggedIn = isUserLoggedIn,
|
||||||
).execute(client)
|
).execute(client)
|
||||||
|
|
||||||
override fun getRemoteStatus(
|
override fun getRemoteStatus(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user