The IME's fullscreen "extract" editing mode doesn't sync well with Compose text state, causing stale/duplicate text in the composition overlay (e.g. when deleting mid-word with GBoard). We should opt out of it via IME_FLAG_NO_EXTRACT_UI and centralize ImeAction.Done + clearFocus() for single-line fields to eliminate per-callsite boilerplate.
The IME's fullscreen "extract" editing mode doesn't sync well with Compose text state, causing stale/duplicate text in the composition overlay (e.g. when deleting mid-word with GBoard). We should opt out of it via
IME_FLAG_NO_EXTRACT_UIand centralizeImeAction.Done+clearFocus()for single-line fields to eliminate per-callsite boilerplate.