Use same side-swipe check for alt bars

Bug: 198188014
Test: Side swipe with only taskbar should show bars
Change-Id: I510aa33acac5491a286d5c78ca58e87e841db583
This commit is contained in:
Winson Chung
2021-09-02 17:34:58 -07:00
parent 67b04aaef5
commit b45e7e858e

View File

@@ -482,7 +482,8 @@ public class DisplayPolicy {
if (mStatusBar != null) {
requestTransientBars(mStatusBar);
}
checkAltBarSwipeForTransientBars(ALT_BAR_TOP);
checkAltBarSwipeForTransientBars(ALT_BAR_TOP,
false /* allowForAllPositions */);
}
}
@@ -493,7 +494,8 @@ public class DisplayPolicy {
&& mNavigationBarPosition == NAV_BAR_BOTTOM) {
requestTransientBars(mNavigationBar);
}
checkAltBarSwipeForTransientBars(ALT_BAR_BOTTOM);
checkAltBarSwipeForTransientBars(ALT_BAR_BOTTOM,
false /* allowForAllPositions */);
}
}
@@ -503,13 +505,13 @@ public class DisplayPolicy {
synchronized (mLock) {
mDisplayContent.calculateSystemGestureExclusion(
excludedRegion, null /* outUnrestricted */);
final boolean excluded =
mSystemGestures.currentGestureStartedInRegion(excludedRegion);
final boolean allowSideSwipe = mNavigationBarAlwaysShowOnSideGesture &&
!mSystemGestures.currentGestureStartedInRegion(excludedRegion);
if (mNavigationBar != null && (mNavigationBarPosition == NAV_BAR_RIGHT
|| !excluded && mNavigationBarAlwaysShowOnSideGesture)) {
|| allowSideSwipe)) {
requestTransientBars(mNavigationBar);
}
checkAltBarSwipeForTransientBars(ALT_BAR_RIGHT);
checkAltBarSwipeForTransientBars(ALT_BAR_RIGHT, allowSideSwipe);
}
excludedRegion.recycle();
}
@@ -520,13 +522,13 @@ public class DisplayPolicy {
synchronized (mLock) {
mDisplayContent.calculateSystemGestureExclusion(
excludedRegion, null /* outUnrestricted */);
final boolean excluded =
mSystemGestures.currentGestureStartedInRegion(excludedRegion);
final boolean allowSideSwipe = mNavigationBarAlwaysShowOnSideGesture &&
!mSystemGestures.currentGestureStartedInRegion(excludedRegion);
if (mNavigationBar != null && (mNavigationBarPosition == NAV_BAR_LEFT
|| !excluded && mNavigationBarAlwaysShowOnSideGesture)) {
|| allowSideSwipe)) {
requestTransientBars(mNavigationBar);
}
checkAltBarSwipeForTransientBars(ALT_BAR_LEFT);
checkAltBarSwipeForTransientBars(ALT_BAR_LEFT, allowSideSwipe);
}
excludedRegion.recycle();
}
@@ -680,17 +682,19 @@ public class DisplayPolicy {
mHandler.post(mGestureNavigationSettingsObserver::register);
}
private void checkAltBarSwipeForTransientBars(@WindowManagerPolicy.AltBarPosition int pos) {
if (mStatusBarAlt != null && mStatusBarAltPosition == pos) {
private void checkAltBarSwipeForTransientBars(@WindowManagerPolicy.AltBarPosition int pos,
boolean allowForAllPositions) {
if (mStatusBarAlt != null && (mStatusBarAltPosition == pos || allowForAllPositions)) {
requestTransientBars(mStatusBarAlt);
}
if (mNavigationBarAlt != null && mNavigationBarAltPosition == pos) {
if (mNavigationBarAlt != null
&& (mNavigationBarAltPosition == pos || allowForAllPositions)) {
requestTransientBars(mNavigationBarAlt);
}
if (mClimateBarAlt != null && mClimateBarAltPosition == pos) {
if (mClimateBarAlt != null && (mClimateBarAltPosition == pos || allowForAllPositions)) {
requestTransientBars(mClimateBarAlt);
}
if (mExtraNavBarAlt != null && mExtraNavBarAltPosition == pos) {
if (mExtraNavBarAlt != null && (mExtraNavBarAltPosition == pos || allowForAllPositions)) {
requestTransientBars(mExtraNavBarAlt);
}
}