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

Commit 6e371787 authored by Daniel Sandler's avatar Daniel Sandler Committed by Daniel Sandler
Browse files

Re-schedule screen saver mode when returning to normal.

parent 3866899a
Loading
Loading
Loading
Loading
+16 −10
Original line number Diff line number Diff line
@@ -167,8 +167,6 @@ public class DeskClock extends Activity {

    private boolean mLaunchedFromDock = false;

    private int mIdleTimeoutEpoch = 0;

    private Random mRNG;

    private PendingIntent mMidnightIntent;
@@ -207,9 +205,7 @@ public class DeskClock extends Activity {
            } else if (m.what == UPDATE_WEATHER_DISPLAY_MSG) {
                updateWeatherDisplay();
            } else if (m.what == SCREEN_SAVER_TIMEOUT_MSG) {
                if (m.arg1 == mIdleTimeoutEpoch) {
                saveScreen();
                }
            } else if (m.what == SCREEN_SAVER_MOVE_MSG) {
                moveScreenSaver();
            }
@@ -264,6 +260,14 @@ public class DeskClock extends Activity {
        win.setAttributes(winParams);
    }

    private void scheduleScreenSaver() {
        // reschedule screen saver
        mHandy.removeMessages(SCREEN_SAVER_TIMEOUT_MSG);
        mHandy.sendMessageDelayed(
            Message.obtain(mHandy, SCREEN_SAVER_TIMEOUT_MSG),
            SCREEN_SAVER_TIMEOUT);
    }

    private void restoreScreen() {
        if (!mScreenSaverMode) return;
        if (DEBUG) Log.d(LOG_TAG, "restoreScreen");
@@ -272,6 +276,9 @@ public class DeskClock extends Activity {
        doDim(false); // restores previous dim mode
        // policy: update weather info when returning from screen saver
        if (mPluggedIn) requestWeatherDataFetch();

        scheduleScreenSaver();

        refreshAll();
    }

@@ -592,10 +599,7 @@ public class DeskClock extends Activity {

        setWakeLock(mPluggedIn);

        mIdleTimeoutEpoch++;
        mHandy.sendMessageDelayed(
            Message.obtain(mHandy, SCREEN_SAVER_TIMEOUT_MSG, mIdleTimeoutEpoch, 0),
            SCREEN_SAVER_TIMEOUT);
        scheduleScreenSaver();

        final boolean launchedFromDock
            = getIntent().hasCategory(Intent.CATEGORY_DESK_DOCK);
@@ -613,7 +617,9 @@ public class DeskClock extends Activity {
    public void onPause() {
        if (DEBUG) Log.d(LOG_TAG, "onPause");

        // Turn off the screen saver. (But don't un-dim.)
        // Turn off the screen saver and cancel any pending timeouts.
        // (But don't un-dim.)
        mHandy.removeMessages(SCREEN_SAVER_TIMEOUT_MSG);
        restoreScreen();

        // Other things we don't want to be doing in the background.