diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardStatusViewController.java b/packages/SystemUI/src/com/android/keyguard/KeyguardStatusViewController.java index 867f1178c3f82..1804ad4a0c151 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardStatusViewController.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardStatusViewController.java @@ -80,7 +80,7 @@ public class KeyguardStatusViewController extends ViewController private static final int SHOW_COMMUNAL_VIEW_INVALID_STATES = STATE_DOZING | STATE_BOUNCER_SHOWING | STATE_KEYGUARD_OCCLUDED; + private final KeyguardVisibilityHelper mKeyguardVisibilityHelper; + private ViewController mCommunalViewController; private KeyguardUpdateMonitorCallback mKeyguardUpdateCallback = @@ -123,6 +128,8 @@ public class CommunalHostViewController extends ViewController CommunalStateController communalStateController, KeyguardUpdateMonitor keyguardUpdateMonitor, KeyguardStateController keyguardStateController, + DozeParameters dozeParameters, + UnlockedScreenOffAnimationController unlockedScreenOffAnimationController, StatusBarStateController statusBarStateController, CommunalHostView view) { super(view); mCommunalStateController = communalStateController; @@ -130,6 +137,21 @@ public class CommunalHostViewController extends ViewController mMainExecutor = mainExecutor; mKeyguardStateController = keyguardStateController; mStatusBarStateController = statusBarStateController; + mKeyguardVisibilityHelper = new KeyguardVisibilityHelper(mView, communalStateController, + keyguardStateController, dozeParameters, unlockedScreenOffAnimationController, + /* animateYPos= */ false, /* visibleOnCommunal= */ true); + } + + /** + * Set the visibility of the keyguard status view based on some new state. + */ + public void setKeyguardStatusViewVisibility( + int statusBarState, + boolean keyguardFadingAway, + boolean goingToFullShade, + int oldStatusBarState) { + mKeyguardVisibilityHelper.setViewVisibility( + statusBarState, keyguardFadingAway, goingToFullShade, oldStatusBarState); } @Override diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java index 9204c2a63980b..b5eb90e22d45c 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java @@ -4567,6 +4567,15 @@ public class NotificationPanelViewController extends PanelViewController { keyguardFadingAway, goingToFullShade, mBarState); + + if (mCommunalViewController != null) { + mCommunalViewController.setKeyguardStatusViewVisibility( + statusBarState, + keyguardFadingAway, + goingToFullShade, + mBarState); + } + setKeyguardBottomAreaVisibility(statusBarState, goingToFullShade); mBarState = statusBarState; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardQsUserSwitchController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardQsUserSwitchController.java index dd38f9826731d..a29b72c759dbb 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardQsUserSwitchController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardQsUserSwitchController.java @@ -137,7 +137,8 @@ public class KeyguardQsUserSwitchController extends ViewController