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

Commit 4c7368f7 authored by Robert Horvath's avatar Robert Horvath Committed by Android (Google) Code Review
Browse files

Merge "Dismiss Inattentive Sleep Warning when inattentive sleep is disabled" into sc-dev

parents 89646f1b 822394b0
Loading
Loading
Loading
Loading
+6 −8
Original line number Diff line number Diff line
@@ -1344,7 +1344,8 @@ public final class PowerManagerService extends SystemService
        mDirty |= DIRTY_SETTINGS;
    }

    private void handleSettingsChangedLocked() {
    @VisibleForTesting
    void handleSettingsChangedLocked() {
        updateSettingsLocked();
        updatePowerStateLocked();
    }
@@ -2651,9 +2652,6 @@ public final class PowerManagerService extends SystemService

    private void updateAttentiveStateLocked(long now, int dirty) {
        long attentiveTimeout = getAttentiveTimeoutLocked();
        if (attentiveTimeout < 0) {
            return;
        }
        // Attentive state only applies to the default display group.
        long goToSleepTime = mDisplayGroupPowerStateMapper.getLastUserActivityTimeLocked(
                Display.DEFAULT_DISPLAY_GROUP) + attentiveTimeout;
@@ -2661,10 +2659,10 @@ public final class PowerManagerService extends SystemService

        boolean warningDismissed = maybeHideInattentiveSleepWarningLocked(now, showWarningTime);

        if (warningDismissed ||
                (dirty & (DIRTY_ATTENTIVE | DIRTY_STAY_ON | DIRTY_SCREEN_BRIGHTNESS_BOOST
        if (attentiveTimeout >= 0 && (warningDismissed
                || (dirty & (DIRTY_ATTENTIVE | DIRTY_STAY_ON | DIRTY_SCREEN_BRIGHTNESS_BOOST
                | DIRTY_PROXIMITY_POSITIVE | DIRTY_WAKEFULNESS | DIRTY_BOOT_COMPLETED
                        | DIRTY_SETTINGS)) != 0) {
                | DIRTY_SETTINGS)) != 0)) {
            if (DEBUG_SPEW) {
                Slog.d(TAG, "Updating attentive state");
            }
+19 −0
Original line number Diff line number Diff line
@@ -760,6 +760,25 @@ public class PowerManagerServiceTest {
        verify(mInattentiveSleepWarningControllerMock, atLeastOnce()).dismiss(true);
    }

    @Test
    public void testInattentiveSleep_hideWarningIfInattentiveSleepIsDisabled() throws Exception {
        setMinimumScreenOffTimeoutConfig(5);
        setAttentiveWarningDuration(120);
        setAttentiveTimeout(100);

        createService();
        startSystem();

        verify(mInattentiveSleepWarningControllerMock, times(1)).show();
        verify(mInattentiveSleepWarningControllerMock, never()).dismiss(anyBoolean());
        when(mInattentiveSleepWarningControllerMock.isShown()).thenReturn(true);

        setAttentiveTimeout(-1);
        mService.handleSettingsChangedLocked();

        verify(mInattentiveSleepWarningControllerMock, atLeastOnce()).dismiss(true);
    }

    @Test
    public void testInattentiveSleep_userActivityDismissesWarning() throws Exception {
        final DisplayInfo info = new DisplayInfo();