Merge "Skip transition only when transferring starting from visible activity" into sc-v2-dev am: a790ce3978 am: 273225a687
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15654839 Change-Id: I4ade9fc7f989457180f5509b5de4fca2c38907df
This commit is contained in:
@@ -3935,7 +3935,9 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
|
||||
if (tStartingWindow != null && fromActivity.mStartingSurface != null) {
|
||||
// In this case, the starting icon has already been displayed, so start
|
||||
// letting windows get shown immediately without any more transitions.
|
||||
getDisplayContent().mSkipAppTransitionAnimation = true;
|
||||
if (fromActivity.mVisible) {
|
||||
mDisplayContent.mSkipAppTransitionAnimation = true;
|
||||
}
|
||||
|
||||
ProtoLog.v(WM_DEBUG_STARTING_WINDOW, "Moving existing starting %s"
|
||||
+ " from %s to %s", tStartingWindow, fromActivity, this);
|
||||
|
||||
@@ -2510,8 +2510,10 @@ public class ActivityRecordTests extends WindowTestsBase {
|
||||
@Test
|
||||
public void testTransferStartingWindow() {
|
||||
registerTestStartingWindowOrganizer();
|
||||
final ActivityRecord activity1 = new ActivityBuilder(mAtm).setCreateTask(true).build();
|
||||
final ActivityRecord activity2 = new ActivityBuilder(mAtm).setCreateTask(true).build();
|
||||
final ActivityRecord activity1 = new ActivityBuilder(mAtm).setCreateTask(true)
|
||||
.setVisible(false).build();
|
||||
final ActivityRecord activity2 = new ActivityBuilder(mAtm).setCreateTask(true)
|
||||
.setVisible(false).build();
|
||||
activity1.addStartingWindow(mPackageName,
|
||||
android.R.style.Theme, null, "Test", 0, 0, 0, 0, null, true, true, false, true,
|
||||
false, false);
|
||||
@@ -2520,6 +2522,7 @@ public class ActivityRecordTests extends WindowTestsBase {
|
||||
android.R.style.Theme, null, "Test", 0, 0, 0, 0, activity1,
|
||||
true, true, false, true, false, false);
|
||||
waitUntilHandlersIdle();
|
||||
assertFalse(mDisplayContent.mSkipAppTransitionAnimation);
|
||||
assertNoStartingWindow(activity1);
|
||||
assertHasStartingWindow(activity2);
|
||||
}
|
||||
@@ -2627,6 +2630,7 @@ public class ActivityRecordTests extends WindowTestsBase {
|
||||
false /* newTask */, false /* isTaskSwitch */, null /* options */,
|
||||
null /* sourceRecord */);
|
||||
|
||||
assertTrue(mDisplayContent.mSkipAppTransitionAnimation);
|
||||
assertNull(middle.mStartingWindow);
|
||||
assertHasStartingWindow(top);
|
||||
assertTrue(top.isVisible());
|
||||
|
||||
Reference in New Issue
Block a user