diff --git a/changelog.d/5394.bugfix b/changelog.d/5394.bugfix new file mode 100644 index 0000000000..f8c5311492 --- /dev/null +++ b/changelog.d/5394.bugfix @@ -0,0 +1 @@ +Fix incorrect media cache size in settings \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/file/FileService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/file/FileService.kt index 23dc1e0ba8..f76e4be440 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/file/FileService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/file/FileService.kt @@ -117,5 +117,5 @@ interface FileService { /** * Get size of cached files */ - fun getCacheSize(): Int + fun getCacheSize(): Long } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/DefaultFileService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/DefaultFileService.kt index 14dfc097cf..08651764c2 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/DefaultFileService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/DefaultFileService.kt @@ -323,13 +323,13 @@ internal class DefaultFileService @Inject constructor( return FileProvider.getUriForFile(context, authority, targetFile) } - override fun getCacheSize(): Int { + override fun getCacheSize(): Long { return downloadFolder.walkTopDown() .onEnter { Timber.v("Get size of ${it.absolutePath}") true } - .sumOf { it.length().toInt() } + .sumOf { it.length() } } override fun clearCache() { diff --git a/vector/src/main/java/im/vector/app/core/utils/FileUtils.kt b/vector/src/main/java/im/vector/app/core/utils/FileUtils.kt index 7ce6dd1c67..8d0c308202 100644 --- a/vector/src/main/java/im/vector/app/core/utils/FileUtils.kt +++ b/vector/src/main/java/im/vector/app/core/utils/FileUtils.kt @@ -125,11 +125,11 @@ fun getFileExtension(fileUri: String): String? { * Size * ========================================================================================== */ -fun getSizeOfFiles(root: File): Int { +fun getSizeOfFiles(root: File): Long { return root.walkTopDown() .onEnter { Timber.v("Get size of ${it.absolutePath}") true } - .sumOf { it.length().toInt() } + .sumOf { it.length() } } diff --git a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsGeneralFragment.kt b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsGeneralFragment.kt index c572b72ca8..767e555ede 100644 --- a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsGeneralFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsGeneralFragment.kt @@ -251,7 +251,7 @@ class VectorSettingsGeneralFragment @Inject constructor( Glide.get(requireContext()).clearMemory() session.fileService().clearCache() - var newSize: Int + var newSize: Long withContext(Dispatchers.IO) { // On BG thread @@ -261,7 +261,7 @@ class VectorSettingsGeneralFragment @Inject constructor( newSize += session.fileService().getCacheSize() } - it.summary = TextUtils.formatFileSize(requireContext(), newSize.toLong()) + it.summary = TextUtils.formatFileSize(requireContext(), newSize) hideLoadingView() }