Fix Keyboard won't show up in some cases
Commit 970d9d2 introduced IME focus controller which
added a new method View#hasImeFocus to restrict IME focus
only when the focused window won't have either FLAG_NOT_FOCUSABLE
or FLAG_ALT_FOCUSABLE_IM flags.
Since NotificationShadeWindowController will unset both flags when
RemoteInput active (or when PasswordEntry focused on lockscreen).
But, in ImeFocusControler#onTraversal won't keep update View#hasImeFocus
state, it will affect IME focus handle correctness.
Hence, it needs to fix View#hasImeFocus state update issue.
Fix: 148489857
Fix: 148788569
Bug: 141738570
Test: manual as following steps:
Case 1:
0) make EditTextVariations
1) adb install -r EditTextVariations.apk
2) adb shell am start -n com.android.inputmethod.tools.edittextvariations/.EditTextVariations
3) Tap the 3-dot menu on the EditTextVariations
4) Tap `Direct Reply` on the menu
5) Open notification drawers
6) Try to direct-reply on the notification, expect soft-keyboard should come up after step 6)
Case 2:
1) Device set up with Pwd lockscreen security. Finish setting up the device.
2) Once the device goes into sleep mode > Wake up the device > Swipe up locksreen.
3) Observing that the keyboard should come up consistently.
Change-Id: I8d4fff94ba9313b773bc27fcbd019cc88580d3e9
4 files changed