Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content
Commit 33e66e3c authored by Vladimir Komsiyski's avatar Vladimir Komsiyski
Browse files

Per-display group PowerManager APIs by default

- Make PowerManager#isInteractive return the interactivity of the
  power group for the context's display instead of the global state.
  Apps can query the interactivity of any power group by getting a
  PowerManager instance with createDisplayContext

- Make PowerManager#newWakeLock by default per power group. Wake locks
  for all groups can still be created by passing INVALID_DISPLAY to
  the hidden newWakeLock override that takes a displayId. Apps can
  still create wake locks for any display via createDisplayContext

- Make PowerManager#isWakeLockLevelSupported display aware. Proximity
  locks shouldn't be supported on displays without an associated
  proximity sensor.

Context#getDisplayId() will return the associated displayId for
activities and the displayId of the top activity if this is a non-UI
context. DEFAULT_DISPLAY if no such activity.

The interactivity cache needs to be update whenever any group's
wakefulness changes, not only the global one.

Fix: 365042486
Bug: 237547400
Test: presubmit
Flag: android.companion.virtualdevice.flags.device_aware_display_power
Change-Id: If6974774c6423623a0871e01b344d0696ef75eb1
parent 93be8227
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment