summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Treehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com> 2024-08-19 22:33:57 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2024-08-19 22:33:57 +0000
commit00d88eae683f81f4dea740e99d11dfb15b206c4f (patch)
tree391c0264bad92daa8f6f71b024dd250538b5a875
parent4548aa6bc3708c9d4939300eddf3f11855362323 (diff)
parenta694b7350235dead3bab5c7ae94353ed53b1cbf5 (diff)
Merge "Possible fix and additional logging for b/337742708" into main
-rw-r--r--packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java21
-rw-r--r--packages/SystemUI/src/com/android/systemui/shade/ShadeLogger.kt25
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"
+ }
+ )
+ }
}