diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index be28449e6d56d..c781421cf3c88 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 786b3cc09482b..d18f7b9e289bc 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 6320413a452a1..252dda7984c66 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;