Merge "Fade out navbar on lockscreen -> homescreen transition" into tm-qpr-dev

This commit is contained in:
Mike Schneider
2023-04-06 10:35:54 +00:00
committed by Android (Google) Code Review
6 changed files with 24 additions and 7 deletions

View File

@@ -123,6 +123,8 @@ public class QuickStepContract {
public static final int SYSUI_STATE_WAKEFULNESS_TRANSITION = 1 << 29; public static final int SYSUI_STATE_WAKEFULNESS_TRANSITION = 1 << 29;
// The notification panel expansion fraction is > 0 // The notification panel expansion fraction is > 0
public static final int SYSUI_STATE_NOTIFICATION_PANEL_VISIBLE = 1 << 30; public static final int SYSUI_STATE_NOTIFICATION_PANEL_VISIBLE = 1 << 30;
// When keyguard will be dismissed but didn't start animation yet
public static final int SYSUI_STATE_STATUS_BAR_KEYGUARD_GOING_AWAY = 1 << 31;
// Mask for SystemUiStateFlags to isolate SYSUI_STATE_AWAKE and // Mask for SystemUiStateFlags to isolate SYSUI_STATE_AWAKE and
// SYSUI_STATE_WAKEFULNESS_TRANSITION, to match WAKEFULNESS_* constants // SYSUI_STATE_WAKEFULNESS_TRANSITION, to match WAKEFULNESS_* constants
@@ -167,6 +169,7 @@ public class QuickStepContract {
SYSUI_STATE_AWAKE, SYSUI_STATE_AWAKE,
SYSUI_STATE_WAKEFULNESS_TRANSITION, SYSUI_STATE_WAKEFULNESS_TRANSITION,
SYSUI_STATE_NOTIFICATION_PANEL_VISIBLE, SYSUI_STATE_NOTIFICATION_PANEL_VISIBLE,
SYSUI_STATE_STATUS_BAR_KEYGUARD_GOING_AWAY,
}) })
public @interface SystemUiStateFlags {} public @interface SystemUiStateFlags {}
@@ -265,6 +268,9 @@ public class QuickStepContract {
if ((flags & SYSUI_STATE_NOTIFICATION_PANEL_VISIBLE) != 0) { if ((flags & SYSUI_STATE_NOTIFICATION_PANEL_VISIBLE) != 0) {
str.add("notif_visible"); str.add("notif_visible");
} }
if ((flags & SYSUI_STATE_STATUS_BAR_KEYGUARD_GOING_AWAY) != 0) {
str.add("keygrd_going_away");
}
return str.toString(); return str.toString();
} }

View File

@@ -210,8 +210,8 @@ public class SystemActions implements CoreStartable {
// Saving in instance variable since to prevent GC since // Saving in instance variable since to prevent GC since
// NotificationShadeWindowController.registerCallback() only keeps weak references. // NotificationShadeWindowController.registerCallback() only keeps weak references.
mNotificationShadeCallback = mNotificationShadeCallback =
(keyguardShowing, keyguardOccluded, bouncerShowing, mDozing, panelExpanded, (keyguardShowing, keyguardOccluded, keyguardGoingAway, bouncerShowing, mDozing,
isDreaming) -> panelExpanded, isDreaming) ->
registerOrUnregisterDismissNotificationShadeAction(); registerOrUnregisterDismissNotificationShadeAction();
mCentralSurfacesOptionalLazy = centralSurfacesOptionalLazy; mCentralSurfacesOptionalLazy = centralSurfacesOptionalLazy;
} }

View File

