From f05c2429195d31b2979e60ca518ec5ec0513cea7 Mon Sep 17 00:00:00 2001 From: Hanseul Lee Date: Thu, 26 Feb 2026 01:02:03 +0000 Subject: [PATCH] fix: stabilise description dialog shaking - TextInputLayout's layout recalculation causes view shaking on multiline input - Defer a final requestLayout() until after the current layout pass completes --- .../com/ichi2/anki/dialogs/EditDeckDescriptionDialog.kt | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/AnkiDroid/src/main/java/com/ichi2/anki/dialogs/EditDeckDescriptionDialog.kt b/AnkiDroid/src/main/java/com/ichi2/anki/dialogs/EditDeckDescriptionDialog.kt index dd78e7aa7776..c6ed56c58a90 100644 --- a/AnkiDroid/src/main/java/com/ichi2/anki/dialogs/EditDeckDescriptionDialog.kt +++ b/AnkiDroid/src/main/java/com/ichi2/anki/dialogs/EditDeckDescriptionDialog.kt @@ -24,6 +24,7 @@ import androidx.appcompat.app.AlertDialog import androidx.core.os.bundleOf import androidx.core.view.ViewCompat import androidx.core.view.WindowInsetsCompat +import androidx.core.widget.doAfterTextChanged import androidx.core.widget.doOnTextChanged import androidx.fragment.app.DialogFragment import androidx.fragment.app.viewModels @@ -132,6 +133,14 @@ class EditDeckDescriptionDialog : DialogFragment() { } } + with(binding.deckDescriptionInput) { + doAfterTextChanged { + // avoid an additional layout pass in the same frame as + // TextInputLayout's internal requestLayout(), which causes shaking + (this.parent as? View)?.post { requestLayout() } + } + } + setupFlows() }