Pass through home/back/recents disable flags via sysuiFlags
* Create new SysUIFlag for back disabled, similar to home/recents disabled Bug: 194870114 Test: Locking screen w/ 3 button nav w/ various keyguards Change-Id: Ie9522fa2b893d98754be1b3ae5c17fb8bfe8ae57
This commit is contained in:
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user