mirror of https://github.com/nextcloud/android
Remove deleted files from metadata
Signed-off-by: alperozturk <alper_ozturk@proton.me>
This commit is contained in:
parent
981d3dd3ec
commit
57b295c13f
|
@ -36,6 +36,7 @@ import org.apache.jackrabbit.webdav.client.methods.DeleteMethod
|
|||
* @param parentFolder parent folder
|
||||
*/
|
||||
|
||||
@Suppress("LongParameterList")
|
||||
class RemoveRemoteEncryptedFileOperation internal constructor(
|
||||
private val remotePath: String,
|
||||
private val user: User,
|
||||
|
@ -48,6 +49,8 @@ class RemoveRemoteEncryptedFileOperation internal constructor(
|
|||
/**
|
||||
* Performs the remove operation.
|
||||
*/
|
||||
@Deprecated("Deprecated in Java")
|
||||
@Suppress("TooGenericExceptionCaught")
|
||||
override fun run(client: OwnCloudClient): RemoteOperationResult<Void> {
|
||||
val result: RemoteOperationResult<Void>
|
||||
var delete: DeleteMethod? = null
|
||||
|
@ -110,9 +113,10 @@ class RemoveRemoteEncryptedFileOperation internal constructor(
|
|||
}
|
||||
|
||||
private fun deleteForV1(client: OwnCloudClient, token: String?): Pair<RemoteOperationResult<Void>, DeleteMethod> {
|
||||
@Suppress("DEPRECATION")
|
||||
val arbitraryDataProvider: ArbitraryDataProvider = ArbitraryDataProviderImpl(context)
|
||||
val publicKey = arbitraryDataProvider.getValue(user.accountName, EncryptionUtils.PUBLIC_KEY)
|
||||
val privateKey = arbitraryDataProvider.getValue(user.accountName, EncryptionUtils.PRIVATE_KEY)
|
||||
val publicKey = arbitraryDataProvider.getValue(user.accountName, EncryptionUtils.PUBLIC_KEY)
|
||||
|
||||
val (metadataExists, metadata) = EncryptionUtils.retrieveMetadataV1(
|
||||
parentFolder,
|
||||
|
@ -125,6 +129,10 @@ class RemoveRemoteEncryptedFileOperation internal constructor(
|
|||
|
||||
val (result, delete) = deleteRemoteFile(client, token)
|
||||
|
||||
if (!isFolder) {
|
||||
EncryptionUtils.removeFileFromMetadata(fileName, metadata)
|
||||
}
|
||||
|
||||
val encryptedFolderMetadata = EncryptionUtils.encryptFolderMetadata(
|
||||
metadata,
|
||||
publicKey,
|
||||
|
|
|
@ -169,6 +169,10 @@ public final class EncryptionUtils {
|
|||
}
|
||||
}
|
||||
|
||||
public static void removeFileFromMetadata(String fileName, DecryptedFolderMetadataFileV1 metadata) {
|
||||
metadata.getFiles().remove(fileName);
|
||||
}
|
||||
|
||||
public static String serializeJSON(Object data) {
|
||||
return serializeJSON(data, false);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue