diff --git a/app/build.gradle b/app/build.gradle index b75d63e61dd..135e2f17f70 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -49,8 +49,6 @@ android { resValue 'string', 'EML_AUTHORITY', 'com.infomaniak.mail.eml' resValue 'string', 'FILES_AUTHORITY', 'com.infomaniak.mail.attachments;com.infomaniak.mail.eml' - resValue 'string', 'EXPOSED_EML_PATH', 'eml_export' - resourceConfigurations += ["en", "de", "es", "fr", "it"] } diff --git a/app/src/main/java/com/infomaniak/mail/ui/main/thread/actions/DownloadMessagesViewModel.kt b/app/src/main/java/com/infomaniak/mail/ui/main/thread/actions/DownloadMessagesViewModel.kt index 387d69a204c..a93ec891af9 100644 --- a/app/src/main/java/com/infomaniak/mail/ui/main/thread/actions/DownloadMessagesViewModel.kt +++ b/app/src/main/java/com/infomaniak/mail/ui/main/thread/actions/DownloadMessagesViewModel.kt @@ -31,6 +31,7 @@ import com.infomaniak.mail.data.api.ApiRepository import com.infomaniak.mail.data.cache.mailboxContent.MessageController import com.infomaniak.mail.data.models.mailbox.Mailbox import com.infomaniak.mail.di.IoDispatcher +import com.infomaniak.mail.utils.LocalStorageUtils.emlCacheDir import com.infomaniak.mail.utils.coroutineContext import com.infomaniak.mail.utils.extensions.appContext import dagger.hilt.android.lifecycle.HiltViewModel @@ -90,14 +91,14 @@ class DownloadMessagesViewModel @Inject constructor( } private fun getAllFileNameInExportEmlDir(context: Context): List { - val fileDir = File(context.cacheDir, context.getString(R.string.EXPOSED_EML_PATH)) + val fileDir = context.emlCacheDir if (!fileDir.exists()) fileDir.mkdirs() return fileDir.listFiles()?.map { it.name.removeSuffix(".eml") } ?: emptyList() } private fun saveEmlToFile(context: Context, emlByteArray: ByteArray, fileName: String): Uri? { val fileNameWithExtension = "${fileName.removeIllegalFileNameCharacter()}.eml" - val fileDir = File(context.cacheDir, context.getString(R.string.EXPOSED_EML_PATH)) + val fileDir = context.emlCacheDir if (!fileDir.exists()) fileDir.mkdirs() diff --git a/app/src/main/java/com/infomaniak/mail/utils/LocalStorageUtils.kt b/app/src/main/java/com/infomaniak/mail/utils/LocalStorageUtils.kt index d682a8d95f2..85a1f2431d2 100644 --- a/app/src/main/java/com/infomaniak/mail/utils/LocalStorageUtils.kt +++ b/app/src/main/java/com/infomaniak/mail/utils/LocalStorageUtils.kt @@ -23,6 +23,7 @@ import com.infomaniak.mail.R import com.infomaniak.mail.data.api.ApiRepository import com.infomaniak.mail.data.models.Attachment import com.infomaniak.mail.ui.main.SnackbarManager +import com.infomaniak.mail.utils.LocalStorageUtils.attachmentsCacheRootDir import io.sentry.Sentry import okhttp3.Response import java.io.File @@ -36,10 +37,13 @@ object LocalStorageUtils { private const val ATTACHMENTS_UPLOAD_DIR = "attachments_upload" private const val HIDDEN_FILE_NAME = "HIDDEN_FILE_NAME" private const val NAME_TOO_LONG_EXCEPTION = "ENAMETOOLONG" + const val EML_CACHE_DIR = "eml_export" private inline val Context.attachmentsCacheRootDir get() = File(cacheDir, ATTACHMENTS_CACHE_DIR) private inline val Context.attachmentsUploadRootDir get() = File(filesDir, ATTACHMENTS_UPLOAD_DIR) + inline val Context.emlCacheDir get() = File(cacheDir, EML_CACHE_DIR) + //region Cache fun getAttachmentsCacheDir( context: Context,