Skip to content

Commit 28bf30f

Browse files
committed
fix: UI updates must occur on UI thread
1 parent b2b06fa commit 28bf30f

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

AnkiDroid/src/main/java/com/ichi2/anki/CoroutineHelpers.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -438,7 +438,9 @@ suspend fun <T> withProgressDialog(
438438
}
439439
}
440440
// disable taps immediately
441-
context.window.setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE, WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE)
441+
context.runOnUiThread {
442+
context.window.setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE, WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE)
443+
}
442444
// reveal the dialog after 600ms
443445
var dialogIsOurs = false
444446
val dialogJob =
@@ -470,7 +472,7 @@ suspend fun <T> withProgressDialog(
470472
} finally {
471473
dialogJob.cancel()
472474
dismissDialogIfShowing(dialog)
473-
context.window.clearFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE)
475+
context.runOnUiThread { context.window.clearFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE) }
474476
if (dialogIsOurs) {
475477
AnkiDroidApp.instance.progressDialogShown = false
476478
}

0 commit comments

Comments
 (0)