Loading services/core/java/com/android/server/wm/ActivityRecord.java +2 −0 Original line number Diff line number Diff line Loading @@ -7644,6 +7644,8 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A // This could only happen when the window is removed from hierarchy. So do not keep its // reference anymore. mStartingWindow = null; mStartingData = null; mStartingSurface = null; } if (mChildren.size() == 0 && mVisibleSetFromTransferredStartingWindow) { // We set the visible state to true for the token from a transferred starting Loading services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java +13 −0 Original line number Diff line number Diff line Loading @@ -2726,6 +2726,19 @@ public class ActivityRecordTests extends WindowTestsBase { assertNoStartingWindow(activity); } @Test public void testPostCleanupStartingWindow() { registerTestStartingWindowOrganizer(); final ActivityRecord activity = new ActivityBuilder(mAtm).setCreateTask(true).build(); activity.addStartingWindow(mPackageName, android.R.style.Theme, null, true, true, false, true, false, false, false); waitUntilHandlersIdle(); assertHasStartingWindow(activity); // Simulate Shell remove starting window actively. activity.mStartingWindow.removeImmediately(); assertNoStartingWindow(activity); } private void testLegacySplashScreen(int targetSdk, int verifyType) { final ActivityRecord activity = new ActivityBuilder(mAtm).setCreateTask(true).build(); activity.mTargetSdk = targetSdk; Loading Loading
services/core/java/com/android/server/wm/ActivityRecord.java +2 −0 Original line number Diff line number Diff line Loading @@ -7644,6 +7644,8 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A // This could only happen when the window is removed from hierarchy. So do not keep its // reference anymore. mStartingWindow = null; mStartingData = null; mStartingSurface = null; } if (mChildren.size() == 0 && mVisibleSetFromTransferredStartingWindow) { // We set the visible state to true for the token from a transferred starting Loading
services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java +13 −0 Original line number Diff line number Diff line Loading @@ -2726,6 +2726,19 @@ public class ActivityRecordTests extends WindowTestsBase { assertNoStartingWindow(activity); } @Test public void testPostCleanupStartingWindow() { registerTestStartingWindowOrganizer(); final ActivityRecord activity = new ActivityBuilder(mAtm).setCreateTask(true).build(); activity.addStartingWindow(mPackageName, android.R.style.Theme, null, true, true, false, true, false, false, false); waitUntilHandlersIdle(); assertHasStartingWindow(activity); // Simulate Shell remove starting window actively. activity.mStartingWindow.removeImmediately(); assertNoStartingWindow(activity); } private void testLegacySplashScreen(int targetSdk, int verifyType) { final ActivityRecord activity = new ActivityBuilder(mAtm).setCreateTask(true).build(); activity.mTargetSdk = targetSdk; Loading