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

Commit 4fb1f519 authored by Adrian Roos's avatar Adrian Roos
Browse files

AOD: Refactor DozeMachine to allow waking up

Bug: 30876804
Test: runtest -x $ANDROID_BUILD_TOP/frameworks/base/packages/SystemUI/tests/src/com/android/systemui/doze/DozeMachineTest.java
Change-Id: I1d01ab5d8ba3c1bf7b11b0b4911b25f3416ca6e9
parent 2a7e2deb
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -91,8 +91,7 @@ public class DozeFactory {
            @Override
            public void requestState(DozeProvider.DozeState state) {
                if (state == DozeProvider.DozeState.WAKE_UP) {
                    PowerManager pm = context.getSystemService(PowerManager.class);
                    pm.wakeUp(SystemClock.uptimeMillis(), "com.android.systemui:NODOZE");
                    machine.wakeUp();
                    return;
                }
                machine.requestState(implState(state));
+8 −0
Original line number Diff line number Diff line
@@ -158,6 +158,11 @@ public class DozeMachine {
        return mState;
    }

    /** Requests the PowerManager to wake up now. */
    public void wakeUp() {
        mDozeService.requestWakeUp();
    }

    private boolean isExecutingTransition() {
        return !mQueuedRequests.isEmpty();
    }
@@ -300,5 +305,8 @@ public class DozeMachine {

        /** Request a display state. See {@link android.view.Display#STATE_DOZE}. */
        void setDozeScreenState(int state);

        /** Request waking up. */
        void requestWakeUp();
    }
}
+8 −0
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@

package com.android.systemui.doze;

import android.os.PowerManager;
import android.os.SystemClock;
import android.service.dreams.DreamService;
import android.util.Log;

@@ -72,4 +74,10 @@ public class DozeService extends DreamService implements DozeMachine.Service {
            mDozeMachine.dump(pw);
        }
    }

    @Override
    public void requestWakeUp() {
        PowerManager pm = getSystemService(PowerManager.class);
        pm.wakeUp(SystemClock.uptimeMillis(), "com.android.systemui:NODOZE");
    }
}
+8 −0
Original line number Diff line number Diff line
@@ -289,4 +289,12 @@ public class DozeMachineTest {

        assertEquals(DOZE_PULSING, mMachine.getState());
    }

    @Test
    @UiThreadTest
    public void testWakeUp_wakesUp() {
        mMachine.wakeUp();

        assertTrue(mServiceFake.requestedWakeup);
    }
}
+6 −0
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ public class DozeServiceFake implements DozeMachine.Service {

    public boolean finished;
    public int screenState;
    public boolean requestedWakeup;

    public DozeServiceFake() {
        reset();
@@ -41,4 +42,9 @@ public class DozeServiceFake implements DozeMachine.Service {
        finished = false;
        screenState = Display.STATE_UNKNOWN;
    }

    @Override
    public void requestWakeUp() {
        requestedWakeup = true;
    }
}