summaryrefslogtreecommitdiff
path: root/tools/aapt2/java/JavaClassGenerator.cpp
diff options
context:
space:
mode:
authorRobert Horvath <robhor@google.com>2021-02-02 11:46:22 +0100
committerRobert Horvath <robhor@google.com>2021-04-09 13:31:15 +0200
commite2b48d25a0a5fa9f412d4536d7ddfd320b9b0f14 (patch)
tree341c6a250506564672ee3a750284e1e2d30c85f3 /tools/aapt2/java/JavaClassGenerator.cpp
parent397cb14bd3201e44e8ddf38592a637d6547c26ec (diff)
On quiescent boot, report screenTurningOff, skip screenTurningOn
Fixes an issue where ActivityStacks were resumed while the screen was off and PowerManager wakefulness was asleep after a quiescent boot. To keep ActivityStacks paused, PhoneWindowManager acquires a "sleep token". In #screenTurningOff, this token is acquired, and in #screenTurningOn it is released. Before, PhoneWindowManager#systemBooted always called #screenTurningOn. In a quiescent boot, this led to the sleep token being released and ActivityStacks being resumed, even though the screen did not actually turn on. With this change, DisplayPowerController calls #screenTurningOff during a quiescent boot, acquiring the sleep token, and #systemBooted skips calling #screenTurningOn, preventing the sleep token from being released again. To finish up boot, #enableScreen is called (last part of #finishScreenTurningOn), which stops the boot animation process, signals SurfaceFlinger and ActivityManager that boot has completed. Bug: 171827143 Test: atest QuiescentBootTests#testQuiescentBoot_activitiesNotResumedAfterBoot Test: adb reboot quiescent adb shell dumpsys power: Verify wakefulness asleep adb shell dumpsys activity activities: Verify stack is sleeping (isSleeping=true), state is STOPPED (state=STOPPED) Change-Id: Ieb0b805c33b3da4261856b724f32412c2660f4c9
Diffstat (limited to 'tools/aapt2/java/JavaClassGenerator.cpp')
0 files changed, 0 insertions, 0 deletions