diff options
| author | 2023-01-09 22:53:21 +0000 | |
|---|---|---|
| committer | 2023-01-09 22:53:21 +0000 | |
| commit | 8f61e5f964935d12f1c446768836f4dd34f80050 (patch) | |
| tree | 99ed63fbbc6b9ad5c489cc1a1b21438c5ff9fd3a | |
| parent | b90d3264adb6a5c56ce43c4fd54c49c969902925 (diff) | |
| parent | fa18adb56586029061aed670437d96aed6e8b7f0 (diff) | |
Merge "Add logging to KeyguardVisibilityHelper" into tm-qpr-dev am: e4cfc06683 am: fa18adb565
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20843291
Change-Id: I2a6ee635ceaff6fcb04d85944ec74cc05710373e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
6 files changed, 43 insertions, 7 deletions
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardStatusViewController.java b/packages/SystemUI/src/com/android/keyguard/KeyguardStatusViewController.java index aec30632c41e..b53b868025e8 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardStatusViewController.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardStatusViewController.java @@ -20,6 +20,7 @@ import android.graphics.Rect; import android.util.Slog; import com.android.keyguard.KeyguardClockSwitch.ClockSize; +import com.android.keyguard.logging.KeyguardLogger; import com.android.systemui.flags.FeatureFlags; import com.android.systemui.flags.Flags; import com.android.systemui.plugins.ClockAnimations; @@ -62,14 +63,16 @@ public class KeyguardStatusViewController extends ViewController<KeyguardStatusV ConfigurationController configurationController, DozeParameters dozeParameters, FeatureFlags featureFlags, - ScreenOffAnimationController screenOffAnimationController) { + ScreenOffAnimationController screenOffAnimationController, + KeyguardLogger logger) { super(keyguardStatusView); mKeyguardSliceViewController = keyguardSliceViewController; mKeyguardClockSwitchController = keyguardClockSwitchController; mKeyguardUpdateMonitor = keyguardUpdateMonitor; mConfigurationController = configurationController; mKeyguardVisibilityHelper = new KeyguardVisibilityHelper(mView, keyguardStateController, - dozeParameters, screenOffAnimationController, /* animateYPos= */ true); + dozeParameters, screenOffAnimationController, /* animateYPos= */ true, + logger.getBuffer()); mKeyguardVisibilityHelper.setOcclusionTransitionFlagEnabled( featureFlags.isEnabled(Flags.UNOCCLUSION_TRANSITION)); } diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardVisibilityHelper.java b/packages/SystemUI/src/com/android/keyguard/KeyguardVisibilityHelper.java index bde06929a3d1..7e48193bfc62 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardVisibilityHelper.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardVisibilityHelper.java @@ -22,6 +22,8 @@ import android.view.View; import android.view.ViewPropertyAnimator; import com.android.systemui.animation.Interpolators; +import com.android.systemui.plugins.log.LogBuffer; +import com.android.systemui.plugins.log.LogLevel; import com.android.systemui.statusbar.StatusBarState; import com.android.systemui.statusbar.notification.AnimatableProperty; import com.android.systemui.statusbar.notification.PropertyAnimator; @@ -31,11 +33,14 @@ import com.android.systemui.statusbar.phone.DozeParameters; import com.android.systemui.statusbar.phone.ScreenOffAnimationController; import com.android.systemui.statusbar.policy.KeyguardStateController; +import com.google.errorprone.annotations.CompileTimeConstant; + /** * Helper class for updating visibility of keyguard views based on keyguard and status bar state. * This logic is shared by both the keyguard status view and the keyguard user switcher. */ public class KeyguardVisibilityHelper { + private static final String TAG = "KeyguardVisibilityHelper"; private View mView; private final KeyguardStateController mKeyguardStateController; @@ -46,17 +51,26 @@ public class KeyguardVisibilityHelper { private boolean mLastOccludedState = false; private boolean mIsUnoccludeTransitionFlagEnabled = false; private final AnimationProperties mAnimationProperties = new AnimationProperties(); + private final LogBuffer mLogBuffer; public KeyguardVisibilityHelper(View view, KeyguardStateController keyguardStateController, DozeParameters dozeParameters, ScreenOffAnimationController screenOffAnimationController, - boolean animateYPos) { + boolean animateYPos, + LogBuffer logBuffer) { mView = view; mKeyguardStateController = keyguardStateController; mDozeParameters = dozeParameters; mScreenOffAnimationController = screenOffAnimationController; mAnimateYPos = animateYPos; + mLogBuffer = logBuffer; + } + + private void log(@CompileTimeConstant String message) { + if (mLogBuffer != null) { + mLogBuffer.log(TAG, LogLevel.DEBUG, message); + } } public boolean isVisibilityAnimating() { @@ -94,6 +108,9 @@ public class KeyguardVisibilityHelper { .setStartDelay(mKeyguardStateController.getKeyguardFadingAwayDelay()) .setDuration(mKeyguardStateController.getShortenedFadingAwayDuration()) .start(); + log("goingToFullShade && keyguardFadingAway"); + } else { + log("goingToFullShade && !keyguardFadingAway"); } } else if (oldStatusBarState == StatusBarState.SHADE_LOCKED && statusBarState == KEYGUARD) { mView.setVisibility(View.VISIBLE); @@ -105,6 +122,7 @@ public class KeyguardVisibilityHelper { .setDuration(320) .setInterpolator(Interpolators.ALPHA_IN) .withEndAction(mAnimateKeyguardStatusViewVisibleEndRunnable); + log("keyguardFadingAway transition w/ Y Aniamtion"); } else if (statusBarState == KEYGUARD) { if (keyguardFadingAway) { mKeyguardViewVisibilityAnimating = true; @@ -125,9 +143,13 @@ public class KeyguardVisibilityHelper { true /* animate */); animator.setDuration(duration) .setStartDelay(delay); + log("keyguardFadingAway transition w/ Y Aniamtion"); + } else { + log("keyguardFadingAway transition w/o Y Animation"); } animator.start(); } else if (mScreenOffAnimationController.shouldAnimateInKeyguard()) { + log("ScreenOff transition"); mKeyguardViewVisibilityAnimating = true; // Ask the screen off animation controller to animate the keyguard visibility for us @@ -136,6 +158,7 @@ public class KeyguardVisibilityHelper { mView, mAnimateKeyguardStatusViewVisibleEndRunnable); } else if (!mIsUnoccludeTransitionFlagEnabled && mLastOccludedState && !isOccluded) { // An activity was displayed over the lock screen, and has now gone away + log("Unoccluded transition"); mView.setVisibility(View.VISIBLE); mView.setAlpha(0f); @@ -146,12 +169,14 @@ public class KeyguardVisibilityHelper { .withEndAction(mAnimateKeyguardStatusViewVisibleEndRunnable) .start(); } else { + log("Direct set Visibility to VISIBLE"); mView.setVisibility(View.VISIBLE); if (!mIsUnoccludeTransitionFlagEnabled) { mView.setAlpha(1f); } } } else { + log("Direct set Visibility to GONE"); mView.setVisibility(View.GONE); mView.setAlpha(1f); } @@ -162,14 +187,18 @@ public class KeyguardVisibilityHelper { private final Runnable mAnimateKeyguardStatusViewInvisibleEndRunnable = () -> { mKeyguardViewVisibilityAnimating = false; mView.setVisibility(View.INVISIBLE); + log("Callback Set Visibility to INVISIBLE"); }; private final Runnable mAnimateKeyguardStatusViewGoneEndRunnable = () -> { mKeyguardViewVisibilityAnimating = false; mView.setVisibility(View.GONE); + log("CallbackSet Visibility to GONE"); }; private final Runnable mAnimateKeyguardStatusViewVisibleEndRunnable = () -> { mKeyguardViewVisibilityAnimating = false; + mView.setVisibility(View.VISIBLE); + log("Callback Set Visibility to VISIBLE"); }; } diff --git a/packages/SystemUI/src/com/android/keyguard/logging/KeyguardLogger.kt b/packages/SystemUI/src/com/android/keyguard/logging/KeyguardLogger.kt index b84fb08d53a8..b106fec11eb5 100644 --- a/packages/SystemUI/src/com/android/keyguard/logging/KeyguardLogger.kt +++ b/packages/SystemUI/src/com/android/keyguard/logging/KeyguardLogger.kt @@ -34,7 +34,7 @@ private const val TAG = "KeyguardLog" * temporary logs or logs for smaller classes when creating whole new [LogBuffer] wrapper might be * an overkill. */ -class KeyguardLogger @Inject constructor(@KeyguardLog private val buffer: LogBuffer) : +class KeyguardLogger @Inject constructor(@KeyguardLog val buffer: LogBuffer) : ConstantStringsLogger by ConstantStringsLoggerImpl(buffer, TAG) { fun logException(ex: Exception, @CompileTimeConstant logMsg: String) { 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 f63d65246d9b..c8ee647cf8a8 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardQsUserSwitchController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardQsUserSwitchController.java @@ -160,7 +160,7 @@ public class KeyguardQsUserSwitchController extends ViewController<FrameLayout> mStatusBarStateController = statusBarStateController; mKeyguardVisibilityHelper = new KeyguardVisibilityHelper(mView, keyguardStateController, dozeParameters, - screenOffAnimationController, /* animateYPos= */ false); + screenOffAnimationController, /* animateYPos= */ false, /* logBuffer= */ null); mUserSwitchDialogController = userSwitchDialogController; mUiEventLogger = uiEventLogger; } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardUserSwitcherController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardUserSwitcherController.java index c1506541229d..e9f0dcb4eb51 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardUserSwitcherController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardUserSwitcherController.java @@ -173,7 +173,7 @@ public class KeyguardUserSwitcherController extends ViewController<KeyguardUserS mUserSwitcherController, this); mKeyguardVisibilityHelper = new KeyguardVisibilityHelper(mView, keyguardStateController, dozeParameters, - screenOffAnimationController, /* animateYPos= */ false); + screenOffAnimationController, /* animateYPos= */ false, /* logBuffer= */ null); mBackground = new KeyguardUserSwitcherScrim(context); } diff --git a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardStatusViewControllerTest.java b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardStatusViewControllerTest.java index be4bbdf5adbc..dfad15d68375 100644 --- a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardStatusViewControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardStatusViewControllerTest.java @@ -24,6 +24,7 @@ import android.graphics.Rect; import android.test.suitebuilder.annotation.SmallTest; import android.testing.AndroidTestingRunner; +import com.android.keyguard.logging.KeyguardLogger; import com.android.systemui.SysuiTestCase; import com.android.systemui.flags.FeatureFlags; import com.android.systemui.plugins.ClockAnimations; @@ -65,6 +66,8 @@ public class KeyguardStatusViewControllerTest extends SysuiTestCase { ScreenOffAnimationController mScreenOffAnimationController; @Captor private ArgumentCaptor<KeyguardUpdateMonitorCallback> mKeyguardUpdateMonitorCallbackCaptor; + @Mock + KeyguardLogger mKeyguardLogger; private KeyguardStatusViewController mController; @@ -81,7 +84,8 @@ public class KeyguardStatusViewControllerTest extends SysuiTestCase { mConfigurationController, mDozeParameters, mFeatureFlags, - mScreenOffAnimationController); + mScreenOffAnimationController, + mKeyguardLogger); } @Test |