Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e4cfc066 authored by Hawkwood Glazier's avatar Hawkwood Glazier Committed by Android (Google) Code Review
Browse files

Merge "Add logging to KeyguardVisibilityHelper" into tm-qpr-dev

parents 9e732e64 460d897c
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -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));
    }
+30 −1
Original line number Diff line number Diff line
@@ -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");
    };
}
+1 −1
Original line number Diff line number Diff line
@@ -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) {
+1 −1
Original line number Diff line number Diff line
@@ -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;
    }
+1 −1
Original line number Diff line number Diff line
@@ -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