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

Commit 77181098 authored by Lucas Dupin's avatar Lucas Dupin Committed by Android (Google) Code Review
Browse files

Merge "Make the scrim black when waking-up"

parents 45575663 ed5b7a98
Loading
Loading
Loading
Loading
+16 −9
Original line number Diff line number Diff line
@@ -164,16 +164,9 @@ public class DozeTriggers implements DozeMachine.Part {
                    if (screenX != -1 && screenY != -1) {
                        mDozeHost.onSlpiTap(screenX, screenY);
                    }
                    // Logs screen wake up reason of either single or double tap.
                    mMetricsLogger.write(new LogMaker(MetricsEvent.DOZING)
                            .setType(MetricsEvent.TYPE_UPDATE).setSubtype(pulseReason));
                    mMachine.wakeUp();
                    gentleWakeUp(pulseReason);
                } else if (isPickup) {
                    // Logs screen wake up reason of lift.
                    mMetricsLogger.write(new LogMaker(MetricsEvent.DOZING)
                            .setType(MetricsEvent.TYPE_UPDATE)
                            .setSubtype(DozeLog.REASON_SENSOR_PICKUP));
                    mMachine.wakeUp();
                    gentleWakeUp(pulseReason);
                } else {
                    mDozeHost.extendPulse();
                }
@@ -190,6 +183,20 @@ public class DozeTriggers implements DozeMachine.Part {
        }
    }

    private void gentleWakeUp(int reason) {
        // Log screen wake up reason (lift/pickup, tap, double-tap)
        mMetricsLogger.write(new LogMaker(MetricsEvent.DOZING)
                .setType(MetricsEvent.TYPE_UPDATE)
                .setSubtype(reason));
        if (mDozeParameters.getDisplayNeedsBlanking()) {
            // Let's prepare the display to wake-up by drawing black.
            // This will cover the hardware wake-up sequence, where the display
            // becomes black for a few frames.
            mDozeHost.setAodDimmingScrim(255f);
        }
        mMachine.wakeUp();
    }

    private void onProximityFar(boolean far) {
        final boolean near = !far;
        final DozeMachine.State state = mMachine.getState();
+3 −1
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package com.android.systemui.doze;

import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
@@ -136,13 +137,14 @@ public class DozeTriggersTest extends SysuiTestCase {
    @Test
    public void testOnSensor_whenDockedWithNearAndDoubleTapScreen_shouldWakeUp() {
        doReturn(true).when(mDockManagerFake).isDocked();
        doReturn(true).when(mParameters).getDisplayNeedsBlanking();
        mSensors.getMockProximitySensor().sendProximityResult(false /* far */);

        mTriggers.onSensor(DozeLog.REASON_SENSOR_DOUBLE_TAP,
                false /* sensorPerformedProxCheck */, 50 /* screenX */, 50 /* screenY */,
                null /* rawValues */);

        verify(mHost).setAodDimmingScrim(eq(255));
        verify(mMachine).wakeUp();
    }

}