From 0a45cccbc11d2e93f044ee5afcc776188fd34b42 Mon Sep 17 00:00:00 2001 From: Pat Manning Date: Mon, 17 Jan 2022 16:37:49 +0000 Subject: [PATCH] Track immersive mode via a new SysUI state. Test: manual Bug: 203748818 Change-Id: Iae29044fd1962391a6bd0390dcb7870ced2b3efb --- .../android/systemui/shared/system/QuickStepContract.java | 6 +++++- .../com/android/systemui/navigationbar/TaskbarDelegate.java | 6 ++++++ 2 files changed, 11 insertions(+), 1 deletion(-) 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 54c798c7d95db..2dc060c3ff6b7 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 @@ -120,6 +120,8 @@ public class QuickStepContract { public static final int SYSUI_STATE_BACK_DISABLED = 1 << 22; // The bubble stack is expanded AND the mange menu for bubbles is expanded on top of it. public static final int SYSUI_STATE_BUBBLES_MANAGE_MENU_EXPANDED = 1 << 23; + // The current app is in immersive mode + public static final int SYSUI_STATE_IMMERSIVE_MODE = 1 << 24; @Retention(RetentionPolicy.SOURCE) @IntDef({SYSUI_STATE_SCREEN_PINNING, @@ -145,7 +147,8 @@ public class QuickStepContract { SYSUI_STATE_IME_SWITCHER_SHOWING, SYSUI_STATE_DEVICE_DOZING, SYSUI_STATE_BACK_DISABLED, - SYSUI_STATE_BUBBLES_MANAGE_MENU_EXPANDED + SYSUI_STATE_BUBBLES_MANAGE_MENU_EXPANDED, + SYSUI_STATE_IMMERSIVE_MODE }) public @interface SystemUiStateFlags {} @@ -179,6 +182,7 @@ public class QuickStepContract { str.add((flags & SYSUI_STATE_BACK_DISABLED) != 0 ? "back_disabled" : ""); str.add((flags & SYSUI_STATE_BUBBLES_MANAGE_MENU_EXPANDED) != 0 ? "bubbles_mange_menu_expanded" : ""); + str.add((flags & SYSUI_STATE_IMMERSIVE_MODE) != 0 ? "immersive_mode" : ""); return str.toString(); } diff --git a/packages/SystemUI/src/com/android/systemui/navigationbar/TaskbarDelegate.java b/packages/SystemUI/src/com/android/systemui/navigationbar/TaskbarDelegate.java index 441e79a97521a..ec15b2469358e 100644 --- a/packages/SystemUI/src/com/android/systemui/navigationbar/TaskbarDelegate.java +++ b/packages/SystemUI/src/com/android/systemui/navigationbar/TaskbarDelegate.java @@ -31,6 +31,7 @@ import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_B import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_HOME_DISABLED; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_IME_SHOWING; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_IME_SWITCHER_SHOWING; +import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_IMMERSIVE_MODE; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_NAV_BAR_HIDDEN; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_OVERVIEW_DISABLED; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_SCREEN_PINNING; @@ -304,6 +305,7 @@ public class TaskbarDelegate implements CommandQueue.Callbacks, allowSystemGestureIgnoringBarVisibility()) .setFlag(SYSUI_STATE_SCREEN_PINNING, ActivityManagerWrapper.getInstance().isScreenPinningActive()) + .setFlag(SYSUI_STATE_IMMERSIVE_MODE, isImmersiveMode()) .commitUpdate(mDisplayId); } @@ -445,6 +447,10 @@ public class TaskbarDelegate implements CommandQueue.Callbacks, return mBehavior != BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE; } + private boolean isImmersiveMode() { + return mBehavior == BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE; + } + @Override public void onConfigurationChanged(Configuration configuration) { mEdgeBackGestureHandler.onConfigurationChanged(configuration);