diff options
6 files changed, 0 insertions, 105 deletions
diff --git a/core/java/android/view/IWindowSession.aidl b/core/java/android/view/IWindowSession.aidl index ce649cc7c2b2..7bad5cbfbdc3 100644 --- a/core/java/android/view/IWindowSession.aidl +++ b/core/java/android/view/IWindowSession.aidl @@ -267,20 +267,6 @@ interface IWindowSession { oneway void updatePointerIcon(IWindow window); /** - * Reparent the top layers for a display to the requested SurfaceControl. The display that is - * going to be re-parented (the displayId passed in) needs to have been created by the same - * process that is requesting the re-parent. This is to ensure clients can't just re-parent - * display content info to any SurfaceControl, as this would be a security issue. - * - * @param window The window which owns the SurfaceControl. This indicates the z-order of the - * windows of this display against the windows on the parent display. - * @param sc The SurfaceControl that the top level layers for the display should be re-parented - * to. - * @param displayId The id of the display to be re-parented. - */ - oneway void reparentDisplayContent(IWindow window, in SurfaceControl sc, int displayId); - - /** * Update the location of a child display in its parent window. This enables windows in the * child display to compute the global transformation matrix. * diff --git a/core/java/android/view/WindowlessWindowManager.java b/core/java/android/view/WindowlessWindowManager.java index 72d403e1f867..ae54f51f35d1 100644 --- a/core/java/android/view/WindowlessWindowManager.java +++ b/core/java/android/view/WindowlessWindowManager.java @@ -444,11 +444,6 @@ public class WindowlessWindowManager implements IWindowSession { } @Override - public void reparentDisplayContent(android.view.IWindow window, android.view.SurfaceControl sc, - int displayId) { - } - - @Override public void updateDisplayContentLocation(android.view.IWindow window, int x, int y, int displayId) { } diff --git a/services/core/java/com/android/server/wm/DisplayContent.java b/services/core/java/com/android/server/wm/DisplayContent.java index b7ba8f8cf3c9..81992d8934ed 100644 --- a/services/core/java/com/android/server/wm/DisplayContent.java +++ b/services/core/java/com/android/server/wm/DisplayContent.java @@ -5013,28 +5013,6 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp } /** - * Re-parent the DisplayContent's top surface, {@link #mSurfaceControl} to the specified - * SurfaceControl. - * - * @param win The window which owns the SurfaceControl. This indicates the z-order of the - * windows of this display against the windows on the parent display. - * @param sc The new SurfaceControl, where the DisplayContent's surfaces will be re-parented to. - */ - void reparentDisplayContent(WindowState win, SurfaceControl sc) { - if (mParentWindow != null) { - mParentWindow.removeEmbeddedDisplayContent(this); - } - mParentWindow = win; - mParentWindow.addEmbeddedDisplayContent(this); - mParentSurfaceControl = sc; - if (mPortalWindowHandle == null) { - mPortalWindowHandle = createPortalWindowHandle(sc.toString()); - } - getPendingTransaction().setInputWindowInfo(sc, mPortalWindowHandle) - .reparent(mSurfaceControl, sc); - } - - /** * Get the window which owns the surface that this DisplayContent is re-parented to. * * @return the parent window. diff --git a/services/core/java/com/android/server/wm/Session.java b/services/core/java/com/android/server/wm/Session.java index c6cd5606770e..e28201245d9b 100644 --- a/services/core/java/com/android/server/wm/Session.java +++ b/services/core/java/com/android/server/wm/Session.java @@ -609,11 +609,6 @@ class Session extends IWindowSession.Stub implements IBinder.DeathRecipient { } @Override - public void reparentDisplayContent(IWindow window, SurfaceControl sc, int displayId) { - mService.reparentDisplayContent(window, sc, displayId); - } - - @Override public void updateDisplayContentLocation(IWindow window, int x, int y, int displayId) { mService.updateDisplayContentLocation(window, x, y, displayId); } diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index 7df5744cdf15..911ab697b11f 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -6960,32 +6960,6 @@ public class WindowManagerService extends IWindowManager.Stub } } - /** @see Session#reparentDisplayContent(IWindow, SurfaceControl, int) */ - void reparentDisplayContent(IWindow client, SurfaceControl sc, int displayId) { - checkCallerOwnsDisplay(displayId); - - synchronized (mGlobalLock) { - int uid = Binder.getCallingUid(); - final long token = Binder.clearCallingIdentity(); - try { - final WindowState win = windowForClientLocked(null, client, false); - if (win == null) { - ProtoLog.w(WM_ERROR, "Bad requesting window %s", client); - return; - } - getDisplayContentOrCreate(displayId, null).reparentDisplayContent(win, sc); - // Notifies AccessibilityController to re-compute the window observer of - // this embedded display - if (mAccessibilityController != null) { - mAccessibilityController.handleWindowObserverOfEmbeddedDisplay( - displayId, win, uid); - } - } finally { - Binder.restoreCallingIdentity(token); - } - } - } - /** @see Session#updateDisplayContentLocation(IWindow, int, int, int) */ void updateDisplayContentLocation(IWindow client, int x, int y, int displayId) { checkCallerOwnsDisplay(displayId); diff --git a/services/tests/wmtests/src/com/android/server/wm/WindowStateTests.java b/services/tests/wmtests/src/com/android/server/wm/WindowStateTests.java index 152a575c847d..178fabcc6a47 100644 --- a/services/tests/wmtests/src/com/android/server/wm/WindowStateTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/WindowStateTests.java @@ -691,39 +691,6 @@ public class WindowStateTests extends WindowTestsBase { } @Test - public void testGetTransformationMatrix() { - final int PARENT_WINDOW_OFFSET = 1; - final int DISPLAY_IN_PARENT_WINDOW_OFFSET = 2; - final int WINDOW_OFFSET = 3; - final float OFFSET_SUM = - PARENT_WINDOW_OFFSET + DISPLAY_IN_PARENT_WINDOW_OFFSET + WINDOW_OFFSET; - - final WindowState win0 = createWindow(null, TYPE_APPLICATION, "win0"); - - final DisplayContent dc = createNewDisplay(); - win0.getFrame().offsetTo(PARENT_WINDOW_OFFSET, 0); - dc.reparentDisplayContent(win0, win0.getSurfaceControl()); - dc.updateLocation(win0, DISPLAY_IN_PARENT_WINDOW_OFFSET, 0); - - final float[] values = new float[9]; - final Matrix matrix = new Matrix(); - final SurfaceControl.Transaction t = spy(StubTransaction.class); - final WindowState win1 = createWindow(null, TYPE_APPLICATION, dc, "win1"); - win1.mHasSurface = true; - win1.mSurfaceControl = mock(SurfaceControl.class); - win1.mAttrs.surfaceInsets.set(1, 2, 3, 4); - win1.getFrame().offsetTo(WINDOW_OFFSET, 0); - // Simulate layout - win1.mRelayoutCalled = true; - win1.updateSurfacePosition(t); - win1.getTransformationMatrix(values, matrix); - - matrix.getValues(values); - assertEquals(OFFSET_SUM, values[Matrix.MTRANS_X], 0f); - assertEquals(0f, values[Matrix.MTRANS_Y], 0f); - } - - @Test public void testCantReceiveTouchDuringRecentsAnimation() { final WindowState win0 = createWindow(null, TYPE_APPLICATION, "win0"); |