From 0906a50a7bb09f839e3afacad518943404407e2d Mon Sep 17 00:00:00 2001 From: Joel Menchavez Date: Wed, 6 May 2026 21:50:25 -0700 Subject: [PATCH 1/2] make settext() async during IME decomposition to address android 12 desync bug --- .../templates/impl/TemplateWidgetViewProviderImpl.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/TemplateWidgetViewProviderImpl.kt b/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/TemplateWidgetViewProviderImpl.kt index c5ff6a5ec0..2a6c3d26d6 100644 --- a/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/TemplateWidgetViewProviderImpl.kt +++ b/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/TemplateWidgetViewProviderImpl.kt @@ -144,7 +144,9 @@ class TemplateWidgetViewProviderImpl : ITemplateWidgetViewProvider { val observer = object : DefaultObserver() { override fun onChanged(parameter: Parameter) { disableAndRun { - input.setText(param.value) + input.post { + input.setText(param.value) + } } } } From 58937dd7ab84211fc35dc35684f17a9acdd37402 Mon Sep 17 00:00:00 2001 From: Joel Menchavez Date: Wed, 6 May 2026 22:35:21 -0700 Subject: [PATCH 2/2] place disableandrun inside input.post --- .../templates/impl/TemplateWidgetViewProviderImpl.kt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/TemplateWidgetViewProviderImpl.kt b/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/TemplateWidgetViewProviderImpl.kt index 2a6c3d26d6..5cade7369d 100644 --- a/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/TemplateWidgetViewProviderImpl.kt +++ b/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/TemplateWidgetViewProviderImpl.kt @@ -143,10 +143,10 @@ class TemplateWidgetViewProviderImpl : ITemplateWidgetViewProvider { val param = widget.parameter as StringParameter val observer = object : DefaultObserver() { override fun onChanged(parameter: Parameter) { - disableAndRun { - input.post { - input.setText(param.value) - } + input.post { + disableAndRun { + input.setText(param.value) + } } } }