From 2e4b7327ce4d93bbdcf959f38b0b8adba34add6e Mon Sep 17 00:00:00 2001 From: Yorke Lee Date: Wed, 2 Mar 2016 17:33:06 -0800 Subject: Add config value to force nav bar to be opaque Bug: 26425669 Change-Id: I97dcfa734e6ca5688ae2a5e2b9330b1a70d7b623 --- core/res/res/values/config.xml | 4 ++++ core/res/res/values/symbols.xml | 1 + .../core/java/com/android/server/policy/PhoneWindowManager.java | 8 ++++++++ 3 files changed, 13 insertions(+) diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index be28449e6d56..c781421cf3c8 100644 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -2437,6 +2437,10 @@ flag). --> true + + false + "0 0 100 100" diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index 786b3cc09482..d18f7b9e289b 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -2391,6 +2391,7 @@ + diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java index 6320413a452a..252dda7984c6 100644 --- a/services/core/java/com/android/server/policy/PhoneWindowManager.java +++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java @@ -535,6 +535,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { boolean mForceStatusBar; boolean mForceStatusBarFromKeyguard; private boolean mForceStatusBarTransparent; + boolean mForceNavBarOpaque; boolean mHideLockScreen; boolean mForcingShowNavBar; int mForcingShowNavBarLayer; @@ -1715,6 +1716,9 @@ public class PhoneWindowManager implements WindowManagerPolicy { if (mContext.getPackageManager().hasSystemFeature(FEATURE_PICTURE_IN_PICTURE)) { mShortPressWindowBehavior = SHORT_PRESS_WINDOW_PICTURE_IN_PICTURE; } + + mForceNavBarOpaque = res.getBoolean( + com.android.internal.R.bool.config_forceNavBarAlwaysOpaque); } @Override @@ -7080,6 +7084,10 @@ public class PhoneWindowManager implements WindowManagerPolicy { | View.SYSTEM_UI_TRANSPARENT); } + if (mForceNavBarOpaque) { + vis &= ~(View.NAVIGATION_BAR_TRANSLUCENT | View.NAVIGATION_BAR_TRANSPARENT); + } + if (mForceWindowDrawsStatusBarBackground) { vis |= View.STATUS_BAR_TRANSPARENT; vis &= ~View.STATUS_BAR_TRANSLUCENT; -- cgit v1.2.3-59-g8ed1b