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

Commit 608ad140 authored by Matthew Williams's avatar Matthew Williams Committed by Gerrit Code Review
Browse files

Merge "Idle Job Start During SCREEN_ON or DREAMING_STOPPED"

parents 40f0efe0 ccfe8735
Loading
Loading
Loading
Loading
+12 −7
Original line number Diff line number Diff line
@@ -109,6 +109,7 @@ public class IdleController extends StateController {
        private AlarmManager mAlarm;
        private PendingIntent mIdleTriggerIntent;
        boolean mIdle;
        boolean mScreenOn;

        public IdlenessTracker() {
            mAlarm = (AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE);
@@ -121,6 +122,7 @@ public class IdleController extends StateController {
            // At boot we presume that the user has just "interacted" with the
            // device in some meaningful way.
            mIdle = false;
            mScreenOn = true;
        }

        public boolean isIdle() {
@@ -150,12 +152,14 @@ public class IdleController extends StateController {

            if (action.equals(Intent.ACTION_SCREEN_ON)
                    || action.equals(Intent.ACTION_DREAMING_STOPPED)) {
                // possible transition to not-idle
                if (mIdle) {
                if (DEBUG) {
                    Slog.v(TAG,"exiting idle : " + action);
                }
                mScreenOn = true;
                //cancel the alarm
                mAlarm.cancel(mIdleTriggerIntent);
                if (mIdle) {
                // possible transition to not-idle
                    mIdle = false;
                    reportNewIdleState(mIdle);
                }
@@ -170,11 +174,12 @@ public class IdleController extends StateController {
                    Slog.v(TAG, "Scheduling idle : " + action + " now:" + nowElapsed + " when="
                            + when);
                }
                mScreenOn = false;
                mAlarm.setWindow(AlarmManager.ELAPSED_REALTIME_WAKEUP,
                        when, IDLE_WINDOW_SLOP, mIdleTriggerIntent);
            } else if (action.equals(ACTION_TRIGGER_IDLE)) {
                // idle time starts now
                if (!mIdle) {
                // idle time starts now. Do not set mIdle if screen is on.
                if (!mIdle && !mScreenOn) {
                    if (DEBUG) {
                        Slog.v(TAG, "Idle trigger fired @ " + SystemClock.elapsedRealtime());
                    }