Loading services/core/java/com/android/server/power/PowerManagerService.java +6 −8 Original line number Diff line number Diff line Loading @@ -1344,7 +1344,8 @@ public final class PowerManagerService extends SystemService mDirty |= DIRTY_SETTINGS; } private void handleSettingsChangedLocked() { @VisibleForTesting void handleSettingsChangedLocked() { updateSettingsLocked(); updatePowerStateLocked(); } Loading Loading @@ -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; Loading @@ -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"); } Loading services/tests/servicestests/src/com/android/server/power/PowerManagerServiceTest.java +19 −0 Original line number Diff line number Diff line Loading @@ -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(); Loading Loading
services/core/java/com/android/server/power/PowerManagerService.java +6 −8 Original line number Diff line number Diff line Loading @@ -1344,7 +1344,8 @@ public final class PowerManagerService extends SystemService mDirty |= DIRTY_SETTINGS; } private void handleSettingsChangedLocked() { @VisibleForTesting void handleSettingsChangedLocked() { updateSettingsLocked(); updatePowerStateLocked(); } Loading Loading @@ -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; Loading @@ -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"); } Loading
services/tests/servicestests/src/com/android/server/power/PowerManagerServiceTest.java +19 −0 Original line number Diff line number Diff line Loading @@ -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(); Loading