From e2a686dca3667f12aaef3f697aceca308ce8d79e Mon Sep 17 00:00:00 2001 From: Winson Chung Date: Wed, 17 Apr 2019 16:54:23 -0700 Subject: [PATCH] Check that sysui states before allowing back gesture - Ensure not in immersive mode, and also that the notification panel is not expanded Bug: 130340004 Bug: 130417141 Test: Manual, ensure back doesn't work when notification panel is down or app is in immersive mode Change-Id: I29f5cd80cc89b28802ca8b2c9e2956ae5b3b1151 --- .../shared/system/QuickStepContract.java | 1 + .../recents/OverviewProxyService.java | 8 +++++++ .../phone/EdgeBackGestureHandler.java | 21 +++++++++++++------ .../systemui/statusbar/phone/StatusBar.java | 6 ++++++ 4 files changed, 30 insertions(+), 6 deletions(-) diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/system/QuickStepContract.java b/packages/SystemUI/shared/src/com/android/systemui/shared/system/QuickStepContract.java index b36a88b909b3f..405478415bbe7 100644 --- a/packages/SystemUI/shared/src/com/android/systemui/shared/system/QuickStepContract.java +++ b/packages/SystemUI/shared/src/com/android/systemui/shared/system/QuickStepContract.java @@ -51,6 +51,7 @@ public class QuickStepContract { public static final int SYSUI_STATE_SCREEN_PINNING = 1 << 0; public static final int SYSUI_STATE_NAV_BAR_HIDDEN = 1 << 1; public static final int SYSUI_STATE_NOTIFICATION_PANEL_EXPANDED = 1 << 2; + public static final int SYSUI_STATE_BOUNCER_SHOWING = 1 << 3; @Retention(RetentionPolicy.SOURCE) @IntDef({SYSUI_STATE_SCREEN_PINNING, diff --git a/packages/SystemUI/src/com/android/systemui/recents/OverviewProxyService.java b/packages/SystemUI/src/com/android/systemui/recents/OverviewProxyService.java index 56dbe2b2cd993..b2302cccba250 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/OverviewProxyService.java +++ b/packages/SystemUI/src/com/android/systemui/recents/OverviewProxyService.java @@ -28,6 +28,7 @@ import static com.android.systemui.shared.system.QuickStepContract.KEY_EXTRA_INP import static com.android.systemui.shared.system.QuickStepContract.KEY_EXTRA_SUPPORTS_WINDOW_CORNERS; import static com.android.systemui.shared.system.QuickStepContract.KEY_EXTRA_SYSUI_PROXY; import static com.android.systemui.shared.system.QuickStepContract.KEY_EXTRA_WINDOW_CORNER_RADIUS; +import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_BOUNCER_SHOWING; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_NAV_BAR_HIDDEN; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_NOTIFICATION_PANEL_EXPANDED; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_SCREEN_PINNING; @@ -489,12 +490,17 @@ public class OverviewProxyService implements CallbackController