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

Skip to content
Commit 4b41d4b9 authored by Riddle Hsu's avatar Riddle Hsu
Browse files

Avoid creating wallpaper rotation leash if it is not in transition

Because commitVisibleWallpapers is called before calculateTargets,
it doesn't know whether the wallpaper is a transition participant. And
then because getLeashSurface will create the rotation leash directly,
if the wallpaper doesn't have changes, the leash becomes outside the
management of transition. Which could cause wallpaper to show with
unexpected rotation.

This change moves the operation to be after calculateTargets and
calculateTransitionInfo, so it is confirmed that wallpaper is a
transition participant and the rotation leash (if needed) is also
prepared by calculateTransitionInfo.

Bug: 278097747
Bug: 349966512
Flag: com.android.window.flags.ensure_wallpaper_in_transitions
Test: Close any fixed-rotation task into launcher.
Test: "adb shell device_config override windowing_frontend \
  com.android.window.flags.respect_non_top_visible_fixed_orientation \
  true" Reboot. Launch a translucent landscape on portrait home.
  The wallpaper should keep in portrait.
Change-Id: I4b4ae6d76bbe5615f3fde4b497f93584e22850b4
parent 721c657e
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