diff --git a/owncloudComLibrary/build.gradle b/owncloudComLibrary/build.gradle index 971d400e..384dacf3 100644 --- a/owncloudComLibrary/build.gradle +++ b/owncloudComLibrary/build.gradle @@ -4,8 +4,6 @@ apply plugin: 'kotlin-kapt' apply plugin: 'kotlin-allopen' dependencies { - implementation project(':owncloudDomain') - api 'com.squareup.okhttp3:okhttp:3.12.0' implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlinVersion" api 'com.gitlab.ownclouders:dav4android:oc_support_1.0.1' diff --git a/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/CreateRemoteShareOperation.kt b/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/CreateRemoteShareOperation.kt index cfec6248..b7080c4d 100644 --- a/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/CreateRemoteShareOperation.kt +++ b/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/CreateRemoteShareOperation.kt @@ -27,7 +27,6 @@ package com.owncloud.android.lib.resources.shares -import com.owncloud.android.domain.sharing.shares.model.ShareType import com.owncloud.android.lib.common.OwnCloudClient import com.owncloud.android.lib.common.http.HttpConstants import com.owncloud.android.lib.common.http.methods.nonwebdav.PostMethod diff --git a/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/RemoteShare.kt b/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/RemoteShare.kt index 2d75b125..a088ebc5 100644 --- a/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/RemoteShare.kt +++ b/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/RemoteShare.kt @@ -26,7 +26,6 @@ package com.owncloud.android.lib.resources.shares import android.os.Parcel import android.os.Parcelable -import com.owncloud.android.domain.sharing.shares.model.ShareType import com.owncloud.android.lib.common.utils.Log_OC import com.owncloud.android.lib.resources.files.FileUtils import java.io.Serializable @@ -196,4 +195,45 @@ class RemoteShare : Parcelable, Serializable { } } } + + +} + +/** + * // TODO This type is already included in the domain but we still need it here since the parsing takes place in this library for the moment + * + * Enum for Share Type, with values: + * -1 - No shared + * 0 - Shared by user + * 1 - Shared by group + * 3 - Shared by public link + * 4 - Shared by e-mail + * 5 - Shared by contact + * 6 - Federated + * + * @author masensio + */ +enum class ShareType constructor(val value: Int) { + NO_SHARED(-1), + USER(0), + GROUP(1), + PUBLIC_LINK(3), + EMAIL(4), + CONTACT(5), + FEDERATED(6); + + companion object { + fun fromValue(value: Int): ShareType? { + return when (value) { + -1 -> NO_SHARED + 0 -> USER + 1 -> GROUP + 3 -> PUBLIC_LINK + 4 -> EMAIL + 5 -> CONTACT + 6 -> FEDERATED + else -> null + } + } + } } diff --git a/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/RemoteShareMapper.kt b/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/RemoteShareMapper.kt deleted file mode 100644 index b2a56a06..00000000 --- a/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/RemoteShareMapper.kt +++ /dev/null @@ -1,51 +0,0 @@ -/** - * ownCloud Android client application - * - * @author David González Verdugo - * Copyright (C) 2019 ownCloud GmbH. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2, - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package com.owncloud.android.lib.resources.shares - -import com.owncloud.android.domain.mappers.RemoteMapper -import com.owncloud.android.domain.sharing.shares.model.OCShare - -class RemoteShareMapper : RemoteMapper { - override fun toModel(remote: RemoteShare?): OCShare? = - remote?.let { - OCShare( - fileSource = remote.fileSource, - itemSource = remote.itemSource, - shareType = remote.shareType!!, - shareWith = remote.shareWith, - path = remote.path, - permissions = remote.permissions, - sharedDate = remote.sharedDate, - expirationDate = remote.expirationDate, - token = remote.token, - sharedWithDisplayName = remote.sharedWithDisplayName, - sharedWithAdditionalInfo = remote.sharedWithAdditionalInfo, - isFolder = remote.isFolder, - userId = remote.userId, - remoteId = remote.id, - name = remote.name, - shareLink = remote.shareLink - ) - } - - override fun toRemote(model: OCShare?): RemoteShare? { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. - } -} diff --git a/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/ShareToRemoteOperationResultParser.kt b/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/ShareToRemoteOperationResultParser.kt index 775e35d8..09fc03ab 100644 --- a/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/ShareToRemoteOperationResultParser.kt +++ b/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/ShareToRemoteOperationResultParser.kt @@ -28,7 +28,6 @@ package com.owncloud.android.lib.resources.shares import android.net.Uri -import com.owncloud.android.domain.sharing.shares.model.ShareType import com.owncloud.android.lib.common.operations.RemoteOperationResult import com.owncloud.android.lib.common.utils.Log_OC import com.owncloud.android.lib.resources.status.OwnCloudVersion diff --git a/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/ShareXMLParser.kt b/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/ShareXMLParser.kt index 95b60982..df634321 100644 --- a/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/ShareXMLParser.kt +++ b/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/ShareXMLParser.kt @@ -25,7 +25,6 @@ package com.owncloud.android.lib.resources.shares import android.util.Xml -import com.owncloud.android.domain.sharing.shares.model.ShareType import com.owncloud.android.lib.common.network.WebdavUtils import com.owncloud.android.lib.resources.files.FileUtils diff --git a/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/status/GetRemoteCapabilitiesOperation.kt b/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/status/GetRemoteCapabilitiesOperation.kt index 2dc62568..d5ab846d 100644 --- a/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/status/GetRemoteCapabilitiesOperation.kt +++ b/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/status/GetRemoteCapabilitiesOperation.kt @@ -27,7 +27,6 @@ package com.owncloud.android.lib.resources.status -import com.owncloud.android.domain.capabilities.model.CapabilityBooleanType import com.owncloud.android.lib.common.OwnCloudClient import com.owncloud.android.lib.common.http.HttpConstants import com.owncloud.android.lib.common.http.methods.nonwebdav.GetMethod diff --git a/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/status/RemoteCapability.kt b/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/status/RemoteCapability.kt index 2de02389..6645a3aa 100644 --- a/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/status/RemoteCapability.kt +++ b/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/status/RemoteCapability.kt @@ -26,8 +26,6 @@ */ package com.owncloud.android.lib.resources.status -import com.owncloud.android.domain.capabilities.model.CapabilityBooleanType - /** * Contains data of the Capabilities for an account, from the Capabilities API */ @@ -104,3 +102,43 @@ class RemoteCapability { filesVersioning = CapabilityBooleanType.UNKNOWN } } + +/** + * Enum for Boolean Type in capabilities, with values: + * -1 - Unknown + * 0 - False + * 1 - True + */ +enum class CapabilityBooleanType constructor(val value: Int) { + UNKNOWN(-1), + FALSE(0), + TRUE(1); + + val isUnknown: Boolean + get() = value == -1 + + val isFalse: Boolean + get() = value == 0 + + val isTrue: Boolean + get() = value == 1 + + companion object { + fun fromValue(value: Int): CapabilityBooleanType? { + return when (value) { + -1 -> UNKNOWN + 0 -> FALSE + 1 -> TRUE + else -> null + } + } + + fun fromBooleanValue(boolValue: Boolean): CapabilityBooleanType { + return if (boolValue) { + TRUE + } else { + FALSE + } + } + } +} diff --git a/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/status/RemoteCapabilityMapper.kt b/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/status/RemoteCapabilityMapper.kt deleted file mode 100644 index 431816c0..00000000 --- a/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/status/RemoteCapabilityMapper.kt +++ /dev/null @@ -1,62 +0,0 @@ -/** - * ownCloud Android client application - * - * @author David González Verdugo - * Copyright (C) 2019 ownCloud GmbH. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2, - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package com.owncloud.android.lib.resources.status - -import com.owncloud.android.domain.capabilities.model.OCCapability -import com.owncloud.android.domain.mappers.RemoteMapper - -class RemoteCapabilityMapper : RemoteMapper { - override fun toModel(remote: RemoteCapability?): OCCapability? = - remote?.let { - OCCapability( - accountName = remote.accountName, - versionMayor = remote.versionMayor, - versionMinor = remote.versionMinor, - versionMicro = remote.versionMicro, - versionString = remote.versionString, - versionEdition = remote.versionEdition, - corePollInterval = remote.corePollinterval, - filesSharingApiEnabled = remote.filesSharingApiEnabled, - filesSharingPublicEnabled = remote.filesSharingPublicEnabled, - filesSharingPublicPasswordEnforced = remote.filesSharingPublicPasswordEnforced, - filesSharingPublicPasswordEnforcedReadOnly = remote.filesSharingPublicPasswordEnforcedReadOnly, - filesSharingPublicPasswordEnforcedReadWrite = remote.filesSharingPublicPasswordEnforcedReadWrite, - filesSharingPublicPasswordEnforcedUploadOnly = remote.filesSharingPublicPasswordEnforcedUploadOnly, - filesSharingPublicExpireDateEnabled = remote.filesSharingPublicExpireDateEnabled, - filesSharingPublicExpireDateDays = remote.filesSharingPublicExpireDateDays, - filesSharingPublicExpireDateEnforced = remote.filesSharingPublicExpireDateEnforced, - filesSharingPublicSendMail = remote.filesSharingPublicSendMail, - filesSharingPublicUpload = remote.filesSharingPublicUpload, - filesSharingPublicMultiple = remote.filesSharingPublicMultiple, - filesSharingPublicSupportsUploadOnly = remote.filesSharingPublicSupportsUploadOnly, - filesSharingUserSendMail = remote.filesSharingUserSendMail, - filesSharingResharing = remote.filesSharingResharing, - filesSharingFederationOutgoing = remote.filesSharingFederationOutgoing, - filesSharingFederationIncoming = remote.filesSharingFederationIncoming, - filesBigFileChunking = remote.filesBigFileChunking, - filesUndelete = remote.filesUndelete, - filesVersioning = remote.filesVersioning - ) - } - - override fun toRemote(model: OCCapability?): RemoteCapability? { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. - } -}