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

Commit 848cf82a authored by David Stevens's avatar David Stevens
Browse files

Only use WM screen rotation animation on default display

Configuration changes cause WindowManagerService to freeze any displays
with activities, which causes a screen rotation animation to be applied
to those displays. However, ScreenRotationAnimation always uses the default
display, so it shouldn't be used for non-default displays.

Bug: 63682998
Test: manual
Change-Id: Ic66c6e47c030393fbbe5ecbfecd90d4929871349
parent 0a0bc5f8
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -280,7 +280,7 @@ class ScreenRotationAnimation {
                // capture a screenshot into the surface we just created
                Surface sur = new Surface();
                sur.copyFrom(mSurfaceControl);
                // FIXME: we should use the proper display
                // TODO(multidisplay): we should use the proper display
                SurfaceControl.screenshot(SurfaceControl.getBuiltInDisplay(
                        SurfaceControl.BUILT_IN_DISPLAY_ID_MAIN), sur);
                mSurfaceControl.setLayerStack(display.getLayerStack());
+2 −2
Original line number Diff line number Diff line
@@ -6047,7 +6047,8 @@ public class WindowManagerService extends IWindowManager.Stub
            Debug.startMethodTracing(file.toString(), 8 * 1024 * 1024);
        }

        if (CUSTOM_SCREEN_ROTATION) {
        // TODO(multidisplay): rotation on non-default displays
        if (CUSTOM_SCREEN_ROTATION && displayContent.isDefaultDisplay) {
            mExitAnimId = exitAnim;
            mEnterAnimId = enterAnim;
            ScreenRotationAnimation screenRotationAnimation =
@@ -6059,7 +6060,6 @@ public class WindowManagerService extends IWindowManager.Stub
            // Check whether the current screen contains any secure content.
            boolean isSecure = displayContent.hasSecureWindowOnScreen();

            // TODO(multidisplay): rotation on main screen only.
            displayContent.updateDisplayInfo();
            screenRotationAnimation = new ScreenRotationAnimation(mContext, displayContent,
                    mFxSession, inTransaction, mPolicy.isDefaultOrientationForced(), isSecure,