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
Loading
Please register or sign in to comment