Loading services/core/java/com/android/server/wm/WindowManagerService.java +8 −3 Original line number Diff line number Diff line Loading @@ -1476,9 +1476,14 @@ public class WindowManagerService extends IWindowManager.Stub rootType, attrs.token, attrs.packageName)) { return WindowManagerGlobal.ADD_BAD_APP_TOKEN; } if (hasParent) { // Use existing parent window token for child windows. token = parentWindow.mToken; } else { final IBinder binder = attrs.token != null ? attrs.token : client.asBinder(); token = new WindowToken(this, binder, type, false, displayContent, session.mCanAddInternalSystemWindow, isRoundedCornerOverlay); } } else if (rootType >= FIRST_APPLICATION_WINDOW && rootType <= LAST_APPLICATION_WINDOW) { activity = token.asActivityRecord(); Loading services/tests/wmtests/src/com/android/server/wm/WindowTokenTests.java +4 −0 Original line number Diff line number Diff line Loading @@ -78,6 +78,10 @@ public class WindowTokenTests extends WindowTestsBase { assertFalse(token.hasWindow(window12)); assertTrue(token.hasWindow(window2)); assertTrue(token.hasWindow(window3)); // The child windows should have the same window token as their parents. assertEquals(window1.mToken, window11.mToken); assertEquals(window1.mToken, window12.mToken); } @Test Loading Loading
services/core/java/com/android/server/wm/WindowManagerService.java +8 −3 Original line number Diff line number Diff line Loading @@ -1476,9 +1476,14 @@ public class WindowManagerService extends IWindowManager.Stub rootType, attrs.token, attrs.packageName)) { return WindowManagerGlobal.ADD_BAD_APP_TOKEN; } if (hasParent) { // Use existing parent window token for child windows. token = parentWindow.mToken; } else { final IBinder binder = attrs.token != null ? attrs.token : client.asBinder(); token = new WindowToken(this, binder, type, false, displayContent, session.mCanAddInternalSystemWindow, isRoundedCornerOverlay); } } else if (rootType >= FIRST_APPLICATION_WINDOW && rootType <= LAST_APPLICATION_WINDOW) { activity = token.asActivityRecord(); Loading
services/tests/wmtests/src/com/android/server/wm/WindowTokenTests.java +4 −0 Original line number Diff line number Diff line Loading @@ -78,6 +78,10 @@ public class WindowTokenTests extends WindowTestsBase { assertFalse(token.hasWindow(window12)); assertTrue(token.hasWindow(window2)); assertTrue(token.hasWindow(window3)); // The child windows should have the same window token as their parents. assertEquals(window1.mToken, window11.mToken); assertEquals(window1.mToken, window12.mToken); } @Test Loading