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

Commit 87850707 authored by Robert Carr's avatar Robert Carr Committed by android-build-merger
Browse files

Limit seamless rotation to TRANSFORM_INVERSE_DISPLAY children.

am: aab09158

Change-Id: If1c06bf70128af337d23bfa58157e16a0dea9b3b
parents 2dcc35ab aab09158
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -6772,6 +6772,20 @@ public class WindowManagerService extends IWindowManager.Stub
                    rotateSeamlessly = false;
                    break;
                }
                // In what can only be called an unfortunate workaround we require
                // seamlessly rotated child windows to have the TRANSFORM_TO_DISPLAY_INVERSE
                // flag. Due to limitations in the client API, there is no way for
                // the client to set this flag in a race free fashion. If we seamlessly rotate
                // a window which does not have this flag, but then gains it, we will get
                // an incorrect visual result (rotated viewfinder). This means if we want to
                // support seamlessly rotating windows which could gain this flag, we can't
                // rotate windows without it. This limits seamless rotation in N to camera framework
                // users, windows without children, and native code. This is unfortunate but
                // having the camera work is our primary goal.
                if (w.isChildWindow() & w.isVisibleNow() &&
                        !w.mWinAnimator.mSurfaceController.getTransformToDisplayInverse()) {
                    rotateSeamlessly = false;
                }
            }
        }