diff options
| author | 2024-08-19 22:33:57 +0000 | |
|---|---|---|
| committer | 2024-08-19 22:33:57 +0000 | |
| commit | 00d88eae683f81f4dea740e99d11dfb15b206c4f (patch) | |
| tree | 391c0264bad92daa8f6f71b024dd250538b5a875 | |
| parent | 4548aa6bc3708c9d4939300eddf3f11855362323 (diff) | |
| parent | a694b7350235dead3bab5c7ae94353ed53b1cbf5 (diff) | |
Merge "Possible fix and additional logging for b/337742708" into main
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java | 21 | ||||
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/shade/ShadeLogger.kt | 25 |
2 files changed, 39 insertions, 7 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java b/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java index 65a59f50d1bf..c023b8358a01 100644 --- a/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java +++ b/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java @@ -4536,6 +4536,13 @@ public final class NotificationPanelViewController implements ShadeSurface, Dump private final class StatusBarStateListener implements StateListener { @Override public void onStateChanged(int statusBarState) { + onStateChanged(statusBarState, false); + } + + private void onStateChanged( + int statusBarState, + boolean animatingUnlockedShadeToKeyguardBypass + ) { boolean goingToFullShade = mStatusBarStateController.goingToFullShade(); boolean keyguardFadingAway = mKeyguardStateController.isKeyguardFadingAway(); int oldState = mBarState; @@ -4607,15 +4614,14 @@ public final class NotificationPanelViewController implements ShadeSurface, Dump // - getting notified again about the current SHADE or KEYGUARD state final boolean animatingUnlockedShadeToKeyguard = oldState == SHADE && statusBarState == KEYGUARD - && mScreenOffAnimationController.isKeyguardShowDelayed(); + && mScreenOffAnimationController.isKeyguardShowDelayed() + //Bypasses animatingUnlockedShadeToKeyguard for b/337742708 + && !animatingUnlockedShadeToKeyguardBypass; if (!animatingUnlockedShadeToKeyguard) { // Only make the status bar visible if we're not animating the screen off, since // we only want to be showing the clock/notifications during the animation. - if (keyguardShowing) { - mShadeLog.v("Updating keyguard status bar state to visible"); - } else { - mShadeLog.v("Updating keyguard status bar state to invisible"); - } + mShadeLog.logKeyguardStatudBarVisibiliy(keyguardShowing, isOnAod(), + animatingUnlockedShadeToKeyguardBypass, oldState, statusBarState); mKeyguardStatusBarViewController.updateViewState( /* alpha= */ 1f, keyguardShowing ? View.VISIBLE : View.INVISIBLE); @@ -4692,7 +4698,8 @@ public final class NotificationPanelViewController implements ShadeSurface, Dump .addTagListener(QS.TAG, mQsController.getQsFragmentListener()); if (!SceneContainerFlag.isEnabled()) { mStatusBarStateController.addCallback(mStatusBarStateListener); - mStatusBarStateListener.onStateChanged(mStatusBarStateController.getState()); + // Bypass animatingUnlockedShadeToKeyguard in onStateChanged for b/337742708 + mStatusBarStateListener.onStateChanged(mStatusBarStateController.getState(), true); } mConfigurationController.addCallback(mConfigurationListener); // Theme might have changed between inflating this view and attaching it to the diff --git a/packages/SystemUI/src/com/android/systemui/shade/ShadeLogger.kt b/packages/SystemUI/src/com/android/systemui/shade/ShadeLogger.kt index 66a310c22fee..f1eaec8cda81 100644 --- a/packages/SystemUI/src/com/android/systemui/shade/ShadeLogger.kt +++ b/packages/SystemUI/src/com/android/systemui/shade/ShadeLogger.kt @@ -411,4 +411,29 @@ class ShadeLogger @Inject constructor(@ShadeLog private val buffer: LogBuffer) { } ) } + + fun logKeyguardStatudBarVisibiliy( + visibility: Boolean, + isOnAod: Boolean, + animatingUnlockedShadeToKeyguardBypass: Boolean, + oldShadeState: Int, + newShadeState: Int, + ) { + buffer.log( + TAG, + LogLevel.VERBOSE, + { + bool1 = visibility + bool2 = isOnAod + bool3 = animatingUnlockedShadeToKeyguardBypass + int1 = oldShadeState + int2 = newShadeState + }, + { + "Setting keyguard status bar visibility to: $bool1, isOnAod: $bool2" + + "oldShadeState: $int1, newShadeState: $int2," + + "animatingUnlockedShadeToKeyguardBypass: $bool3" + } + ) + } } |