Fix delayed offload session start issue
This fixes the issue where there was a lag between the request to start
the offload session, and when actually it starts. We are fixing this by
acquiring the wakelock when the request comes in, and release it only
when power state transformation is confirmed.
This CL was originally merged and then reverted(ag/28127686) because the
case of DISPLAY.STATE_UNKNOWN was not handled. To start the
watchface, wear transitions the control to AP(For which they override
the doze display state to DISPLAY.STATE_UNKNOWN), the transition occurs
and the display state is again overridden to give the control back to
MCU. This specific workflow was broken, which is now being handled.
Additionally, we were not processing the new request if the old request
to override the dozescreen state was already under process. This
behaviour is now changed to always process the latest requested doze
overridding request.
Bug: 343987330
Flag: com.android.server.display.feature.flags.offload_doze_override_holds_wakelock
Test: Manual
Test: atest DisplayPowerControllerTest
Change-Id: Iab8bce49f26cb25c9c00f0645d15c3c049d2a08d
4 files changed