Merge "Pass through home/back/recents disable flags via sysuiFlags" into sc-v2-dev

This commit is contained in:
Vinit Nayak
2021-08-18 20:54:09 +00:00
committed by Android (Google) Code Review
2 changed files with 19 additions and 1 deletions

View File

@@ -116,6 +116,8 @@ public class QuickStepContract {
public static final int SYSUI_STATE_IME_SWITCHER_SHOWING = 1 << 20; public static final int SYSUI_STATE_IME_SWITCHER_SHOWING = 1 << 20;
// Device dozing/AOD state // Device dozing/AOD state
public static final int SYSUI_STATE_DEVICE_DOZING = 1 << 21; 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) @Retention(RetentionPolicy.SOURCE)
@IntDef({SYSUI_STATE_SCREEN_PINNING, @IntDef({SYSUI_STATE_SCREEN_PINNING,
@@ -139,7 +141,8 @@ public class QuickStepContract {
SYSUI_STATE_IME_SHOWING, SYSUI_STATE_IME_SHOWING,
SYSUI_STATE_MAGNIFICATION_OVERLAP, SYSUI_STATE_MAGNIFICATION_OVERLAP,
SYSUI_STATE_IME_SWITCHER_SHOWING, SYSUI_STATE_IME_SWITCHER_SHOWING,
SYSUI_STATE_DEVICE_DOZING SYSUI_STATE_DEVICE_DOZING,
SYSUI_STATE_BACK_DISABLED
}) })
public @interface SystemUiStateFlags {} 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_MAGNIFICATION_OVERLAP) != 0 ? "magnification_overlap" : "");
str.add((flags & SYSUI_STATE_IME_SWITCHER_SHOWING) != 0 ? "ime_switcher_showing" : ""); 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_DEVICE_DOZING) != 0 ? "device_dozing" : "");
str.add((flags & SYSUI_STATE_BACK_DISABLED) != 0 ? "back_disabled" : "");
return str.toString(); return str.toString();
} }

View File

@@ -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_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_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_SHOWING;
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_IME_SWITCHER_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.inputmethodservice.InputMethodService;
import android.os.IBinder; import android.os.IBinder;
import android.view.InsetsVisibilities; import android.view.InsetsVisibilities;
import android.view.View;
import com.android.internal.view.AppearanceRegion; import com.android.internal.view.AppearanceRegion;
import com.android.systemui.model.SysUiState; import com.android.systemui.model.SysUiState;
@@ -47,6 +51,8 @@ public class TaskbarDelegate implements CommandQueue.Callbacks {
private int mNavigationIconHints; private int mNavigationIconHints;
private final NavigationBarA11yHelper.NavA11yEventListener mNavA11yEventListener = private final NavigationBarA11yHelper.NavA11yEventListener mNavA11yEventListener =
this::updateSysuiFlags; this::updateSysuiFlags;
private int mDisabledFlags;
@Inject @Inject
public TaskbarDelegate() { /* no-op */ } public TaskbarDelegate() { /* no-op */ }
@@ -81,6 +87,12 @@ public class TaskbarDelegate implements CommandQueue.Callbacks {
(mNavigationIconHints & NAVIGATION_HINT_BACK_ALT) != 0) (mNavigationIconHints & NAVIGATION_HINT_BACK_ALT) != 0)
.setFlag(SYSUI_STATE_IME_SWITCHER_SHOWING, .setFlag(SYSUI_STATE_IME_SWITCHER_SHOWING,
(mNavigationIconHints & NAVIGATION_HINT_IME_SHOWN) != 0) (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); .commitUpdate(mDisplayId);
} }
@@ -103,6 +115,8 @@ public class TaskbarDelegate implements CommandQueue.Callbacks {
@Override @Override
public void disable(int displayId, int state1, int state2, boolean animate) { public void disable(int displayId, int state1, int state2, boolean animate) {
mDisabledFlags = state1;
updateSysuiFlags();
mOverviewProxyService.disable(displayId, state1, state2, animate); mOverviewProxyService.disable(displayId, state1, state2, animate);
} }