Respect light nav bar flag set by IME on keyguard
Currently LightBarController takes care of both ScrimBehind alpha and ScrimInFront text color when finally deciding whether light navigation bar mode should be enabled or not. When IME is shown on the keyguard, however, light navigation bar flag explicitly set by the IME actually needs to be used because ScrimController does not put anything over the IME layer in that state. This CL addresses the above corner case, by also forwarding ScrimState from ScrimController to LightBarController so that LightBarController can change the behavior when scrim UI is in bouncer mode. Test: atest CtsInputMethodTestCases Test: atest com.android.server.policy.PhoneWindowManagerTest Test: atest SystemUITests:com.android.systemui.statusbar.phone.ScrimControllerTest Test: Manually tested Manually tested with ThemedNavBarKeyboard sample 1. make -j ThemedNavBarKeyboard 2. adb install -r $OUT/system/app/ThemedNavBarKeyboard/ThemedNavBarKeyboard.apk 3. adb shell ime enable com.example.android.themednavbarkeyboard/.ThemedNavBarKeyboard 4. adb shell ime set com.example.android.themednavbarkeyboard/.ThemedNavBarKeyboard 5. Open Dialer app 6. Focus in the top edit field. 7. Tap "EXTENDED LIGHT NAVIGARION BAR" mode 8. Make sure that the navigation button color is optimized for light navigation bar 9. Swipe down the notification shade. 10. Make sure that the navigation button color is inverted. Fixes: 72940586 Change-Id: I7a9001888f9b2d74c84c384b6302706da7a2b4b2
Loading
Please register or sign in to comment