Defer orientation for transient launch with immersive app policy
Because com.android.quickstep.util.RecentsOrientedState doesn't
support well for rotated app on large screen (the TaskView will
rotate unexpectedly), make the transition becomes 2 steps.
e.g. swiping an auto pip from landscape to portrait, it will play
pip animation in landscape. And then play a screen rotation from
landscape to portrait.
This also fixes suddenly orientation change if immersive rotation
policy is enabled when clicking navigation bar that launches recents.
Bug: 378422563
Flag: EXEMPT bugfix
Test: atest DisplayRotationImmersiveAppCompatPolicyTests# \
            testDeferOrientationUpdate
Test: Enable large screen env:
  config_letterboxIsDisplayRotationImmersiveAppCompatPolicyEnabled
      adb shell cmd window set-ignore-orientation-request 1
      adb shell wm size 2200x1600
      Enable auto-rotation
      Launch a fixed orientation fullscreen landscape app (hide bars).
      Rotate device 90 degree.
      Swipe up navigation bar or press navigation button.
      The orientation should not be changed until the
      transition of navigation is done.
Change-Id: I26db2ff64d2464b0ec9559f0416e86ab5d09f3d4
Loading
Please register or sign in to comment
