From c1e331dd9c3ad4032f447ecca7ed377ab6db75c0 Mon Sep 17 00:00:00 2001 From: Peter Kalauskas Date: Wed, 3 Mar 2021 12:22:05 -0800 Subject: [PATCH] Fix doze bug in keyguard user switcher Previously, the view would be set to GONE at the incorrect time. KeyguardQsUserSwitchController has no need for knowing the doze amount at all since it does not need to update text color, so remove the listener entirely. Also, add javadoc and update variable names in KeyguardSliceView's setDarkAmount to better reflect their meaning. Test: Build and flash blueline-userdebug with QS user switcher enabled (config_keyguard_user_switch_opens_qs_details), switch between device owner and guest repeatedly. Turn screen off and on. Bug: 181776379 Change-Id: I772612d49f2e3bcbd6aba334afee17fcb1c84c57 --- .../android/keyguard/KeyguardSliceView.java | 13 +++++++---- .../KeyguardQsUserSwitchController.java | 23 ------------------- .../KeyguardUserSwitcherController.java | 7 +++--- 3 files changed, 12 insertions(+), 31 deletions(-) diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java b/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java index 2373d75cd4ea5..83c2d1e7f6849 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java @@ -405,14 +405,19 @@ public class KeyguardSliceView extends LinearLayout { super.onMeasure(widthMeasureSpec, heightMeasureSpec); } + /** + * Set the amount (ratio) that the device has transitioned to doze. + * + * @param darkAmount Amount of transition to doze: 1f for doze and 0f for awake. + */ public void setDarkAmount(float darkAmount) { - boolean isAwake = darkAmount != 0; - boolean wasAwake = mDarkAmount != 0; - if (isAwake == wasAwake) { + boolean isDozing = darkAmount != 0; + boolean wasDozing = mDarkAmount != 0; + if (isDozing == wasDozing) { return; } mDarkAmount = darkAmount; - setLayoutAnimationListener(isAwake ? null : mKeepAwakeListener); + setLayoutAnimationListener(isDozing ? null : mKeepAwakeListener); } @Override 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 38f3bc891394d..59c1138431fbb 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardQsUserSwitchController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardQsUserSwitchController.java @@ -94,15 +94,6 @@ public class KeyguardQsUserSwitchController extends ViewController