diff --git a/AnkiDroid/src/main/java/com/ichi2/anki/CoroutineHelpers.kt b/AnkiDroid/src/main/java/com/ichi2/anki/CoroutineHelpers.kt index ebcf3410c262..6d5e39641231 100644 --- a/AnkiDroid/src/main/java/com/ichi2/anki/CoroutineHelpers.kt +++ b/AnkiDroid/src/main/java/com/ichi2/anki/CoroutineHelpers.kt @@ -436,6 +436,7 @@ suspend fun withProgressDialog( setCancelable(onCancel != null) if (manualCancelButton != null) { setCancelable(false) + setCanceledOnTouchOutside(false) setButton(DialogInterface.BUTTON_NEGATIVE, context.getString(manualCancelButton)) { _, _ -> Timber.i("Progress dialog cancelled via cancel button") onCancel?.let { it() } diff --git a/AnkiDroid/src/main/java/com/ichi2/anki/Sync.kt b/AnkiDroid/src/main/java/com/ichi2/anki/Sync.kt index 64070f396ce8..6e0245da691b 100644 --- a/AnkiDroid/src/main/java/com/ichi2/anki/Sync.kt +++ b/AnkiDroid/src/main/java/com/ichi2/anki/Sync.kt @@ -231,6 +231,7 @@ private suspend fun handleDownload( deckPicker.withProgress( extractProgress = fullDownloadProgress(TR.syncDownloadingFromAnkiweb()), onCancel = ::cancelSync, + manualCancelButton = R.string.dialog_cancel, ) { withCol { try { @@ -264,6 +265,7 @@ private suspend fun handleUpload( deckPicker.withProgress( extractProgress = fullDownloadProgress(TR.syncUploadingToAnkiweb()), onCancel = ::cancelSync, + manualCancelButton = R.string.dialog_cancel, ) { withCol { close(downgrade = false, forFullSync = true)