Merge "Expose keyguard showing-but-occluded state to launcher" into qt-dev
am: c8120d6d6a
Change-Id: Id709a812fc1db45e99a69a7114f2ff665b142cc2
This commit is contained in:
@@ -61,12 +61,14 @@ public class QuickStepContract {
|
|||||||
public static final int SYSUI_STATE_A11Y_BUTTON_CLICKABLE = 1 << 4;
|
public static final int SYSUI_STATE_A11Y_BUTTON_CLICKABLE = 1 << 4;
|
||||||
// The navigation bar a11y button shortcut is available
|
// The navigation bar a11y button shortcut is available
|
||||||
public static final int SYSUI_STATE_A11Y_BUTTON_LONG_CLICKABLE = 1 << 5;
|
public static final int SYSUI_STATE_A11Y_BUTTON_LONG_CLICKABLE = 1 << 5;
|
||||||
// The keyguard is showing
|
// The keyguard is showing and not occluded
|
||||||
public static final int SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING = 1 << 6;
|
public static final int SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING = 1 << 6;
|
||||||
// The recents feature is disabled (either by SUW/SysUI/device policy)
|
// The recents feature is disabled (either by SUW/SysUI/device policy)
|
||||||
public static final int SYSUI_STATE_OVERVIEW_DISABLED = 1 << 7;
|
public static final int SYSUI_STATE_OVERVIEW_DISABLED = 1 << 7;
|
||||||
// The home feature is disabled (either by SUW/SysUI/device policy)
|
// The home feature is disabled (either by SUW/SysUI/device policy)
|
||||||
public static final int SYSUI_STATE_HOME_DISABLED = 1 << 8;
|
public static final int SYSUI_STATE_HOME_DISABLED = 1 << 8;
|
||||||
|
// The keyguard is showing, but occluded
|
||||||
|
public static final int SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING_OCCLUDED = 1 << 9;
|
||||||
|
|
||||||
@Retention(RetentionPolicy.SOURCE)
|
@Retention(RetentionPolicy.SOURCE)
|
||||||
@IntDef({SYSUI_STATE_SCREEN_PINNING,
|
@IntDef({SYSUI_STATE_SCREEN_PINNING,
|
||||||
@@ -76,6 +78,7 @@ public class QuickStepContract {
|
|||||||
SYSUI_STATE_A11Y_BUTTON_CLICKABLE,
|
SYSUI_STATE_A11Y_BUTTON_CLICKABLE,
|
||||||
SYSUI_STATE_A11Y_BUTTON_LONG_CLICKABLE,
|
SYSUI_STATE_A11Y_BUTTON_LONG_CLICKABLE,
|
||||||
SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING,
|
SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING,
|
||||||
|
SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING_OCCLUDED,
|
||||||
SYSUI_STATE_OVERVIEW_DISABLED,
|
SYSUI_STATE_OVERVIEW_DISABLED,
|
||||||
SYSUI_STATE_HOME_DISABLED
|
SYSUI_STATE_HOME_DISABLED
|
||||||
})
|
})
|
||||||
@@ -89,6 +92,8 @@ public class QuickStepContract {
|
|||||||
str.add((flags & SYSUI_STATE_NAV_BAR_HIDDEN) != 0 ? "navbar_hidden" : "");
|
str.add((flags & SYSUI_STATE_NAV_BAR_HIDDEN) != 0 ? "navbar_hidden" : "");
|
||||||
str.add((flags & SYSUI_STATE_NOTIFICATION_PANEL_EXPANDED) != 0 ? "notif_visible" : "");
|
str.add((flags & SYSUI_STATE_NOTIFICATION_PANEL_EXPANDED) != 0 ? "notif_visible" : "");
|
||||||
str.add((flags & SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING) != 0 ? "keygrd_visible" : "");
|
str.add((flags & SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING) != 0 ? "keygrd_visible" : "");
|
||||||
|
str.add((flags & SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING_OCCLUDED) != 0
|
||||||
|
? "keygrd_occluded" : "");
|
||||||
str.add((flags & SYSUI_STATE_BOUNCER_SHOWING) != 0 ? "bouncer_visible" : "");
|
str.add((flags & SYSUI_STATE_BOUNCER_SHOWING) != 0 ? "bouncer_visible" : "");
|
||||||
str.add((flags & SYSUI_STATE_A11Y_BUTTON_CLICKABLE) != 0 ? "a11y_click" : "");
|
str.add((flags & SYSUI_STATE_A11Y_BUTTON_CLICKABLE) != 0 ? "a11y_click" : "");
|
||||||
str.add((flags & SYSUI_STATE_A11Y_BUTTON_LONG_CLICKABLE) != 0 ? "a11y_long_click" : "");
|
str.add((flags & SYSUI_STATE_A11Y_BUTTON_LONG_CLICKABLE) != 0 ? "a11y_long_click" : "");
|
||||||
|
|||||||
@@ -41,7 +41,6 @@ import android.graphics.Region;
|
|||||||
import android.hardware.input.InputManager;
|
import android.hardware.input.InputManager;
|
||||||
import android.os.Binder;
|
import android.os.Binder;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Debug;
|
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
import android.os.IBinder;
|
import android.os.IBinder;
|
||||||
import android.os.Looper;
|
import android.os.Looper;
|
||||||
@@ -69,6 +68,7 @@ import com.android.systemui.statusbar.phone.NavigationBarFragment;
|
|||||||
import com.android.systemui.statusbar.phone.NavigationBarView;
|
import com.android.systemui.statusbar.phone.NavigationBarView;
|
||||||
import com.android.systemui.statusbar.phone.NavigationModeController;
|
import com.android.systemui.statusbar.phone.NavigationModeController;
|
||||||
import com.android.systemui.statusbar.phone.StatusBar;
|
import com.android.systemui.statusbar.phone.StatusBar;
|
||||||
|
import com.android.systemui.statusbar.phone.StatusBarWindowController;
|
||||||
import com.android.systemui.statusbar.policy.CallbackController;
|
import com.android.systemui.statusbar.policy.CallbackController;
|
||||||
import com.android.systemui.statusbar.policy.DeviceProvisionedController;
|
import com.android.systemui.statusbar.policy.DeviceProvisionedController;
|
||||||
import com.android.systemui.statusbar.policy.DeviceProvisionedController.DeviceProvisionedListener;
|
import com.android.systemui.statusbar.policy.DeviceProvisionedController.DeviceProvisionedListener;
|
||||||
@@ -516,7 +516,8 @@ public class OverviewProxyService implements CallbackController<OverviewProxyLis
|
|||||||
final NavigationBarController navBar = Dependency.get(NavigationBarController.class);
|
final NavigationBarController navBar = Dependency.get(NavigationBarController.class);
|
||||||
final NavigationBarFragment navBarFragment = navBar.getDefaultNavigationBarFragment();
|
final NavigationBarFragment navBarFragment = navBar.getDefaultNavigationBarFragment();
|
||||||
final NavigationBarView navBarView = navBar.getNavigationBarView(mContext.getDisplayId());
|
final NavigationBarView navBarView = navBar.getNavigationBarView(mContext.getDisplayId());
|
||||||
final StatusBar statusBar = SysUiServiceProvider.getComponent(mContext, StatusBar.class);
|
final StatusBarWindowController statusBarController =
|
||||||
|
Dependency.get(StatusBarWindowController.class);
|
||||||
|
|
||||||
mSysUiStateFlags = 0;
|
mSysUiStateFlags = 0;
|
||||||
if (navBarFragment != null) {
|
if (navBarFragment != null) {
|
||||||
@@ -525,8 +526,8 @@ public class OverviewProxyService implements CallbackController<OverviewProxyLis
|
|||||||
if (navBarView != null) {
|
if (navBarView != null) {
|
||||||
navBarView.updateSystemUiStateFlags();
|
navBarView.updateSystemUiStateFlags();
|
||||||
}
|
}
|
||||||
if (statusBar != null) {
|
if (statusBarController != null) {
|
||||||
statusBar.updateSystemUiStateFlags();
|
statusBarController.updateSystemUiStateFlags();
|
||||||
}
|
}
|
||||||
notifySystemUiStateFlags(mSysUiStateFlags);
|
notifySystemUiStateFlags(mSysUiStateFlags);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,8 +30,6 @@ import static com.android.systemui.Dependency.MAIN_HANDLER;
|
|||||||
import static com.android.systemui.keyguard.WakefulnessLifecycle.WAKEFULNESS_ASLEEP;
|
import static com.android.systemui.keyguard.WakefulnessLifecycle.WAKEFULNESS_ASLEEP;
|
||||||
import static com.android.systemui.keyguard.WakefulnessLifecycle.WAKEFULNESS_AWAKE;
|
import static com.android.systemui.keyguard.WakefulnessLifecycle.WAKEFULNESS_AWAKE;
|
||||||
import static com.android.systemui.keyguard.WakefulnessLifecycle.WAKEFULNESS_WAKING;
|
import static com.android.systemui.keyguard.WakefulnessLifecycle.WAKEFULNESS_WAKING;
|
||||||
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_BOUNCER_SHOWING;
|
|
||||||
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING;
|
|
||||||
import static com.android.systemui.shared.system.WindowManagerWrapper.NAV_BAR_POS_INVALID;
|
import static com.android.systemui.shared.system.WindowManagerWrapper.NAV_BAR_POS_INVALID;
|
||||||
import static com.android.systemui.shared.system.WindowManagerWrapper.NAV_BAR_POS_LEFT;
|
import static com.android.systemui.shared.system.WindowManagerWrapper.NAV_BAR_POS_LEFT;
|
||||||
import static com.android.systemui.statusbar.NotificationLockscreenUserManager.PERMISSION_SELF;
|
import static com.android.systemui.statusbar.NotificationLockscreenUserManager.PERMISSION_SELF;
|
||||||
@@ -169,7 +167,6 @@ import com.android.systemui.plugins.statusbar.NotificationSwipeActionHelper.Snoo
|
|||||||
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
||||||
import com.android.systemui.qs.QSFragment;
|
import com.android.systemui.qs.QSFragment;
|
||||||
import com.android.systemui.qs.QSPanel;
|
import com.android.systemui.qs.QSPanel;
|
||||||
import com.android.systemui.recents.OverviewProxyService;
|
|
||||||
import com.android.systemui.recents.Recents;
|
import com.android.systemui.recents.Recents;
|
||||||
import com.android.systemui.recents.ScreenPinningRequest;
|
import com.android.systemui.recents.ScreenPinningRequest;
|
||||||
import com.android.systemui.shared.system.WindowManagerWrapper;
|
import com.android.systemui.shared.system.WindowManagerWrapper;
|
||||||
@@ -788,8 +785,6 @@ public class StatusBar extends SystemUI implements DemoMode,
|
|||||||
int disabledFlags2 = result.mDisabledFlags2;
|
int disabledFlags2 = result.mDisabledFlags2;
|
||||||
Dependency.get(InitController.class).addPostInitTask(
|
Dependency.get(InitController.class).addPostInitTask(
|
||||||
() -> setUpDisableFlags(disabledFlags1, disabledFlags2));
|
() -> setUpDisableFlags(disabledFlags1, disabledFlags2));
|
||||||
|
|
||||||
updateSystemUiStateFlags();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// ================================================================================
|
// ================================================================================
|
||||||
@@ -3423,7 +3418,6 @@ public class StatusBar extends SystemUI implements DemoMode,
|
|||||||
updateDozingState();
|
updateDozingState();
|
||||||
checkBarModes();
|
checkBarModes();
|
||||||
updateScrimController();
|
updateScrimController();
|
||||||
updateSystemUiStateFlags();
|
|
||||||
mPresenter.updateMediaMetaData(false, mState != StatusBarState.KEYGUARD);
|
mPresenter.updateMediaMetaData(false, mState != StatusBarState.KEYGUARD);
|
||||||
mKeyguardMonitor.notifyKeyguardState(mStatusBarKeyguardViewManager.isShowing(),
|
mKeyguardMonitor.notifyKeyguardState(mStatusBarKeyguardViewManager.isShowing(),
|
||||||
mUnlockMethodCache.isMethodSecure(),
|
mUnlockMethodCache.isMethodSecure(),
|
||||||
@@ -3590,16 +3584,6 @@ public class StatusBar extends SystemUI implements DemoMode,
|
|||||||
if (!mBouncerShowing) {
|
if (!mBouncerShowing) {
|
||||||
updatePanelExpansionForKeyguard();
|
updatePanelExpansionForKeyguard();
|
||||||
}
|
}
|
||||||
updateSystemUiStateFlags();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateSystemUiStateFlags() {
|
|
||||||
OverviewProxyService overviewProxyService = Dependency.get(OverviewProxyService.class);
|
|
||||||
overviewProxyService.setSystemUiStateFlag(SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING,
|
|
||||||
mStatusBarStateController.getState() == StatusBarState.KEYGUARD,
|
|
||||||
mDisplayId);
|
|
||||||
overviewProxyService.setSystemUiStateFlag(SYSUI_STATE_BOUNCER_SHOWING,
|
|
||||||
isBouncerShowing(), mDisplayId);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -18,6 +18,9 @@ package com.android.systemui.statusbar.phone;
|
|||||||
|
|
||||||
import static android.view.WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS;
|
import static android.view.WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS;
|
||||||
|
|
||||||
|
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_BOUNCER_SHOWING;
|
||||||
|
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING;
|
||||||
|
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING_OCCLUDED;
|
||||||
import static com.android.systemui.statusbar.NotificationRemoteInputManager.ENABLE_REMOTE_INPUT;
|
import static com.android.systemui.statusbar.NotificationRemoteInputManager.ENABLE_REMOTE_INPUT;
|
||||||
|
|
||||||
import android.app.ActivityManager;
|
import android.app.ActivityManager;
|
||||||
@@ -45,6 +48,7 @@ import com.android.systemui.colorextraction.SysuiColorExtractor;
|
|||||||
import com.android.systemui.keyguard.KeyguardViewMediator;
|
import com.android.systemui.keyguard.KeyguardViewMediator;
|
||||||
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
||||||
import com.android.systemui.plugins.statusbar.StatusBarStateController.StateListener;
|
import com.android.systemui.plugins.statusbar.StatusBarStateController.StateListener;
|
||||||
|
import com.android.systemui.recents.OverviewProxyService;
|
||||||
import com.android.systemui.statusbar.RemoteInputController.Callback;
|
import com.android.systemui.statusbar.RemoteInputController.Callback;
|
||||||
import com.android.systemui.statusbar.StatusBarState;
|
import com.android.systemui.statusbar.StatusBarState;
|
||||||
import com.android.systemui.statusbar.SysuiStatusBarStateController;
|
import com.android.systemui.statusbar.SysuiStatusBarStateController;
|
||||||
@@ -316,6 +320,18 @@ public class StatusBarWindowController implements Callback, Dumpable, Configurat
|
|||||||
}
|
}
|
||||||
mHasTopUi = mHasTopUiChanged;
|
mHasTopUi = mHasTopUiChanged;
|
||||||
}
|
}
|
||||||
|
updateSystemUiStateFlags();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void updateSystemUiStateFlags() {
|
||||||
|
int displayId = mContext.getDisplayId();
|
||||||
|
OverviewProxyService overviewProxyService = Dependency.get(OverviewProxyService.class);
|
||||||
|
overviewProxyService.setSystemUiStateFlag(SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING,
|
||||||
|
mCurrentState.keyguardShowing && !mCurrentState.keyguardOccluded, displayId);
|
||||||
|
overviewProxyService.setSystemUiStateFlag(SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING_OCCLUDED,
|
||||||
|
mCurrentState.keyguardShowing && mCurrentState.keyguardOccluded, displayId);
|
||||||
|
overviewProxyService.setSystemUiStateFlag(SYSUI_STATE_BOUNCER_SHOWING,
|
||||||
|
mCurrentState.bouncerShowing, displayId);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void applyForceStatusBarVisibleFlag(State state) {
|
private void applyForceStatusBarVisibleFlag(State state) {
|
||||||
|
|||||||
Reference in New Issue
Block a user