From 058e7153a13fd161d821b78f6a9c7cf93a0856fb Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 9 Jul 2019 11:05:25 +0200 Subject: [PATCH] Fix bug --- .../android/internal/session/DefaultFileService.kt | 12 ++++++------ .../features/home/room/detail/RoomDetailViewModel.kt | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/DefaultFileService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/DefaultFileService.kt index b23f56bc..0f1554ea 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/DefaultFileService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/DefaultFileService.kt @@ -62,11 +62,9 @@ internal class DefaultFileService @Inject constructor(private val context: Conte val folder = getFolder(downloadMode, id) File(folder, fileName) - }.map { destFile -> - if (!destFile.exists()) { + }.flatMap { destFile -> + if (!destFile.exists() || downloadMode == FileService.DownloadMode.TO_EXPORT) { Try { - Timber.v("## decrypt file") - val resolvedUrl = contentUrlResolver.resolveFullSize(url) ?: throw IllegalArgumentException("url is null") val request = Request.Builder() @@ -82,6 +80,7 @@ internal class DefaultFileService @Inject constructor(private val context: Conte } if (elementToDecrypt != null) { + Timber.v("## decrypt file") MXEncryptedAttachments.decryptAttachment(inputStream, elementToDecrypt) ?: throw IllegalStateException("Decryption error") } else { inputStream @@ -89,10 +88,11 @@ internal class DefaultFileService @Inject constructor(private val context: Conte } .map { inputStream -> writeToFile(inputStream, destFile) + destFile } + } else { + Try.just(destFile) } - - destFile } } .foldToCallback(callback) diff --git a/vector/src/main/java/im/vector/riotx/features/home/room/detail/RoomDetailViewModel.kt b/vector/src/main/java/im/vector/riotx/features/home/room/detail/RoomDetailViewModel.kt index 336179a6..d8b03cc8 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/room/detail/RoomDetailViewModel.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/room/detail/RoomDetailViewModel.kt @@ -452,7 +452,7 @@ class RoomDetailViewModel @AssistedInject constructor(@Assisted initialState: Ro FileService.DownloadMode.TO_EXPORT, action.eventId, action.messageFileContent.getFileName(), - action.messageFileContent.url, + action.messageFileContent.encryptedFileInfo?.url ?: action.messageFileContent.url, action.messageFileContent.encryptedFileInfo?.toElementToDecrypt(), object : MatrixCallback { override fun onSuccess(data: File) {