Loading
Add additional dirty checks in updateWakefulnessLocked
updateWakefulnessLocked is responsible for updating the wakefulness
state, ie. going to sleep if sleep conditions are met.
By changing the sleep timeout settings to a value that is lower than the
time since last user activity, you can get into a state where the device
does not go to sleep even though the sleep timeout is expired.
updateWakefulnessLocked should check all dirty flags that could trigger
a change in wakefulness.
This CL adds checks for two dirty flags:
- DIRTY_SETTINGS: As described above, changing the sleep timeout could
lead to a situation in which the sleep timeout is already expired and
the device should go to sleep
- DIRTY_SCREEN_BRIGHTNESS_BOOST: Inattentive sleep is disabled during
screen brightness boosts. As soon as the brightness boost ends, the
device should go to sleep if the timeout is expired.
Bug: 149008991
Test: 1. adb shell settings put secure sleep_timeout 900000
2. adb shell input keyevent HOME
3. sleep 15
4. adb shell settings put secure sleep_timeout 10000
Observe: Device goes to sleep
Test: 1. adb shell settings put secure attentive_timeout -1
2. adb shell input keyevent HOME
3. sleep 40
4. adb shell settings put secure attentive_timeout 32000
Observe: Device goes to sleep
Change-Id: I86be64f18f5c4d9dba43376fa608223b8c5ae6b2