mirror of
https://github.com/owncloud/android-library.git
synced 2025-06-07 16:06:08 +00:00
Migrate DavUtils to kotlin and fix a compilation error
This commit is contained in:
parent
7f2d94bc78
commit
aebd7288cd
@ -1,15 +0,0 @@
|
|||||||
package com.owncloud.android.lib.common.http.methods.webdav;
|
|
||||||
|
|
||||||
import at.bitfire.dav4jvm.Property;
|
|
||||||
import at.bitfire.dav4jvm.PropertyUtils;
|
|
||||||
|
|
||||||
public class DavUtils {
|
|
||||||
|
|
||||||
public static final Property.Name[] getAllPropset() {
|
|
||||||
return PropertyUtils.INSTANCE.getAllPropSet();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static final Property.Name[] getQuotaPropSet() {
|
|
||||||
return PropertyUtils.INSTANCE.getQuotaPropset();
|
|
||||||
}
|
|
||||||
}
|
|
@ -0,0 +1,36 @@
|
|||||||
|
/* ownCloud Android Library is available under MIT license
|
||||||
|
* Copyright (C) 2020 ownCloud GmbH.
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
* in the Software without restriction, including without limitation the rights
|
||||||
|
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
* copies of the Software, and to permit persons to whom the Software is
|
||||||
|
* furnished to do so, subject to the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included in
|
||||||
|
* all copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||||
|
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
|
||||||
|
* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
||||||
|
* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||||
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
* THE SOFTWARE.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
package com.owncloud.android.lib.common.http.methods.webdav
|
||||||
|
|
||||||
|
import at.bitfire.dav4android.Property
|
||||||
|
import at.bitfire.dav4android.PropertyUtils.getAllPropSet
|
||||||
|
import at.bitfire.dav4android.PropertyUtils.getQuotaPropset
|
||||||
|
|
||||||
|
object DavUtils {
|
||||||
|
@JvmStatic val allPropset: Array<Property.Name>
|
||||||
|
get() = getAllPropSet()
|
||||||
|
|
||||||
|
val quotaPropSet: Array<Property.Name>
|
||||||
|
get() = getQuotaPropset()
|
||||||
|
}
|
@ -25,7 +25,7 @@ package com.owncloud.android.lib.resources.files
|
|||||||
|
|
||||||
import com.owncloud.android.lib.common.OwnCloudClient
|
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.getAllPropset
|
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.RedirectionPath
|
import com.owncloud.android.lib.common.network.RedirectionPath
|
||||||
import com.owncloud.android.lib.common.network.WebdavUtils
|
import com.owncloud.android.lib.common.network.WebdavUtils
|
||||||
@ -66,7 +66,7 @@ class CheckPathExistenceRemoteOperation(
|
|||||||
if (isUserLogged) client.baseFilesWebDavUri.toString()
|
if (isUserLogged) client.baseFilesWebDavUri.toString()
|
||||||
else client.userFilesWebDavUri.toString() + WebdavUtils.encodePath(remotePath)
|
else client.userFilesWebDavUri.toString() + WebdavUtils.encodePath(remotePath)
|
||||||
|
|
||||||
val propFindMethod = PropfindMethod(URL(stringUrl), 0, getAllPropset()).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)
|
||||||
}
|
}
|
||||||
|
@ -26,7 +26,6 @@ package com.owncloud.android.lib.resources.files;
|
|||||||
import com.owncloud.android.lib.common.OwnCloudClient;
|
import com.owncloud.android.lib.common.OwnCloudClient;
|
||||||
import com.owncloud.android.lib.common.accounts.AccountUtils;
|
import com.owncloud.android.lib.common.accounts.AccountUtils;
|
||||||
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;
|
|
||||||
import com.owncloud.android.lib.common.network.WebdavUtils;
|
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;
|
||||||
|
@ -29,7 +29,6 @@ import com.owncloud.android.lib.common.OwnCloudClient;
|
|||||||
import com.owncloud.android.lib.common.accounts.AccountUtils;
|
import com.owncloud.android.lib.common.accounts.AccountUtils;
|
||||||
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.DavConstants;
|
import com.owncloud.android.lib.common.http.methods.webdav.DavConstants;
|
||||||
import com.owncloud.android.lib.common.http.methods.webdav.DavUtils;
|
|
||||||
import com.owncloud.android.lib.common.network.WebdavUtils;
|
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;
|
||||||
|
@ -52,12 +52,12 @@ class GetRemoteUserQuotaOperation : RemoteOperation<RemoteQuota>() {
|
|||||||
val propfindMethod = PropfindMethod(
|
val propfindMethod = PropfindMethod(
|
||||||
URL(client.userFilesWebDavUri.toString()),
|
URL(client.userFilesWebDavUri.toString()),
|
||||||
DavConstants.DEPTH_0,
|
DavConstants.DEPTH_0,
|
||||||
DavUtils.getQuotaPropSet()
|
DavUtils.quotaPropSet
|
||||||
)
|
)
|
||||||
with(client.executeHttpMethod(propfindMethod)) {
|
with(client.executeHttpMethod(propfindMethod)) {
|
||||||
if (isSuccess(this)) {
|
if (isSuccess(this)) {
|
||||||
RemoteOperationResult<RemoteQuota>(ResultCode.OK).apply {
|
RemoteOperationResult<RemoteQuota>(ResultCode.OK).apply {
|
||||||
data = readData(propfindMethod.root.properties)
|
data = readData(propfindMethod.root?.properties)
|
||||||
}.also {
|
}.also {
|
||||||
Timber.i("Get quota completed: ${it.data} and message: ${it.logMessage}")
|
Timber.i("Get quota completed: ${it.data} and message: ${it.logMessage}")
|
||||||
}
|
}
|
||||||
@ -81,9 +81,16 @@ class GetRemoteUserQuotaOperation : RemoteOperation<RemoteQuota>() {
|
|||||||
* @param properties WebDAV properties containing quota data
|
* @param properties WebDAV properties containing quota data
|
||||||
* @return new [RemoteQuota] instance representing the data read from the server
|
* @return new [RemoteQuota] instance representing the data read from the server
|
||||||
*/
|
*/
|
||||||
private fun readData(properties: List<Property>): RemoteQuota {
|
private fun readData(properties: List<Property>?): RemoteQuota {
|
||||||
var quotaAvailable: Long = 0
|
var quotaAvailable: Long = 0
|
||||||
var quotaUsed: Long = 0
|
var quotaUsed: Long = 0
|
||||||
|
|
||||||
|
if (properties == null) {
|
||||||
|
// Should not happen
|
||||||
|
Timber.d("Unable to get quota")
|
||||||
|
return RemoteQuota(0, 0, 0, 0.0)
|
||||||
|
}
|
||||||
|
|
||||||
for (property in properties) {
|
for (property in properties) {
|
||||||
if (property is QuotaAvailableBytes) {
|
if (property is QuotaAvailableBytes) {
|
||||||
quotaAvailable = property.quotaAvailableBytes
|
quotaAvailable = property.quotaAvailableBytes
|
||||||
|
Loading…
x
Reference in New Issue
Block a user