Loading core/java/android/window/StartingWindowInfo.java +5 −0 Original line number Diff line number Diff line Loading @@ -135,6 +135,11 @@ public final class StartingWindowInfo implements Parcelable { public static final int TYPE_PARAMETER_ACTIVITY_CREATED = 0x00000010; /** @hide */ public static final int TYPE_PARAMETER_USE_EMPTY_SPLASH_SCREEN = 0x00000020; /** * The parameter which indicates if the activity has finished drawing. * @hide */ public static final int TYPE_PARAMETER_ACTIVITY_DRAWN = 0x00000040; /** * Application is allowed to use the legacy splash screen * @hide Loading libs/WindowManager/Shell/src/com/android/wm/shell/startingsurface/phone/PhoneStartingWindowTypeAlgorithm.java +7 −2 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import static android.window.StartingWindowInfo.STARTING_WINDOW_TYPE_NONE; import static android.window.StartingWindowInfo.STARTING_WINDOW_TYPE_SNAPSHOT; import static android.window.StartingWindowInfo.STARTING_WINDOW_TYPE_SPLASH_SCREEN; import static android.window.StartingWindowInfo.TYPE_PARAMETER_ACTIVITY_CREATED; import static android.window.StartingWindowInfo.TYPE_PARAMETER_ACTIVITY_DRAWN; import static android.window.StartingWindowInfo.TYPE_PARAMETER_ALLOW_TASK_SNAPSHOT; import static android.window.StartingWindowInfo.TYPE_PARAMETER_LEGACY_SPLASH_SCREEN; import static android.window.StartingWindowInfo.TYPE_PARAMETER_NEW_TASK; Loading @@ -41,7 +42,7 @@ import com.android.wm.shell.startingsurface.StartingWindowTypeAlgorithm; /** * Algorithm for determining the type of a new starting window on handheld devices. * At the moment also used on Android Auto. * At the moment also used on Android Auto and Wear OS. */ public class PhoneStartingWindowTypeAlgorithm implements StartingWindowTypeAlgorithm { private static final String TAG = PhoneStartingWindowTypeAlgorithm.class.getSimpleName(); Loading @@ -58,6 +59,7 @@ public class PhoneStartingWindowTypeAlgorithm implements StartingWindowTypeAlgor (parameter & TYPE_PARAMETER_USE_EMPTY_SPLASH_SCREEN) != 0; final boolean legacySplashScreen = ((parameter & TYPE_PARAMETER_LEGACY_SPLASH_SCREEN) != 0); final boolean activityDrawn = (parameter & TYPE_PARAMETER_ACTIVITY_DRAWN) != 0; final boolean topIsHome = windowInfo.taskInfo.topActivityType == ACTIVITY_TYPE_HOME; if (DEBUG_SPLASH_SCREEN || DEBUG_TASK_SNAPSHOT) { Loading @@ -68,11 +70,14 @@ public class PhoneStartingWindowTypeAlgorithm implements StartingWindowTypeAlgor + " activityCreated:" + activityCreated + " useEmptySplashScreen:" + useEmptySplashScreen + " legacySplashScreen:" + legacySplashScreen + " activityDrawn:" + activityDrawn + " topIsHome:" + topIsHome); } if (!topIsHome) { if (!processRunning || newTask || (taskSwitch && !activityCreated)) { if (!processRunning || newTask || (taskSwitch && (!activityCreated || !activityDrawn))) { return useEmptySplashScreen ? STARTING_WINDOW_TYPE_EMPTY_SPLASH_SCREEN : legacySplashScreen Loading services/core/java/com/android/server/wm/ActivityRecord.java +8 −7 Original line number Diff line number Diff line Loading @@ -2039,7 +2039,8 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A boolean addStartingWindow(String pkg, int resolvedTheme, CompatibilityInfo compatInfo, CharSequence nonLocalizedLabel, int labelRes, int icon, int logo, int windowFlags, ActivityRecord from, boolean newTask, boolean taskSwitch, boolean processRunning, boolean allowTaskSnapshot, boolean activityCreated, boolean useEmpty) { boolean allowTaskSnapshot, boolean activityCreated, boolean useEmpty, boolean activityAllDrawn) { // If the display is frozen, we won't do anything until the actual window is // displayed so there is no reason to put in the starting window. if (!okToDisplay()) { Loading @@ -2060,7 +2061,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A mWmService.mTaskSnapshotController.getSnapshot(task.mTaskId, task.mUserId, false /* restoreFromDisk */, false /* isLowResolution */); final int type = getStartingWindowType(newTask, taskSwitch, processRunning, allowTaskSnapshot, activityCreated, snapshot); allowTaskSnapshot, activityCreated, activityAllDrawn, snapshot); //TODO(191787740) Remove for T final boolean useLegacy = type == STARTING_WINDOW_TYPE_SPLASH_SCREEN Loading @@ -2074,7 +2075,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A final int typeParameter = mWmService.mStartingSurfaceController .makeStartingWindowTypeParameter(newTask, taskSwitch, processRunning, allowTaskSnapshot, activityCreated, useEmpty, useLegacy); allowTaskSnapshot, activityCreated, useEmpty, useLegacy, activityAllDrawn); if (type == STARTING_WINDOW_TYPE_SNAPSHOT) { if (isActivityTypeHome()) { Loading Loading @@ -2209,10 +2210,10 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A private final AddStartingWindow mAddStartingWindow = new AddStartingWindow(); private int getStartingWindowType(boolean newTask, boolean taskSwitch, boolean processRunning, boolean allowTaskSnapshot, boolean activityCreated, boolean allowTaskSnapshot, boolean activityCreated, boolean activityAllDrawn, TaskSnapshot snapshot) { if ((newTask || !processRunning || (taskSwitch && !activityCreated)) && !isActivityTypeHome()) { if ((newTask || !processRunning || (taskSwitch && !activityCreated) || (taskSwitch && !activityAllDrawn)) && !isActivityTypeHome()) { return STARTING_WINDOW_TYPE_SPLASH_SCREEN; } else if (taskSwitch && allowTaskSnapshot) { if (isSnapshotCompatible(snapshot)) { Loading Loading @@ -6629,7 +6630,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A final boolean scheduled = addStartingWindow(packageName, resolvedTheme, compatInfo, nonLocalizedLabel, labelRes, icon, logo, windowFlags, prev, newTask || newSingleActivity, taskSwitch, isProcessRunning(), allowTaskSnapshot(), activityCreated, mSplashScreenStyleEmpty); allowTaskSnapshot(), activityCreated, mSplashScreenStyleEmpty, allDrawn); if (DEBUG_STARTING_WINDOW_VERBOSE && scheduled) { Slog.d(TAG, "Scheduled starting window for " + this); } Loading services/core/java/com/android/server/wm/StartingSurfaceController.java +5 −1 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.server.wm; import static android.window.StartingWindowInfo.TYPE_PARAMETER_ACTIVITY_CREATED; import static android.window.StartingWindowInfo.TYPE_PARAMETER_ACTIVITY_DRAWN; import static android.window.StartingWindowInfo.TYPE_PARAMETER_ALLOW_TASK_SNAPSHOT; import static android.window.StartingWindowInfo.TYPE_PARAMETER_LEGACY_SPLASH_SCREEN; import static android.window.StartingWindowInfo.TYPE_PARAMETER_NEW_TASK; Loading Loading @@ -86,7 +87,7 @@ public class StartingSurfaceController { int makeStartingWindowTypeParameter(boolean newTask, boolean taskSwitch, boolean processRunning, boolean allowTaskSnapshot, boolean activityCreated, boolean useEmpty, boolean useLegacy) { boolean useEmpty, boolean useLegacy, boolean activityDrawn) { int parameter = 0; if (newTask) { parameter |= TYPE_PARAMETER_NEW_TASK; Loading @@ -109,6 +110,9 @@ public class StartingSurfaceController { if (useLegacy) { parameter |= TYPE_PARAMETER_LEGACY_SPLASH_SCREEN; } if (activityDrawn) { parameter |= TYPE_PARAMETER_ACTIVITY_DRAWN; } return parameter; } Loading services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java +12 −12 Original line number Diff line number Diff line Loading @@ -2463,7 +2463,7 @@ public class ActivityRecordTests extends WindowTestsBase { final ActivityRecord activity = new ActivityBuilder(mAtm).setCreateTask(true).build(); activity.addStartingWindow(mPackageName, android.R.style.Theme, null, "Test", 0, 0, 0, 0, null, true, true, false, true, false, false); false, false, false); waitUntilHandlersIdle(); assertHasStartingWindow(activity); activity.removeStartingWindow(); Loading @@ -2476,7 +2476,7 @@ public class ActivityRecordTests extends WindowTestsBase { activity.mTargetSdk = targetSdk; activity.addStartingWindow(mPackageName, android.R.style.Theme, null, "Test", 0, 0, 0, 0, null, true, true, false, true, false, false); false, false, false); waitUntilHandlersIdle(); assertHasStartingWindow(activity); assertEquals(activity.mStartingData.mTypeParams & TYPE_PARAMETER_LEGACY_SPLASH_SCREEN, Loading Loading @@ -2514,11 +2514,11 @@ public class ActivityRecordTests extends WindowTestsBase { .setVisible(false).build(); activity1.addStartingWindow(mPackageName, android.R.style.Theme, null, "Test", 0, 0, 0, 0, null, true, true, false, true, false, false); false, false, false); waitUntilHandlersIdle(); activity2.addStartingWindow(mPackageName, android.R.style.Theme, null, "Test", 0, 0, 0, 0, activity1, true, true, false, true, false, false); true, true, false, true, false, false, false); waitUntilHandlersIdle(); assertFalse(mDisplayContent.mSkipAppTransitionAnimation); assertNoStartingWindow(activity1); Loading @@ -2536,11 +2536,11 @@ public class ActivityRecordTests extends WindowTestsBase { activity2.addStartingWindow(mPackageName, android.R.style.Theme, null, "Test", 0, 0, 0, 0, activity1, true, true, false, true, false, false); true, false, false, false); }); activity1.addStartingWindow(mPackageName, android.R.style.Theme, null, "Test", 0, 0, 0, 0, null, true, true, false, true, false, false); false, false, false); waitUntilHandlersIdle(); assertNoStartingWindow(activity1); assertHasStartingWindow(activity2); Loading @@ -2553,11 +2553,11 @@ public class ActivityRecordTests extends WindowTestsBase { final ActivityRecord activity2 = new ActivityBuilder(mAtm).setCreateTask(true).build(); activity1.addStartingWindow(mPackageName, android.R.style.Theme, null, "Test", 0, 0, 0, 0, null, true, true, false, true, false, false); false, false, false); waitUntilHandlersIdle(); activity2.addStartingWindow(mPackageName, android.R.style.Theme, null, "Test", 0, 0, 0, 0, activity1, true, true, false, true, false, false); true, true, false, true, false, false, false); waitUntilHandlersIdle(); assertNoStartingWindow(activity1); assertHasStartingWindow(activity2); Loading Loading @@ -2599,7 +2599,7 @@ public class ActivityRecordTests extends WindowTestsBase { "Test", 0 /* labelRes */, 0 /* icon */, 0 /* logo */, 0 /* windowFlags */, null /* transferFrom */, true /* newTask */, true /* taskSwitch */, false /* processRunning */, false /* allowTaskSnapshot */, false /* activityCreate */, false /* suggestEmpty */); false /* activityCreate */, false /* suggestEmpty */, false /* activityAllDrawn */); waitUntilHandlersIdle(); assertHasStartingWindow(activity); Loading Loading @@ -2647,7 +2647,7 @@ public class ActivityRecordTests extends WindowTestsBase { task.positionChildAt(topActivity, POSITION_TOP); activity.addStartingWindow(mPackageName, android.R.style.Theme, null, "Test", 0, 0, 0, 0, null, true, true, false, true, false, false); false, false, false); waitUntilHandlersIdle(); // Make activities to have different rotation from it display and set fixed rotation Loading @@ -2664,7 +2664,7 @@ public class ActivityRecordTests extends WindowTestsBase { // on activity2. topActivity.addStartingWindow(mPackageName, android.R.style.Theme, null, "Test", 0, 0, 0, 0, activity, false, false, false, true, false, false); false, false, false, true, false, false, false); waitUntilHandlersIdle(); assertTrue(topActivity.hasFixedRotationTransform()); } Loading @@ -2680,7 +2680,7 @@ public class ActivityRecordTests extends WindowTestsBase { // Add a starting window. activityTop.addStartingWindow(mPackageName, android.R.style.Theme, null, "Test", 0, 0, 0, 0, null, true, true, false, true, false, false); false, false, false); waitUntilHandlersIdle(); // Make the top one invisible, and try transferring the starting window from the top to the Loading Loading
core/java/android/window/StartingWindowInfo.java +5 −0 Original line number Diff line number Diff line Loading @@ -135,6 +135,11 @@ public final class StartingWindowInfo implements Parcelable { public static final int TYPE_PARAMETER_ACTIVITY_CREATED = 0x00000010; /** @hide */ public static final int TYPE_PARAMETER_USE_EMPTY_SPLASH_SCREEN = 0x00000020; /** * The parameter which indicates if the activity has finished drawing. * @hide */ public static final int TYPE_PARAMETER_ACTIVITY_DRAWN = 0x00000040; /** * Application is allowed to use the legacy splash screen * @hide Loading
libs/WindowManager/Shell/src/com/android/wm/shell/startingsurface/phone/PhoneStartingWindowTypeAlgorithm.java +7 −2 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import static android.window.StartingWindowInfo.STARTING_WINDOW_TYPE_NONE; import static android.window.StartingWindowInfo.STARTING_WINDOW_TYPE_SNAPSHOT; import static android.window.StartingWindowInfo.STARTING_WINDOW_TYPE_SPLASH_SCREEN; import static android.window.StartingWindowInfo.TYPE_PARAMETER_ACTIVITY_CREATED; import static android.window.StartingWindowInfo.TYPE_PARAMETER_ACTIVITY_DRAWN; import static android.window.StartingWindowInfo.TYPE_PARAMETER_ALLOW_TASK_SNAPSHOT; import static android.window.StartingWindowInfo.TYPE_PARAMETER_LEGACY_SPLASH_SCREEN; import static android.window.StartingWindowInfo.TYPE_PARAMETER_NEW_TASK; Loading @@ -41,7 +42,7 @@ import com.android.wm.shell.startingsurface.StartingWindowTypeAlgorithm; /** * Algorithm for determining the type of a new starting window on handheld devices. * At the moment also used on Android Auto. * At the moment also used on Android Auto and Wear OS. */ public class PhoneStartingWindowTypeAlgorithm implements StartingWindowTypeAlgorithm { private static final String TAG = PhoneStartingWindowTypeAlgorithm.class.getSimpleName(); Loading @@ -58,6 +59,7 @@ public class PhoneStartingWindowTypeAlgorithm implements StartingWindowTypeAlgor (parameter & TYPE_PARAMETER_USE_EMPTY_SPLASH_SCREEN) != 0; final boolean legacySplashScreen = ((parameter & TYPE_PARAMETER_LEGACY_SPLASH_SCREEN) != 0); final boolean activityDrawn = (parameter & TYPE_PARAMETER_ACTIVITY_DRAWN) != 0; final boolean topIsHome = windowInfo.taskInfo.topActivityType == ACTIVITY_TYPE_HOME; if (DEBUG_SPLASH_SCREEN || DEBUG_TASK_SNAPSHOT) { Loading @@ -68,11 +70,14 @@ public class PhoneStartingWindowTypeAlgorithm implements StartingWindowTypeAlgor + " activityCreated:" + activityCreated + " useEmptySplashScreen:" + useEmptySplashScreen + " legacySplashScreen:" + legacySplashScreen + " activityDrawn:" + activityDrawn + " topIsHome:" + topIsHome); } if (!topIsHome) { if (!processRunning || newTask || (taskSwitch && !activityCreated)) { if (!processRunning || newTask || (taskSwitch && (!activityCreated || !activityDrawn))) { return useEmptySplashScreen ? STARTING_WINDOW_TYPE_EMPTY_SPLASH_SCREEN : legacySplashScreen Loading
services/core/java/com/android/server/wm/ActivityRecord.java +8 −7 Original line number Diff line number Diff line Loading @@ -2039,7 +2039,8 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A boolean addStartingWindow(String pkg, int resolvedTheme, CompatibilityInfo compatInfo, CharSequence nonLocalizedLabel, int labelRes, int icon, int logo, int windowFlags, ActivityRecord from, boolean newTask, boolean taskSwitch, boolean processRunning, boolean allowTaskSnapshot, boolean activityCreated, boolean useEmpty) { boolean allowTaskSnapshot, boolean activityCreated, boolean useEmpty, boolean activityAllDrawn) { // If the display is frozen, we won't do anything until the actual window is // displayed so there is no reason to put in the starting window. if (!okToDisplay()) { Loading @@ -2060,7 +2061,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A mWmService.mTaskSnapshotController.getSnapshot(task.mTaskId, task.mUserId, false /* restoreFromDisk */, false /* isLowResolution */); final int type = getStartingWindowType(newTask, taskSwitch, processRunning, allowTaskSnapshot, activityCreated, snapshot); allowTaskSnapshot, activityCreated, activityAllDrawn, snapshot); //TODO(191787740) Remove for T final boolean useLegacy = type == STARTING_WINDOW_TYPE_SPLASH_SCREEN Loading @@ -2074,7 +2075,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A final int typeParameter = mWmService.mStartingSurfaceController .makeStartingWindowTypeParameter(newTask, taskSwitch, processRunning, allowTaskSnapshot, activityCreated, useEmpty, useLegacy); allowTaskSnapshot, activityCreated, useEmpty, useLegacy, activityAllDrawn); if (type == STARTING_WINDOW_TYPE_SNAPSHOT) { if (isActivityTypeHome()) { Loading Loading @@ -2209,10 +2210,10 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A private final AddStartingWindow mAddStartingWindow = new AddStartingWindow(); private int getStartingWindowType(boolean newTask, boolean taskSwitch, boolean processRunning, boolean allowTaskSnapshot, boolean activityCreated, boolean allowTaskSnapshot, boolean activityCreated, boolean activityAllDrawn, TaskSnapshot snapshot) { if ((newTask || !processRunning || (taskSwitch && !activityCreated)) && !isActivityTypeHome()) { if ((newTask || !processRunning || (taskSwitch && !activityCreated) || (taskSwitch && !activityAllDrawn)) && !isActivityTypeHome()) { return STARTING_WINDOW_TYPE_SPLASH_SCREEN; } else if (taskSwitch && allowTaskSnapshot) { if (isSnapshotCompatible(snapshot)) { Loading Loading @@ -6629,7 +6630,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A final boolean scheduled = addStartingWindow(packageName, resolvedTheme, compatInfo, nonLocalizedLabel, labelRes, icon, logo, windowFlags, prev, newTask || newSingleActivity, taskSwitch, isProcessRunning(), allowTaskSnapshot(), activityCreated, mSplashScreenStyleEmpty); allowTaskSnapshot(), activityCreated, mSplashScreenStyleEmpty, allDrawn); if (DEBUG_STARTING_WINDOW_VERBOSE && scheduled) { Slog.d(TAG, "Scheduled starting window for " + this); } Loading
services/core/java/com/android/server/wm/StartingSurfaceController.java +5 −1 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.server.wm; import static android.window.StartingWindowInfo.TYPE_PARAMETER_ACTIVITY_CREATED; import static android.window.StartingWindowInfo.TYPE_PARAMETER_ACTIVITY_DRAWN; import static android.window.StartingWindowInfo.TYPE_PARAMETER_ALLOW_TASK_SNAPSHOT; import static android.window.StartingWindowInfo.TYPE_PARAMETER_LEGACY_SPLASH_SCREEN; import static android.window.StartingWindowInfo.TYPE_PARAMETER_NEW_TASK; Loading Loading @@ -86,7 +87,7 @@ public class StartingSurfaceController { int makeStartingWindowTypeParameter(boolean newTask, boolean taskSwitch, boolean processRunning, boolean allowTaskSnapshot, boolean activityCreated, boolean useEmpty, boolean useLegacy) { boolean useEmpty, boolean useLegacy, boolean activityDrawn) { int parameter = 0; if (newTask) { parameter |= TYPE_PARAMETER_NEW_TASK; Loading @@ -109,6 +110,9 @@ public class StartingSurfaceController { if (useLegacy) { parameter |= TYPE_PARAMETER_LEGACY_SPLASH_SCREEN; } if (activityDrawn) { parameter |= TYPE_PARAMETER_ACTIVITY_DRAWN; } return parameter; } Loading
services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java +12 −12 Original line number Diff line number Diff line Loading @@ -2463,7 +2463,7 @@ public class ActivityRecordTests extends WindowTestsBase { final ActivityRecord activity = new ActivityBuilder(mAtm).setCreateTask(true).build(); activity.addStartingWindow(mPackageName, android.R.style.Theme, null, "Test", 0, 0, 0, 0, null, true, true, false, true, false, false); false, false, false); waitUntilHandlersIdle(); assertHasStartingWindow(activity); activity.removeStartingWindow(); Loading @@ -2476,7 +2476,7 @@ public class ActivityRecordTests extends WindowTestsBase { activity.mTargetSdk = targetSdk; activity.addStartingWindow(mPackageName, android.R.style.Theme, null, "Test", 0, 0, 0, 0, null, true, true, false, true, false, false); false, false, false); waitUntilHandlersIdle(); assertHasStartingWindow(activity); assertEquals(activity.mStartingData.mTypeParams & TYPE_PARAMETER_LEGACY_SPLASH_SCREEN, Loading Loading @@ -2514,11 +2514,11 @@ public class ActivityRecordTests extends WindowTestsBase { .setVisible(false).build(); activity1.addStartingWindow(mPackageName, android.R.style.Theme, null, "Test", 0, 0, 0, 0, null, true, true, false, true, false, false); false, false, false); waitUntilHandlersIdle(); activity2.addStartingWindow(mPackageName, android.R.style.Theme, null, "Test", 0, 0, 0, 0, activity1, true, true, false, true, false, false); true, true, false, true, false, false, false); waitUntilHandlersIdle(); assertFalse(mDisplayContent.mSkipAppTransitionAnimation); assertNoStartingWindow(activity1); Loading @@ -2536,11 +2536,11 @@ public class ActivityRecordTests extends WindowTestsBase { activity2.addStartingWindow(mPackageName, android.R.style.Theme, null, "Test", 0, 0, 0, 0, activity1, true, true, false, true, false, false); true, false, false, false); }); activity1.addStartingWindow(mPackageName, android.R.style.Theme, null, "Test", 0, 0, 0, 0, null, true, true, false, true, false, false); false, false, false); waitUntilHandlersIdle(); assertNoStartingWindow(activity1); assertHasStartingWindow(activity2); Loading @@ -2553,11 +2553,11 @@ public class ActivityRecordTests extends WindowTestsBase { final ActivityRecord activity2 = new ActivityBuilder(mAtm).setCreateTask(true).build(); activity1.addStartingWindow(mPackageName, android.R.style.Theme, null, "Test", 0, 0, 0, 0, null, true, true, false, true, false, false); false, false, false); waitUntilHandlersIdle(); activity2.addStartingWindow(mPackageName, android.R.style.Theme, null, "Test", 0, 0, 0, 0, activity1, true, true, false, true, false, false); true, true, false, true, false, false, false); waitUntilHandlersIdle(); assertNoStartingWindow(activity1); assertHasStartingWindow(activity2); Loading Loading @@ -2599,7 +2599,7 @@ public class ActivityRecordTests extends WindowTestsBase { "Test", 0 /* labelRes */, 0 /* icon */, 0 /* logo */, 0 /* windowFlags */, null /* transferFrom */, true /* newTask */, true /* taskSwitch */, false /* processRunning */, false /* allowTaskSnapshot */, false /* activityCreate */, false /* suggestEmpty */); false /* activityCreate */, false /* suggestEmpty */, false /* activityAllDrawn */); waitUntilHandlersIdle(); assertHasStartingWindow(activity); Loading Loading @@ -2647,7 +2647,7 @@ public class ActivityRecordTests extends WindowTestsBase { task.positionChildAt(topActivity, POSITION_TOP); activity.addStartingWindow(mPackageName, android.R.style.Theme, null, "Test", 0, 0, 0, 0, null, true, true, false, true, false, false); false, false, false); waitUntilHandlersIdle(); // Make activities to have different rotation from it display and set fixed rotation Loading @@ -2664,7 +2664,7 @@ public class ActivityRecordTests extends WindowTestsBase { // on activity2. topActivity.addStartingWindow(mPackageName, android.R.style.Theme, null, "Test", 0, 0, 0, 0, activity, false, false, false, true, false, false); false, false, false, true, false, false, false); waitUntilHandlersIdle(); assertTrue(topActivity.hasFixedRotationTransform()); } Loading @@ -2680,7 +2680,7 @@ public class ActivityRecordTests extends WindowTestsBase { // Add a starting window. activityTop.addStartingWindow(mPackageName, android.R.style.Theme, null, "Test", 0, 0, 0, 0, null, true, true, false, true, false, false); false, false, false); waitUntilHandlersIdle(); // Make the top one invisible, and try transferring the starting window from the top to the Loading