Loading library/src/main/java/com/nextcloud/extensions/ParcelExtensions.kt 0 → 100644 +20 −0 Original line number Diff line number Diff line /* * Nextcloud Android Library * * SPDX-FileCopyrightText: 2024 ZetaTom <70907959+zetatom@users.noreply.github.com> * SPDX-License-Identifier: MIT */ package com.nextcloud.extensions import android.os.Build import android.os.Parcel import java.io.Serializable inline fun <reified T : Serializable?> Parcel.readSerializableCompat(): T? = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { readSerializable(T::class.java.classLoader, T::class.java) } else { @Suppress("DEPRECATION") readSerializable() as? T } library/src/main/java/com/owncloud/android/lib/resources/shares/OCShare.kt +6 −0 Original line number Diff line number Diff line Loading @@ -12,6 +12,8 @@ package com.owncloud.android.lib.resources.shares import android.os.Parcel import android.os.Parcelable import com.nextcloud.android.lib.resources.files.FileDownloadLimit import com.nextcloud.extensions.readSerializableCompat import com.owncloud.android.lib.common.utils.Log_OC import com.owncloud.android.lib.resources.files.FileUtils import java.io.Serializable Loading Loading @@ -70,6 +72,7 @@ class OCShare : var mimetype: String? = null var ownerDisplayName: String? = null var isFavorite = false var fileDownloadLimit: FileDownloadLimit? = null constructor() : super() { resetData() Loading Loading @@ -110,6 +113,7 @@ class OCShare : isHasPreview = false mimetype = "" ownerDisplayName = "" fileDownloadLimit = null } /** Loading Loading @@ -149,6 +153,7 @@ class OCShare : isHasPreview = source.readInt() == 1 mimetype = source.readString() ownerDisplayName = source.readString() fileDownloadLimit = source.readSerializableCompat() } override fun describeContents(): Int = this.hashCode() Loading Loading @@ -178,6 +183,7 @@ class OCShare : dest.writeInt(if (isHasPreview) 1 else 0) dest.writeString(mimetype) dest.writeString(ownerDisplayName) dest.writeSerializable(fileDownloadLimit) } companion object { Loading library/src/main/java/com/owncloud/android/lib/resources/status/GetCapabilitiesRemoteOperation.java +20 −0 Original line number Diff line number Diff line Loading @@ -166,6 +166,10 @@ public class GetCapabilitiesRemoteOperation extends RemoteOperation { private static final String FORBIDDEN_FILENAME_EXTENSIONS = "forbidden_filename_extensions"; private static final String FORBIDDEN_FILENAME_BASE_NAMES = "forbidden_filename_basenames"; // files download limits private static final String NODE_FILES_DOWNLOAD_LIMIT = "downloadlimit"; private static final String FILES_DOWNLOAD_LIMIT_DEFAULT = "default-limit"; private OCCapability currentCapability = null; public GetCapabilitiesRemoteOperation() { Loading Loading @@ -734,6 +738,22 @@ public class GetCapabilitiesRemoteOperation extends RemoteOperation { } else { capability.setSecurityGuard(CapabilityBooleanType.FALSE); } // files download limits if (respCapabilities.has(NODE_FILES_DOWNLOAD_LIMIT)) { JSONObject filesDownloadLimitCapability = respCapabilities.getJSONObject(NODE_FILES_DOWNLOAD_LIMIT); if (filesDownloadLimitCapability.getBoolean(PROPERTY_ENABLED)) { capability.setFilesDownloadLimit(CapabilityBooleanType.TRUE); } else { capability.setFilesDownloadLimit(CapabilityBooleanType.FALSE); } if (filesDownloadLimitCapability.has(FILES_DOWNLOAD_LIMIT_DEFAULT)) { int defaultDownloadLimit = filesDownloadLimitCapability.getInt(FILES_DOWNLOAD_LIMIT_DEFAULT); capability.setFilesDownloadLimitDefault(defaultDownloadLimit); } } } Log_OC.d(TAG, "*** Get Capabilities completed "); Loading library/src/main/java/com/owncloud/android/lib/resources/status/OCCapability.kt +4 −0 Original line number Diff line number Diff line Loading @@ -110,6 +110,10 @@ class OCCapability { var forbiddenFilenameExtensionJson: String? = null var forbiddenFilenameBaseNamesJson: String? = null // files download limits var filesDownloadLimit = CapabilityBooleanType.UNKNOWN var filesDownloadLimitDefault = 0 // Etag for capabilities var etag: String? = "" Loading Loading
library/src/main/java/com/nextcloud/extensions/ParcelExtensions.kt 0 → 100644 +20 −0 Original line number Diff line number Diff line /* * Nextcloud Android Library * * SPDX-FileCopyrightText: 2024 ZetaTom <70907959+zetatom@users.noreply.github.com> * SPDX-License-Identifier: MIT */ package com.nextcloud.extensions import android.os.Build import android.os.Parcel import java.io.Serializable inline fun <reified T : Serializable?> Parcel.readSerializableCompat(): T? = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { readSerializable(T::class.java.classLoader, T::class.java) } else { @Suppress("DEPRECATION") readSerializable() as? T }
library/src/main/java/com/owncloud/android/lib/resources/shares/OCShare.kt +6 −0 Original line number Diff line number Diff line Loading @@ -12,6 +12,8 @@ package com.owncloud.android.lib.resources.shares import android.os.Parcel import android.os.Parcelable import com.nextcloud.android.lib.resources.files.FileDownloadLimit import com.nextcloud.extensions.readSerializableCompat import com.owncloud.android.lib.common.utils.Log_OC import com.owncloud.android.lib.resources.files.FileUtils import java.io.Serializable Loading Loading @@ -70,6 +72,7 @@ class OCShare : var mimetype: String? = null var ownerDisplayName: String? = null var isFavorite = false var fileDownloadLimit: FileDownloadLimit? = null constructor() : super() { resetData() Loading Loading @@ -110,6 +113,7 @@ class OCShare : isHasPreview = false mimetype = "" ownerDisplayName = "" fileDownloadLimit = null } /** Loading Loading @@ -149,6 +153,7 @@ class OCShare : isHasPreview = source.readInt() == 1 mimetype = source.readString() ownerDisplayName = source.readString() fileDownloadLimit = source.readSerializableCompat() } override fun describeContents(): Int = this.hashCode() Loading Loading @@ -178,6 +183,7 @@ class OCShare : dest.writeInt(if (isHasPreview) 1 else 0) dest.writeString(mimetype) dest.writeString(ownerDisplayName) dest.writeSerializable(fileDownloadLimit) } companion object { Loading
library/src/main/java/com/owncloud/android/lib/resources/status/GetCapabilitiesRemoteOperation.java +20 −0 Original line number Diff line number Diff line Loading @@ -166,6 +166,10 @@ public class GetCapabilitiesRemoteOperation extends RemoteOperation { private static final String FORBIDDEN_FILENAME_EXTENSIONS = "forbidden_filename_extensions"; private static final String FORBIDDEN_FILENAME_BASE_NAMES = "forbidden_filename_basenames"; // files download limits private static final String NODE_FILES_DOWNLOAD_LIMIT = "downloadlimit"; private static final String FILES_DOWNLOAD_LIMIT_DEFAULT = "default-limit"; private OCCapability currentCapability = null; public GetCapabilitiesRemoteOperation() { Loading Loading @@ -734,6 +738,22 @@ public class GetCapabilitiesRemoteOperation extends RemoteOperation { } else { capability.setSecurityGuard(CapabilityBooleanType.FALSE); } // files download limits if (respCapabilities.has(NODE_FILES_DOWNLOAD_LIMIT)) { JSONObject filesDownloadLimitCapability = respCapabilities.getJSONObject(NODE_FILES_DOWNLOAD_LIMIT); if (filesDownloadLimitCapability.getBoolean(PROPERTY_ENABLED)) { capability.setFilesDownloadLimit(CapabilityBooleanType.TRUE); } else { capability.setFilesDownloadLimit(CapabilityBooleanType.FALSE); } if (filesDownloadLimitCapability.has(FILES_DOWNLOAD_LIMIT_DEFAULT)) { int defaultDownloadLimit = filesDownloadLimitCapability.getInt(FILES_DOWNLOAD_LIMIT_DEFAULT); capability.setFilesDownloadLimitDefault(defaultDownloadLimit); } } } Log_OC.d(TAG, "*** Get Capabilities completed "); Loading
library/src/main/java/com/owncloud/android/lib/resources/status/OCCapability.kt +4 −0 Original line number Diff line number Diff line Loading @@ -110,6 +110,10 @@ class OCCapability { var forbiddenFilenameExtensionJson: String? = null var forbiddenFilenameBaseNamesJson: String? = null // files download limits var filesDownloadLimit = CapabilityBooleanType.UNKNOWN var filesDownloadLimitDefault = 0 // Etag for capabilities var etag: String? = "" Loading