Loading core/java/android/view/InsetsState.java +2 −1 Original line number Diff line number Diff line Loading @@ -177,7 +177,8 @@ public class InsetsState implements Parcelable { if ((legacyWindowFlags & FLAG_FULLSCREEN) != 0) { compatInsetsTypes &= ~statusBars(); } if (clearsCompatInsets(windowType, legacyWindowFlags, windowingMode)) { if (clearsCompatInsets(windowType, legacyWindowFlags, windowingMode) && !alwaysConsumeSystemBars) { compatInsetsTypes = 0; } Loading core/java/com/android/internal/policy/DecorView.java +7 −3 Original line number Diff line number Diff line Loading @@ -1111,8 +1111,13 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind : controller.getSystemBarsAppearance(); if (insets != null) { final boolean clearsCompatInsets = clearsCompatInsets(attrs.type, attrs.flags, getResources().getConfiguration().windowConfiguration.getWindowingMode()); mLastShouldAlwaysConsumeSystemBars = insets.shouldAlwaysConsumeSystemBars(); final boolean clearsCompatInsets = clearsCompatInsets(attrs.type, attrs.flags, getResources().getConfiguration().windowConfiguration .getWindowingMode()) && !mLastShouldAlwaysConsumeSystemBars; final Insets stableBarInsets = insets.getInsetsIgnoringVisibility( WindowInsets.Type.systemBars()); final Insets systemInsets = clearsCompatInsets Loading Loading @@ -1143,7 +1148,6 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind disallowAnimate |= (hasLeftStableInset != mLastHasLeftStableInset); mLastHasLeftStableInset = hasLeftStableInset; mLastShouldAlwaysConsumeSystemBars = insets.shouldAlwaysConsumeSystemBars(); mLastSuppressScrimTypes = insets.getSuppressScrimTypes(); } Loading services/core/java/com/android/server/wm/DisplayPolicy.java +2 −1 Original line number Diff line number Diff line Loading @@ -2368,7 +2368,8 @@ public class DisplayPolicy { // We need to force the consumption of the system bars if they are force shown or if they // are controlled by a remote insets controller. mForceConsumeSystemBars = mForceShowSystemBars || mDisplayContent.getInsetsPolicy().remoteInsetsControllerControlsSystemBars(win); || getInsetsPolicy().remoteInsetsControllerControlsSystemBars(win) || getInsetsPolicy().forcesShowingNavigationBars(win); mDisplayContent.getInsetsPolicy().updateBarControlTarget(win); final boolean topAppHidesStatusBar = topAppHidesSystemBar(Type.statusBars()); Loading services/core/java/com/android/server/wm/InsetsPolicy.java +6 −2 Original line number Diff line number Diff line Loading @@ -567,8 +567,7 @@ class InsetsPolicy { return focusedWin; } } if (mPolicy.isForceShowNavigationBarEnabled() && focusedWin != null && focusedWin.getActivityType() == ACTIVITY_TYPE_STANDARD) { if (forcesShowingNavigationBars(focusedWin)) { // When "force show navigation bar" is enabled, it means both force visible is true, and // we are in 3-button navigation. In this mode, the navigation bar is forcibly shown // when activity type is ACTIVITY_TYPE_STANDARD which means Launcher or Recent could Loading Loading @@ -604,6 +603,11 @@ class InsetsPolicy { return focusedWin; } boolean forcesShowingNavigationBars(WindowState win) { return mPolicy.isForceShowNavigationBarEnabled() && win != null && win.getActivityType() == ACTIVITY_TYPE_STANDARD; } /** * Determines whether the remote insets controller should take control of system bars for all * windows. Loading Loading
core/java/android/view/InsetsState.java +2 −1 Original line number Diff line number Diff line Loading @@ -177,7 +177,8 @@ public class InsetsState implements Parcelable { if ((legacyWindowFlags & FLAG_FULLSCREEN) != 0) { compatInsetsTypes &= ~statusBars(); } if (clearsCompatInsets(windowType, legacyWindowFlags, windowingMode)) { if (clearsCompatInsets(windowType, legacyWindowFlags, windowingMode) && !alwaysConsumeSystemBars) { compatInsetsTypes = 0; } Loading
core/java/com/android/internal/policy/DecorView.java +7 −3 Original line number Diff line number Diff line Loading @@ -1111,8 +1111,13 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind : controller.getSystemBarsAppearance(); if (insets != null) { final boolean clearsCompatInsets = clearsCompatInsets(attrs.type, attrs.flags, getResources().getConfiguration().windowConfiguration.getWindowingMode()); mLastShouldAlwaysConsumeSystemBars = insets.shouldAlwaysConsumeSystemBars(); final boolean clearsCompatInsets = clearsCompatInsets(attrs.type, attrs.flags, getResources().getConfiguration().windowConfiguration .getWindowingMode()) && !mLastShouldAlwaysConsumeSystemBars; final Insets stableBarInsets = insets.getInsetsIgnoringVisibility( WindowInsets.Type.systemBars()); final Insets systemInsets = clearsCompatInsets Loading Loading @@ -1143,7 +1148,6 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind disallowAnimate |= (hasLeftStableInset != mLastHasLeftStableInset); mLastHasLeftStableInset = hasLeftStableInset; mLastShouldAlwaysConsumeSystemBars = insets.shouldAlwaysConsumeSystemBars(); mLastSuppressScrimTypes = insets.getSuppressScrimTypes(); } Loading
services/core/java/com/android/server/wm/DisplayPolicy.java +2 −1 Original line number Diff line number Diff line Loading @@ -2368,7 +2368,8 @@ public class DisplayPolicy { // We need to force the consumption of the system bars if they are force shown or if they // are controlled by a remote insets controller. mForceConsumeSystemBars = mForceShowSystemBars || mDisplayContent.getInsetsPolicy().remoteInsetsControllerControlsSystemBars(win); || getInsetsPolicy().remoteInsetsControllerControlsSystemBars(win) || getInsetsPolicy().forcesShowingNavigationBars(win); mDisplayContent.getInsetsPolicy().updateBarControlTarget(win); final boolean topAppHidesStatusBar = topAppHidesSystemBar(Type.statusBars()); Loading
services/core/java/com/android/server/wm/InsetsPolicy.java +6 −2 Original line number Diff line number Diff line Loading @@ -567,8 +567,7 @@ class InsetsPolicy { return focusedWin; } } if (mPolicy.isForceShowNavigationBarEnabled() && focusedWin != null && focusedWin.getActivityType() == ACTIVITY_TYPE_STANDARD) { if (forcesShowingNavigationBars(focusedWin)) { // When "force show navigation bar" is enabled, it means both force visible is true, and // we are in 3-button navigation. In this mode, the navigation bar is forcibly shown // when activity type is ACTIVITY_TYPE_STANDARD which means Launcher or Recent could Loading Loading @@ -604,6 +603,11 @@ class InsetsPolicy { return focusedWin; } boolean forcesShowingNavigationBars(WindowState win) { return mPolicy.isForceShowNavigationBarEnabled() && win != null && win.getActivityType() == ACTIVITY_TYPE_STANDARD; } /** * Determines whether the remote insets controller should take control of system bars for all * windows. Loading