docs/solutions/integration-issues/2026-04-12-appium-android-chrome-can-show-keyboard-state-without-exposing-gboard-candidates.md
The remaining Android legacy row was no longer structural editing.
It was real keyboard-feature behavior:
Direct local probes on the Android Chrome emulator showed that the stack is only half-open:
/appium/device/is_keyboard_shown returns trueCHROMIUM and NATIVE_APPBut the transport still does not expose the part that matters for autocorrect:
NATIVE_APP element lookup returns zero
com.google.android.inputmethod.latin nodesHardware-style key injection is not an honest autocorrect proof here.
Typing cant plus space through Android keycodes produced literal text:
blockTexts: "cant "beforeinput:insertText:*That proves the local transport can still drive literal text insertion while missing the real candidate-acceptance path.
An ADB uiautomator dump follow-up with the keyboard visible also failed
cleanly enough to be unhelpful here, returning only Killed instead of a full
IME tree.
This separates two different claims:
Do not treat visible keyboard state as proof that you can inspect or drive Gboard suggestions.
For Android keyboard-feature parity on this repo:
keyboardShown: true as setup truth onlyNATIVE_APP availability as setup truth onlytooling-blocked