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

Commit d4151565 authored by Kazuki Takise's avatar Kazuki Takise
Browse files

Implement auto-restart on display move

Some  apps cache density in a place independent from
activity lifecycle, so when they move between displays, it's not
refreshed to the latest value, which makes the UI too big/small
on the new display.

To fix this, this change introduces a new per-app override that
automatically restarts apps when they move between displays.

The existing restartProcessIfVisible() doesn't work as is in this
new scenario as in our case processes are restarted during
display move, where a lot of other changes happen such as config
changes and lifecycle events, so this change makes some
improvements in the function:
- Lifecycle events are async, so the checks of mState and
 mHaveState are removed.
- Visibility can be toggled while the transition for restart is
 in the transition queue, so the visibility check to
 startCollectOrQueue() is moved.

Flag: com.android.window.flags.enable_auto_restart_on_display_move
Bug: 427878712
Test: AppCompatDisplayCompatTests
Test: AppCompatDisplayOverridesTest
Change-Id: Iff520ea5ee864d6045673f0e6cc204a913662866
parent 9ed7d748
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