From e294e49c4e2a043e3e484f31cee9bcbcdd10ff0c Mon Sep 17 00:00:00 2001 From: Tetsutoki Shiozawa Date: Fri, 11 Jan 2019 18:46:28 +0900 Subject: Fix: Disappearing home button Symptom: Accidentally, home button was not shown on navigation bar after unlocking keygaurd. Root cause: Home button's visibility is controlled by STATUS_BAR_DISABLE_HOME flag. Keygaurd requests STATUS_BAR_DISABLE_HOME flag at locking and removes it at unlocking. When removing the flag and recreation of NavigationBarFragment happen simultaneously, NavigationBarFragment fails to remove the flag and it keeps hiding the home button. Solution: CommandQueue has a latest requested "disabled" flags. It's better to reevaluate the flag and apply it to the recreated NavigationBarFragment. Test: manual Fixes: 122999473 Fixes: 113914868 Change-Id: Ic19029aab2e777aeb187963da3ef341291cca490 --- .../com/android/systemui/statusbar/phone/NavigationBarFragment.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarFragment.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarFragment.java index d3c6a1d8ee74..49e6866ff538 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarFragment.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarFragment.java @@ -243,6 +243,9 @@ public class NavigationBarFragment extends LifecycleFragment implements Callback mDisabledFlags2 = savedInstanceState.getInt(EXTRA_DISABLE2_STATE, 0); } mAccessibilityManagerWrapper.addCallback(mAccessibilityListener); + + // Respect the latest disabled-flags. + mCommandQueue.recomputeDisableFlags(mDisplayId, false); } @Override -- cgit v1.2.3-59-g8ed1b