Skip to content
Commit d44d4852 authored by Ming-Shin Lu's avatar Ming-Shin Lu
Browse files

Calling updateImeParent when the layering target is staled

Fix "Invisible keyboard" issue that when SystemUI dynamically remove
FLAG_ALT_FOCUSABLE_IM window flag to make NotificationShade be IME
focusable window after it focused.

The above use case happens when a direct-reply notification
with shown IME, SystemUI side will let NotificationShade be IME
focusable and then tapping the notification to show another message
activity with IME shown, then if go back to focus on the direct-reply
notification again, there is a timing issue that the new IME layering
target may updated after NotificationShade laid out but the system
keeps using the previous IME layering target as IME surface parent,
this caused the IME surface will behind the IME control target window.

To fix this issue, we should modify DC#updateImeControlTarget
to invoke updateImeParent when the IME layering target is staled.

Fix: 190057993
Test: manual as the steps
 1. Make and install EditTextVariations
 2. Launch EditTextVariations -> select "Direct Reply" menu item
 3. Received HUP direct-reply notification
 4  Press "Direct Reply Test" on notification > expect keyboard shown
 5. Tap the notification to launch an Editor Activity to show keyboard
 6. Again back to direct-reply notification Perform step 4 ~ 6
 7. Observe if any "invisible keyboard" issue happened

Change-Id: Id3f5a82089c9d75c8536ada6a128de32ce5299e8
parent 3267a02a
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment