fix: Dialog database action #2234

This commit is contained in:
J-Jamet
2025-10-24 17:20:02 +02:00
parent 67477cc53b
commit 88e0bd51dc
4 changed files with 27 additions and 35 deletions

View File

@@ -1,6 +1,7 @@
KeePassDX(4.2.1) KeePassDX(4.2.1)
* Fix Magikeyboard autosearch #2233 * Fix Magikeyboard autosearch #2233
* Fix database merge #2223 * Fix database merge #2223
* Fix dialog database action #2234
KeePassDX(4.2.0) KeePassDX(4.2.0)
* Passkeys management #1421 #2097 (@cali-95) * Passkeys management #1421 #2097 (@cali-95)

View File

@@ -65,7 +65,6 @@ abstract class DatabaseActivity : StylishActivity(), DatabaseRetrieval {
finish() finish()
} }
} }
is DatabaseViewModel.ActionState.OnDatabaseInfoChanged -> { is DatabaseViewModel.ActionState.OnDatabaseInfoChanged -> {
if (manageDatabaseInfo()) { if (manageDatabaseInfo()) {
showDatabaseChangedDialog( showDatabaseChangedDialog(
@@ -75,29 +74,21 @@ abstract class DatabaseActivity : StylishActivity(), DatabaseRetrieval {
) )
} }
} }
is DatabaseViewModel.ActionState.OnDatabaseActionRequested -> { is DatabaseViewModel.ActionState.OnDatabaseActionRequested -> {
startDatabasePermissionService( startDatabasePermissionService(
uiState.bundle, uiState.bundle,
uiState.actionTask uiState.actionTask
) )
} }
is DatabaseViewModel.ActionState.OnDatabaseActionStarted -> { is DatabaseViewModel.ActionState.OnDatabaseActionStarted -> {
if (showDatabaseDialog()) showDialog(uiState.progressMessage)
startDialog(uiState.progressMessage)
} }
is DatabaseViewModel.ActionState.OnDatabaseActionUpdated -> { is DatabaseViewModel.ActionState.OnDatabaseActionUpdated -> {
if (showDatabaseDialog()) showDialog(uiState.progressMessage)
updateDialog(uiState.progressMessage)
} }
is DatabaseViewModel.ActionState.OnDatabaseActionStopped -> { is DatabaseViewModel.ActionState.OnDatabaseActionStopped -> {
// Remove the progress task // nothing here, wait for the action to finish
stopDialog()
} }
is DatabaseViewModel.ActionState.OnDatabaseActionFinished -> { is DatabaseViewModel.ActionState.OnDatabaseActionFinished -> {
onDatabaseActionFinished( onDatabaseActionFinished(
uiState.database, uiState.database,
@@ -203,29 +194,27 @@ abstract class DatabaseActivity : StylishActivity(), DatabaseRetrieval {
} }
} }
private fun startDialog(progressMessage: ProgressMessage) { private fun showDialog(progressMessage: ProgressMessage) {
lifecycleScope.launch { lifecycleScope.launch {
if (progressTaskDialogFragment == null) { if (showDatabaseDialog()) {
progressTaskDialogFragment = supportFragmentManager if (progressTaskDialogFragment == null) {
.findFragmentByTag(PROGRESS_TASK_DIALOG_TAG) as ProgressTaskDialogFragment? 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)
} }
} }

View File

@@ -1,2 +1,3 @@
* Fix Magikeyboard autosearch #2233 * Fix Magikeyboard autosearch #2233
* Fix database merge #2223 * Fix database merge #2223
* Fix dialog database action #2234

View File

@@ -1,2 +1,3 @@
* Correction de la recherche auto pour le Magikeyboard #2233 * Correction de la recherche auto pour le Magikeyboard #2233
* Correction de la fusion de bases de données #2223 * Correction de la fusion de bases de données #2223
* Correction de l'action de la base de données #2234