From 88e0bd51dc3b6df0320e852ef9362ad8d330462e Mon Sep 17 00:00:00 2001 From: J-Jamet Date: Fri, 24 Oct 2025 17:20:02 +0200 Subject: [PATCH] fix: Dialog database action #2234 --- CHANGELOG | 1 + .../activities/legacy/DatabaseActivity.kt | 55 ++++++++----------- .../metadata/android/en-US/changelogs/146.txt | 3 +- .../metadata/android/fr-FR/changelogs/146.txt | 3 +- 4 files changed, 27 insertions(+), 35 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index e43d93db8..13f0fbc94 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,7 @@ KeePassDX(4.2.1) * Fix Magikeyboard autosearch #2233 * Fix database merge #2223 + * Fix dialog database action #2234 KeePassDX(4.2.0) * Passkeys management #1421 #2097 (@cali-95) diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/legacy/DatabaseActivity.kt b/app/src/main/java/com/kunzisoft/keepass/activities/legacy/DatabaseActivity.kt index f823220f6..183f21ddc 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/legacy/DatabaseActivity.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/legacy/DatabaseActivity.kt @@ -65,7 +65,6 @@ abstract class DatabaseActivity : StylishActivity(), DatabaseRetrieval { finish() } } - is DatabaseViewModel.ActionState.OnDatabaseInfoChanged -> { if (manageDatabaseInfo()) { showDatabaseChangedDialog( @@ -75,29 +74,21 @@ abstract class DatabaseActivity : StylishActivity(), DatabaseRetrieval { ) } } - is DatabaseViewModel.ActionState.OnDatabaseActionRequested -> { startDatabasePermissionService( uiState.bundle, uiState.actionTask ) } - is DatabaseViewModel.ActionState.OnDatabaseActionStarted -> { - if (showDatabaseDialog()) - startDialog(uiState.progressMessage) + showDialog(uiState.progressMessage) } - is DatabaseViewModel.ActionState.OnDatabaseActionUpdated -> { - if (showDatabaseDialog()) - updateDialog(uiState.progressMessage) + showDialog(uiState.progressMessage) } - is DatabaseViewModel.ActionState.OnDatabaseActionStopped -> { - // Remove the progress task - stopDialog() + // nothing here, wait for the action to finish } - is DatabaseViewModel.ActionState.OnDatabaseActionFinished -> { onDatabaseActionFinished( uiState.database, @@ -203,29 +194,27 @@ abstract class DatabaseActivity : StylishActivity(), DatabaseRetrieval { } } - private fun startDialog(progressMessage: ProgressMessage) { + private fun showDialog(progressMessage: ProgressMessage) { lifecycleScope.launch { - if (progressTaskDialogFragment == null) { - progressTaskDialogFragment = supportFragmentManager - .findFragmentByTag(PROGRESS_TASK_DIALOG_TAG) as ProgressTaskDialogFragment? + if (showDatabaseDialog()) { + if (progressTaskDialogFragment == null) { + progressTaskDialogFragment = supportFragmentManager + .findFragmentByTag(PROGRESS_TASK_DIALOG_TAG) as ProgressTaskDialogFragment? + } + if (progressTaskDialogFragment == null) { + progressTaskDialogFragment = ProgressTaskDialogFragment() + progressTaskDialogFragment?.show( + supportFragmentManager, + PROGRESS_TASK_DIALOG_TAG + ) + } + progressTaskDialogFragment?.apply { + updateTitle(progressMessage.titleId) + updateMessage(progressMessage.messageId) + updateWarning(progressMessage.warningId) + setCancellable(progressMessage.cancelable) + } } - if (progressTaskDialogFragment == null) { - progressTaskDialogFragment = ProgressTaskDialogFragment() - progressTaskDialogFragment?.show( - supportFragmentManager, - PROGRESS_TASK_DIALOG_TAG - ) - } - updateDialog(progressMessage) - } - } - - private fun updateDialog(progressMessage: ProgressMessage) { - progressTaskDialogFragment?.apply { - updateTitle(progressMessage.titleId) - updateMessage(progressMessage.messageId) - updateWarning(progressMessage.warningId) - setCancellable(progressMessage.cancelable) } } diff --git a/fastlane/metadata/android/en-US/changelogs/146.txt b/fastlane/metadata/android/en-US/changelogs/146.txt index 3757df2db..9d0448ed3 100644 --- a/fastlane/metadata/android/en-US/changelogs/146.txt +++ b/fastlane/metadata/android/en-US/changelogs/146.txt @@ -1,2 +1,3 @@ * Fix Magikeyboard autosearch #2233 - * Fix database merge #2223 \ No newline at end of file + * Fix database merge #2223 + * Fix dialog database action #2234 \ No newline at end of file diff --git a/fastlane/metadata/android/fr-FR/changelogs/146.txt b/fastlane/metadata/android/fr-FR/changelogs/146.txt index 9d222830a..67675fd09 100644 --- a/fastlane/metadata/android/fr-FR/changelogs/146.txt +++ b/fastlane/metadata/android/fr-FR/changelogs/146.txt @@ -1,2 +1,3 @@ * Correction de la recherche auto pour le Magikeyboard #2233 - * Correction de la fusion de bases de données #2223 \ No newline at end of file + * Correction de la fusion de bases de données #2223 + * Correction de l'action de la base de données #2234 \ No newline at end of file