From 1c12e73337c8832449a72e2519cdefff957b4024 Mon Sep 17 00:00:00 2001 From: alperozturk96 Date: Wed, 13 May 2026 08:39:08 +0200 Subject: [PATCH 1/2] fix(file-details): refresh from fda Signed-off-by: alperozturk96 --- .../ui/activity/FileDisplayActivity.kt | 86 ++++++++++--------- 1 file changed, 46 insertions(+), 40 deletions(-) diff --git a/app/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.kt b/app/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.kt index c23fc17a52bc..10b6e6f6f199 100644 --- a/app/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.kt +++ b/app/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.kt @@ -837,54 +837,60 @@ class FileDisplayActivity : downloadedRemotePath: String, success: Boolean ) { - val leftFragment = this.leftFragment - if (leftFragment is FileDetailFragment) { - val waitedPreview = mWaitingToPreview != null && mWaitingToPreview?.remotePath == downloadedRemotePath - val fileInFragment = leftFragment.file - if (fileInFragment != null && downloadedRemotePath != fileInFragment.remotePath) { - // the user browsed to other file ; forget the automatic preview - mWaitingToPreview = null - } else if (downloadEvent == FileDownloadEventBroadcaster.ACTION_DOWNLOAD_ENQUEUED) { - // grant that the details fragment updates the progress bar + val leftFragment = this.leftFragment as? FileDetailFragment ?: return + val fileInFragment = leftFragment.file + + if (fileInFragment != null && downloadedRemotePath != fileInFragment.remotePath) { + mWaitingToPreview = null + return + } + + when (downloadEvent) { + FileDownloadEventBroadcaster.ACTION_DOWNLOAD_ENQUEUED -> { leftFragment.listenForTransferProgress() leftFragment.updateFileDetails(true, false) - } else if (downloadEvent == FileDownloadEventBroadcaster.ACTION_DOWNLOAD_COMPLETED) { - // update the details panel - var detailsFragmentChanged = false - if (waitedPreview) { - if (success) { - // update the file from database, for the local storage path - mWaitingToPreview = mWaitingToPreview?.fileId?.let { storageManager.getFileById(it) } - - if (PreviewMediaActivity.Companion.canBePreviewed(mWaitingToPreview)) { - mWaitingToPreview?.let { - startMediaPreview(it, 0, true, true, true, true) - detailsFragmentChanged = true - } - } else if (MimeTypeUtil.isVCard(mWaitingToPreview?.mimeType)) { - startContactListFragment(mWaitingToPreview) - detailsFragmentChanged = true - } else if (PreviewTextFileFragment.canBePreviewed(mWaitingToPreview)) { - startTextPreview(mWaitingToPreview, true) - detailsFragmentChanged = true - } else if (MimeTypeUtil.isPDF(mWaitingToPreview)) { - mWaitingToPreview?.let { - startPdfPreview(it) - detailsFragmentChanged = true - } - } else { - fileOperationsHelper.openFile(mWaitingToPreview) - } - } - mWaitingToPreview = null - } - if (!detailsFragmentChanged) { + } + FileDownloadEventBroadcaster.ACTION_DOWNLOAD_COMPLETED -> { + val waitedPreview = mWaitingToPreview?.remotePath == downloadedRemotePath + val previewStarted = waitedPreview && tryStartWaitingPreview(success) + mWaitingToPreview = null + if (!previewStarted) { leftFragment.updateFileDetails(false, success) } } } } + private fun tryStartWaitingPreview(success: Boolean): Boolean { + if (!success) return false + + mWaitingToPreview = mWaitingToPreview?.fileId?.let { storageManager.getFileById(it) } + val file = mWaitingToPreview ?: return false + + return when { + PreviewMediaActivity.canBePreviewed(file) -> { + startMediaPreview(file, 0, true, true, true, true) + true + } + MimeTypeUtil.isVCard(file.mimeType) -> { + startContactListFragment(file) + true + } + PreviewTextFileFragment.canBePreviewed(file) -> { + startTextPreview(file, true) + true + } + MimeTypeUtil.isPDF(file) -> { + startPdfPreview(file) + true + } + else -> { + fileOperationsHelper.openFile(file) + false + } + } + } + override fun onPrepareOptionsMenu(menu: Menu?): Boolean { if (mDrawerMenuItemstoShowHideList != null) { val drawerOpen = isDrawerOpen From d90f2d81ae5db93337e39eb3624072584d390f5d Mon Sep 17 00:00:00 2001 From: alperozturk96 Date: Wed, 13 May 2026 08:39:45 +0200 Subject: [PATCH 2/2] fix(file-details): refresh from fda Signed-off-by: alperozturk96 --- .../com/owncloud/android/ui/activity/FileDisplayActivity.kt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.kt b/app/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.kt index 10b6e6f6f199..db6f451d3ef8 100644 --- a/app/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.kt +++ b/app/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.kt @@ -850,6 +850,7 @@ class FileDisplayActivity : leftFragment.listenForTransferProgress() leftFragment.updateFileDetails(true, false) } + FileDownloadEventBroadcaster.ACTION_DOWNLOAD_COMPLETED -> { val waitedPreview = mWaitingToPreview?.remotePath == downloadedRemotePath val previewStarted = waitedPreview && tryStartWaitingPreview(success) @@ -872,18 +873,22 @@ class FileDisplayActivity : startMediaPreview(file, 0, true, true, true, true) true } + MimeTypeUtil.isVCard(file.mimeType) -> { startContactListFragment(file) true } + PreviewTextFileFragment.canBePreviewed(file) -> { startTextPreview(file, true) true } + MimeTypeUtil.isPDF(file) -> { startPdfPreview(file) true } + else -> { fileOperationsHelper.openFile(file) false