Add DeviceIdle constraints with BT motion as a PoC
Right now we only need constraints to act as blockers between state transitions in stepIdleStateLocked. This is easier than with any other option because it lets us ignore the rest of the state machine inside DeviceIdleController and the individual constraints just focus on whether the device should: a) go back into ACTIVE state via exitIdleLocked() b) stay at current state (eg. SENSING) for longer via doing nothing, with the caveat that there might be some timeout imposed by DeviceIdleController after which it moves to some other state anyway (eg. SENSING -> INACTIVE) c) move down to the next state whenever this becomes viable according to timeouts and conjunction of any other constraints on this state ie. (ALARM_TIMEOUT ∧ ¬Constraints[0] ∧ ... ∧ ¬Constraints[n-1]) Bug: 110756616 Bug: 111443261 Test: atest com.android.server.DeviceIdleControllerTest Test: atest com.android.server.deviceidle.BluetoothConstraintTest Test: atest BatterySaverPolicyTest Change-Id: Ia2b6c3b4039acbc19cf2edf9f6b93dbdf2978bdd
Loading
Please register or sign in to comment