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
Loading
Please register or sign in to comment