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
Loading
Please register or sign in to comment