From 2ee8b98b459a15a074b6239e2ce7b7c9ad227a46 Mon Sep 17 00:00:00 2001 From: Abdourahamane Boinaidi Date: Mon, 10 Mar 2025 15:52:20 +0100 Subject: [PATCH 1/2] chore: Add Unknown activity --- .../java/com/infomaniak/drive/data/models/FileActivityType.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/java/com/infomaniak/drive/data/models/FileActivityType.kt b/app/src/main/java/com/infomaniak/drive/data/models/FileActivityType.kt index 37033113c1..909e6774e9 100644 --- a/app/src/main/java/com/infomaniak/drive/data/models/FileActivityType.kt +++ b/app/src/main/java/com/infomaniak/drive/data/models/FileActivityType.kt @@ -82,4 +82,5 @@ enum class FileActivityType { COLLABORATIVE_FOLDER_UPDATE, @SerializedName("collaborative_folder_delete") COLLABORATIVE_FOLDER_DELETE, + UNKNOWN, } From e8f310cfe08e94fe693bf1948381fb023efc1e08 Mon Sep 17 00:00:00 2001 From: Abdourahamane Boinaidi Date: Mon, 10 Mar 2025 15:53:31 +0100 Subject: [PATCH 2/2] fix: Make Unknown action as default activity --- .../infomaniak/drive/data/cache/FolderFilesProvider.kt | 10 ++++++++-- .../com/infomaniak/drive/data/models/FileAction.kt | 8 ++++++-- .../com/infomaniak/drive/data/models/FileActivity.kt | 2 +- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/infomaniak/drive/data/cache/FolderFilesProvider.kt b/app/src/main/java/com/infomaniak/drive/data/cache/FolderFilesProvider.kt index 49bf6b4c49..458d689d23 100644 --- a/app/src/main/java/com/infomaniak/drive/data/cache/FolderFilesProvider.kt +++ b/app/src/main/java/com/infomaniak/drive/data/cache/FolderFilesProvider.kt @@ -31,6 +31,7 @@ import com.infomaniak.drive.data.services.MqttClientWrapper import com.infomaniak.drive.utils.AccountUtils import com.infomaniak.drive.utils.FileId import com.infomaniak.drive.utils.Utils.ROOT_ID +import com.infomaniak.lib.core.utils.SentryLog import io.realm.Realm import io.realm.RealmQuery import io.sentry.Sentry @@ -43,6 +44,8 @@ import java.util.Calendar object FolderFilesProvider { + private val TAG = FolderFilesProvider::class.java.simpleName + // Bump this when we want to force-refresh files that are too old. // Example: We did it when we added Categories & Colored folders, to automatically display them when updating the app. private const val MIN_VERSION_CODE = 5_00_010_01 @@ -396,7 +399,7 @@ object FolderFilesProvider { ) { val actionFile = actionFiles[fileId] - when (action) { + when (actionType) { FileActivityType.FILE_DELETE, FileActivityType.FILE_MOVE_OUT, FileActivityType.FILE_TRASH -> { @@ -408,6 +411,9 @@ object FolderFilesProvider { } } else -> { + if (actionType == FileActivityType.UNKNOWN) { + SentryLog.e(TAG, "The action with value '$actionType' is unknown") + } // The file has not yet been managed and is not the parent folder. if (returnResponse[fileId] == null && actionFile?.id != currentFolder.id) { upsertAction(realm, currentFolder, actionFile) @@ -421,7 +427,7 @@ object FolderFilesProvider { FileController.getParentFile(fileId = fileId, realm = realm)?.let { localFolder -> if (localFolder.id != currentFolder.id) return@let - if (action == FileActivityType.FILE_MOVE_OUT) { + if (actionType == FileActivityType.FILE_MOVE_OUT) { FileController.updateFile(localFolder.id, realm) { it.children.remove(actionFile) } } else { FileController.removeFile(fileId, customRealm = realm, recursive = false) diff --git a/app/src/main/java/com/infomaniak/drive/data/models/FileAction.kt b/app/src/main/java/com/infomaniak/drive/data/models/FileAction.kt index 6a5c9d3316..fb8d061f96 100644 --- a/app/src/main/java/com/infomaniak/drive/data/models/FileAction.kt +++ b/app/src/main/java/com/infomaniak/drive/data/models/FileAction.kt @@ -19,14 +19,18 @@ package com.infomaniak.drive.data.models import android.os.Parcelable import com.google.gson.annotations.SerializedName +import com.infomaniak.core.utils.enumValueOfOrNull import kotlinx.parcelize.Parcelize @Parcelize data class FileAction( - val action: FileActivityType, + @SerializedName("action") + val actionString: String, @SerializedName("file_id") val fileId: Int, @SerializedName("parent_id") val parentId: Int, val path: String, -) : Parcelable +) : Parcelable { + val actionType get() = enumValueOfOrNull(actionString) ?: FileActivityType.UNKNOWN +} diff --git a/app/src/main/java/com/infomaniak/drive/data/models/FileActivity.kt b/app/src/main/java/com/infomaniak/drive/data/models/FileActivity.kt index 39dc6eaa16..384c4913b1 100644 --- a/app/src/main/java/com/infomaniak/drive/data/models/FileActivity.kt +++ b/app/src/main/java/com/infomaniak/drive/data/models/FileActivity.kt @@ -141,7 +141,7 @@ open class FileActivity( FileActivityType.FILE_UNCATEGORIZE -> R.string.fileDetailsActivityFileUncategorize FileActivityType.FILE_COLOR_UPDATE -> R.string.fileDetailsActivityFileColorUpdate FileActivityType.FILE_COLOR_DELETE -> R.string.fileDetailsActivityFileColorDelete - null -> null + else -> null } fun getDay(context: Context): String {