Loading packages/SystemUI/src/com/android/keyguard/KeyguardStatusViewController.java +5 −2 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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)); } Loading packages/SystemUI/src/com/android/keyguard/KeyguardVisibilityHelper.java +30 −1 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading @@ -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() { Loading Loading @@ -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); Loading @@ -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; Loading @@ -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 Loading @@ -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); Loading @@ -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); } Loading @@ -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"); }; } packages/SystemUI/src/com/android/keyguard/logging/KeyguardLogger.kt +1 −1 Original line number Diff line number Diff line Loading @@ -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) { Loading packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardQsUserSwitchController.java +1 −1 Original line number Diff line number Diff line Loading @@ -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; } Loading packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardUserSwitcherController.java +1 −1 Original line number Diff line number Diff line Loading @@ -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); } Loading Loading
packages/SystemUI/src/com/android/keyguard/KeyguardStatusViewController.java +5 −2 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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)); } Loading
packages/SystemUI/src/com/android/keyguard/KeyguardVisibilityHelper.java +30 −1 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading @@ -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() { Loading Loading @@ -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); Loading @@ -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; Loading @@ -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 Loading @@ -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); Loading @@ -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); } Loading @@ -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"); }; }
packages/SystemUI/src/com/android/keyguard/logging/KeyguardLogger.kt +1 −1 Original line number Diff line number Diff line Loading @@ -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) { Loading
packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardQsUserSwitchController.java +1 −1 Original line number Diff line number Diff line Loading @@ -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; } Loading
packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardUserSwitcherController.java +1 −1 Original line number Diff line number Diff line Loading @@ -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); } Loading