@@ -32,6 +32,7 @@ import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_A
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_BOUNCER_SHOWING; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_BOUNCER_SHOWING;
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_DEVICE_DOZING; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_DEVICE_DOZING;
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_DEVICE_DREAMING; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_DEVICE_DREAMING;
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_STATUS_BAR_KEYGUARD_GOING_AWAY;
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;
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING_OCCLUDED; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING_OCCLUDED;
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_TRACING_ENABLED; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_TRACING_ENABLED;
@@ -674,11 +675,14 @@ public class OverviewProxyService implements CallbackController<OverviewProxyLis
} }
private void onStatusBarStateChanged(boolean keyguardShowing, boolean keyguardOccluded, private void onStatusBarStateChanged(boolean keyguardShowing, boolean keyguardOccluded,
boolean bouncerShowing, boolean isDozing, boolean panelExpanded, boolean isDreaming) { boolean keyguardGoingAway, boolean bouncerShowing, boolean isDozing,
boolean panelExpanded, boolean isDreaming) {
mSysUiState.setFlag(SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING, mSysUiState.setFlag(SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING,
keyguardShowing && !keyguardOccluded) keyguardShowing && !keyguardOccluded)
.setFlag(SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING_OCCLUDED, .setFlag(SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING_OCCLUDED,
keyguardShowing && keyguardOccluded) keyguardShowing && keyguardOccluded)
.setFlag(SYSUI_STATE_STATUS_BAR_KEYGUARD_GOING_AWAY,
keyguardGoingAway)
.setFlag(SYSUI_STATE_BOUNCER_SHOWING, bouncerShowing) .setFlag(SYSUI_STATE_BOUNCER_SHOWING, bouncerShowing)
.setFlag(SYSUI_STATE_DEVICE_DOZING, isDozing) .setFlag(SYSUI_STATE_DEVICE_DOZING, isDozing)
.setFlag(SYSUI_STATE_DEVICE_DREAMING, isDreaming) .setFlag(SYSUI_STATE_DEVICE_DREAMING, isDreaming)

View File

@@ -561,6 +561,7 @@ public class NotificationShadeWindowControllerImpl implements NotificationShadeW
for (StatusBarWindowCallback cb : activeCallbacks) { for (StatusBarWindowCallback cb : activeCallbacks) {
cb.onStateChanged(mCurrentState.keyguardShowing, cb.onStateChanged(mCurrentState.keyguardShowing,
mCurrentState.keyguardOccluded, mCurrentState.keyguardOccluded,
mCurrentState.keyguardGoingAway,
mCurrentState.bouncerShowing, mCurrentState.bouncerShowing,
mCurrentState.dozing, mCurrentState.dozing,
mCurrentState.panelExpanded, mCurrentState.panelExpanded,

View File

@@ -16,6 +16,12 @@
package com.android.systemui.statusbar.phone; package com.android.systemui.statusbar.phone;
public interface StatusBarWindowCallback { public interface StatusBarWindowCallback {
void onStateChanged(boolean keyguardShowing, boolean keyguardOccluded, boolean bouncerShowing, /**
boolean isDozing, boolean panelExpanded, boolean isDreaming); * Invoked when the internal state of NotificationShadeWindowControllerImpl changes.
* Some of the flags passed as argument to the callback might have changed, but this is not
* guaranteed.
*/
void onStateChanged(boolean keyguardShowing, boolean keyguardOccluded,
boolean keyguardGoingAway, boolean bouncerShowing, boolean isDozing,
boolean panelExpanded, boolean isDreaming);
} }

View File

@@ -235,8 +235,8 @@ public class BubblesManager {
// Store callback in a field so it won't get GC'd // Store callback in a field so it won't get GC'd
mStatusBarWindowCallback = mStatusBarWindowCallback =
(keyguardShowing, keyguardOccluded, bouncerShowing, isDozing, panelExpanded, (keyguardShowing, keyguardOccluded, keyguardGoingAway, bouncerShowing, isDozing,
isDreaming) -> panelExpanded, isDreaming) ->
mBubbles.onNotificationPanelExpandedChanged(panelExpanded); mBubbles.onNotificationPanelExpandedChanged(panelExpanded);
notificationShadeWindowController.registerCallback(mStatusBarWindowCallback); notificationShadeWindowController.registerCallback(mStatusBarWindowCallback);