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

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

Merge "Add clockY logs to KeyguardClockPositionAlgorithm" into main

parents 90eab928 6ca45aad
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -414,9 +414,7 @@ public final class NotificationPanelViewController implements ShadeSurface, Dump
    private int mDisplayLeftInset = 0; // in pixels

    @VisibleForTesting
    KeyguardClockPositionAlgorithm
            mClockPositionAlgorithm =
            new KeyguardClockPositionAlgorithm();
    KeyguardClockPositionAlgorithm mClockPositionAlgorithm;
    private final KeyguardClockPositionAlgorithm.Result
            mClockPositionResult =
            new KeyguardClockPositionAlgorithm.Result();
@@ -779,7 +777,8 @@ public final class NotificationPanelViewController implements ShadeSurface, Dump
            KeyguardViewConfigurator keyguardViewConfigurator,
            KeyguardFaceAuthInteractor keyguardFaceAuthInteractor,
            SplitShadeStateController splitShadeStateController,
            PowerInteractor powerInteractor) {
            PowerInteractor powerInteractor,
            KeyguardClockPositionAlgorithm keyguardClockPositionAlgorithm) {
        keyguardStateController.addCallback(new KeyguardStateController.Callback() {
            @Override
            public void onKeyguardFadingAwayChanged() {
@@ -807,6 +806,7 @@ public final class NotificationPanelViewController implements ShadeSurface, Dump
        mKeyguardInteractor = keyguardInteractor;
        mPowerInteractor = powerInteractor;
        mKeyguardViewConfigurator = keyguardViewConfigurator;
        mClockPositionAlgorithm = keyguardClockPositionAlgorithm;
        mView.addOnAttachStateChangeListener(new View.OnAttachStateChangeListener() {
            @Override
            public void onViewAttachedToWindow(View v) {
+27 −0
Original line number Diff line number Diff line
@@ -26,14 +26,20 @@ import android.util.MathUtils;
import com.android.app.animation.Interpolators;
import com.android.keyguard.BouncerPanelExpansionCalculator;
import com.android.keyguard.KeyguardStatusView;
import com.android.systemui.log.LogBuffer;
import com.android.systemui.log.core.Logger;
import com.android.systemui.log.dagger.KeyguardClockLog;
import com.android.systemui.res.R;
import com.android.systemui.shade.ShadeViewController;
import com.android.systemui.statusbar.policy.KeyguardUserSwitcherListView;

import javax.inject.Inject;

/**
 * Utility class to calculate the clock position and top padding of notifications on Keyguard.
 */
public class KeyguardClockPositionAlgorithm {
    private static final String TAG = "KeyguardClockPositionAlgorithm";

    /**
     * Margin between the bottom of the status view and the notification shade.
@@ -147,6 +153,13 @@ public class KeyguardClockPositionAlgorithm {
     */
    private boolean mIsClockTopAligned;

    private Logger mLogger;

    @Inject
    public KeyguardClockPositionAlgorithm(@KeyguardClockLog LogBuffer logBuffer) {
        mLogger = new Logger(logBuffer, TAG);
    }

    /**
     * Refreshes the dimension values.
     */
@@ -306,6 +319,20 @@ public class KeyguardClockPositionAlgorithm {
                + fullyDarkBurnInOffset
                + shift;
        mCurrentBurnInOffsetY = MathUtils.lerp(0, fullyDarkBurnInOffset, darkAmount);
        final String inputs = "panelExpansion: " + panelExpansion + " darkAmount: " + darkAmount;
        final String outputs = "clockY: " + clockY
                + " burnInPreventionOffsetY: " + burnInPreventionOffsetY
                + " fullyDarkBurnInOffset: " + fullyDarkBurnInOffset
                + " shift: " + shift
                + " mOverStretchAmount: " + mOverStretchAmount
                + " mCurrentBurnInOffsetY: " + mCurrentBurnInOffsetY;
        mLogger.i(msg -> {
            return msg.getStr1() + " -> " + msg.getStr2();
        }, msg -> {
            msg.setStr1(inputs);
            msg.setStr2(outputs);
            return kotlin.Unit.INSTANCE;
        });
        return (int) (MathUtils.lerp(clockY, clockYDark, darkAmount) + mOverStretchAmount);
    }

+4 −1
Original line number Diff line number Diff line
@@ -157,6 +157,7 @@ import com.android.systemui.statusbar.phone.HeadsUpTouchHelper;
import com.android.systemui.statusbar.phone.KeyguardBottomAreaView;
import com.android.systemui.statusbar.phone.KeyguardBottomAreaViewController;
import com.android.systemui.statusbar.phone.KeyguardBypassController;
import com.android.systemui.statusbar.phone.KeyguardClockPositionAlgorithm;
import com.android.systemui.statusbar.phone.KeyguardStatusBarView;
import com.android.systemui.statusbar.phone.KeyguardStatusBarViewController;
import com.android.systemui.statusbar.phone.LightBarController;
@@ -328,6 +329,7 @@ public class NotificationPanelViewControllerBaseTest extends SysuiTestCase {
    @Mock private CastController mCastController;
    @Mock private KeyguardRootView mKeyguardRootView;
    @Mock private SharedNotificationContainerInteractor mSharedNotificationContainerInteractor;
    @Mock private KeyguardClockPositionAlgorithm mKeyguardClockPositionAlgorithm;

    protected final int mMaxUdfpsBurnInOffsetY = 5;
    protected KeyguardBottomAreaInteractor mKeyguardBottomAreaInteractor;
@@ -667,7 +669,8 @@ public class NotificationPanelViewControllerBaseTest extends SysuiTestCase {
                mKeyguardViewConfigurator,
                mKeyguardFaceAuthInteractor,
                new ResourcesSplitShadeStateController(),
                mPowerInteractor);
                mPowerInteractor,
                mKeyguardClockPositionAlgorithm);
        mNotificationPanelViewController.initDependencies(
                mCentralSurfaces,
                null,
+6 −4
Original line number Diff line number Diff line
@@ -30,9 +30,11 @@ import android.testing.AndroidTestingRunner;

import androidx.test.filters.SmallTest;

import com.android.systemui.res.R;
import com.android.systemui.SysuiTestCase;
import com.android.systemui.doze.util.BurnInHelperKt;
import com.android.systemui.log.LogBuffer;
import com.android.systemui.log.core.FakeLogBuffer;
import com.android.systemui.res.R;

import org.junit.After;
import org.junit.Before;
@@ -51,8 +53,7 @@ public class KeyguardClockPositionAlgorithmTest extends SysuiTestCase {
    private static final float OPAQUE = 1.f;
    private static final float TRANSPARENT = 0.f;

    @Mock
    private Resources mResources;
    @Mock private Resources mResources;

    private KeyguardClockPositionAlgorithm mClockPositionAlgorithm;
    private KeyguardClockPositionAlgorithm.Result mClockPosition;
@@ -80,7 +81,8 @@ public class KeyguardClockPositionAlgorithmTest extends SysuiTestCase {
                .mockStatic(BurnInHelperKt.class)
                .startMocking();

        mClockPositionAlgorithm = new KeyguardClockPositionAlgorithm();
        LogBuffer logBuffer = FakeLogBuffer.Factory.Companion.create();
        mClockPositionAlgorithm = new KeyguardClockPositionAlgorithm(logBuffer);
        when(mResources.getDimensionPixelSize(anyInt())).thenReturn(0);
        mClockPositionAlgorithm.loadDimens(mResources);