OSDN Git Service

Hold a wake lock while DeviceIdleController is going idle.
authorJoe Onorato <joeo@google.com>
Fri, 9 Dec 2016 01:48:49 +0000 (17:48 -0800)
committerJoe Onorato <joeo@google.com>
Fri, 9 Dec 2016 22:23:11 +0000 (14:23 -0800)
commit8f0e9cede145bbc1668e25cfd6f850fe3fde3ae3
treea053c684944b5a49a64b02b1f667920a5bd59c7b
parent655d3dcb4982dc3bc1508d8bb7626bbf7c74ebe3
Hold a wake lock while DeviceIdleController is going idle.

The inputs to DeviceIdleController (alarm manager, sensors)
hold wake locks while they call it.  But then the real work
happens in a handler which is outside of the wakelock, so
listeners don't get a chance to run right away, which in
the case of NetworkPolicyManager means the device is in a
higher power state than it should be.

It's not clear that this will 100% fix the bug, because
NetworkPolicyManagerService also has its own internal
Handler, and isn't holding its own wakelock for this,
but this change allows NPMS to be fixed if it really
needed to be.

Bug: 31900521
Test: adb shell dumpsys deviceidle step ... adb shell dumpsys power has no wakelocks held
Change-Id: I799f45221a6b327e7f63745cadc95ca644c064c6
services/core/java/com/android/server/DeviceIdleController.java