Skip to content
Commit 876b8854 authored by Robin Lee's avatar Robin Lee
Browse files

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
parent d3bbd150
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment