diff options
| -rw-r--r-- | packages/SystemUI/shared/src/com/android/systemui/shared/system/QuickStepContract.java | 6 | ||||
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/navigationbar/TaskbarDelegate.java | 14 |
2 files changed, 19 insertions, 1 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 4663a9afcd3d..b827356e952c 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 @@ -116,6 +116,8 @@ public class QuickStepContract { public static final int SYSUI_STATE_IME_SWITCHER_SHOWING = 1 << 20; // Device dozing/AOD state public static final int SYSUI_STATE_DEVICE_DOZING = 1 << 21; + // The home feature is disabled (either by SUW/SysUI/device policy) + public static final int SYSUI_STATE_BACK_DISABLED = 1 << 22; @Retention(RetentionPolicy.SOURCE) @IntDef({SYSUI_STATE_SCREEN_PINNING, @@ -139,7 +141,8 @@ public class QuickStepContract { SYSUI_STATE_IME_SHOWING, SYSUI_STATE_MAGNIFICATION_OVERLAP, SYSUI_STATE_IME_SWITCHER_SHOWING, - SYSUI_STATE_DEVICE_DOZING + SYSUI_STATE_DEVICE_DOZING, + SYSUI_STATE_BACK_DISABLED }) public @interface SystemUiStateFlags {} @@ -170,6 +173,7 @@ public class QuickStepContract { str.add((flags & SYSUI_STATE_MAGNIFICATION_OVERLAP) != 0 ? "magnification_overlap" : ""); str.add((flags & SYSUI_STATE_IME_SWITCHER_SHOWING) != 0 ? "ime_switcher_showing" : ""); str.add((flags & SYSUI_STATE_DEVICE_DOZING) != 0 ? "device_dozing" : ""); + str.add((flags & SYSUI_STATE_BACK_DISABLED) != 0 ? "back_disabled" : ""); 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 fe24ecd62a91..5a04355406e5 100644 --- a/packages/SystemUI/src/com/android/systemui/navigationbar/TaskbarDelegate.java +++ b/packages/SystemUI/src/com/android/systemui/navigationbar/TaskbarDelegate.java @@ -21,12 +21,16 @@ import static android.app.StatusBarManager.NAVIGATION_HINT_IME_SHOWN; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_A11Y_BUTTON_CLICKABLE; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_A11Y_BUTTON_LONG_CLICKABLE; +import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_BACK_DISABLED; +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_OVERVIEW_DISABLED; import android.inputmethodservice.InputMethodService; import android.os.IBinder; import android.view.InsetsVisibilities; +import android.view.View; import com.android.internal.view.AppearanceRegion; import com.android.systemui.model.SysUiState; @@ -47,6 +51,8 @@ public class TaskbarDelegate implements CommandQueue.Callbacks { private int mNavigationIconHints; private final NavigationBarA11yHelper.NavA11yEventListener mNavA11yEventListener = this::updateSysuiFlags; + private int mDisabledFlags; + @Inject public TaskbarDelegate() { /* no-op */ } @@ -81,6 +87,12 @@ public class TaskbarDelegate implements CommandQueue.Callbacks { (mNavigationIconHints & NAVIGATION_HINT_BACK_ALT) != 0) .setFlag(SYSUI_STATE_IME_SWITCHER_SHOWING, (mNavigationIconHints & NAVIGATION_HINT_IME_SHOWN) != 0) + .setFlag(SYSUI_STATE_OVERVIEW_DISABLED, + (mDisabledFlags & View.STATUS_BAR_DISABLE_RECENT) != 0) + .setFlag(SYSUI_STATE_HOME_DISABLED, + (mDisabledFlags & View.STATUS_BAR_DISABLE_HOME) != 0) + .setFlag(SYSUI_STATE_BACK_DISABLED, + (mDisabledFlags & View.STATUS_BAR_DISABLE_BACK) != 0) .commitUpdate(mDisplayId); } @@ -103,6 +115,8 @@ public class TaskbarDelegate implements CommandQueue.Callbacks { @Override public void disable(int displayId, int state1, int state2, boolean animate) { + mDisabledFlags = state1; + updateSysuiFlags(); mOverviewProxyService.disable(displayId, state1, state2, animate); } |