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

Commit ab7c14c5 authored by Robert Horvath's avatar Robert Horvath Committed by Automerger Merge Worker
Browse files

Merge "Dismiss Inattentive Sleep Warning when inattentive sleep is disabled"...

Merge "Dismiss Inattentive Sleep Warning when inattentive sleep is disabled" into sc-dev am: 4c7368f7

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15080841

Change-Id: Ib0a7407a3ffedaff8136e2267ee4fbd31bf9bfd5
parents 001bcae0 4c7368f7
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();