Merge "Skip close activity transition since no closing app can be visible" into sc-dev am: 590ccb4e73
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/14842876 Change-Id: I1e9d95c5843221fbbd0213725f091bcbfc077b42
This commit is contained in:
@@ -412,7 +412,13 @@ public class AppTransitionController {
|
||||
return TRANSIT_OLD_TASK_CLOSE;
|
||||
}
|
||||
if (isActivityClosing) {
|
||||
return TRANSIT_OLD_ACTIVITY_CLOSE;
|
||||
for (int i = closingApps.size() - 1; i >= 0; i--) {
|
||||
if (closingApps.valueAt(i).visibleIgnoringKeyguard) {
|
||||
return TRANSIT_OLD_ACTIVITY_CLOSE;
|
||||
}
|
||||
}
|
||||
// Skip close activity transition since no closing app can be visible
|
||||
return WindowManager.TRANSIT_OLD_UNSET;
|
||||
}
|
||||
}
|
||||
if (appTransition.containsTransitRequest(TRANSIT_RELAUNCH)
|
||||
|
||||
@@ -77,6 +77,24 @@ public class AppTransitionControllerTest extends WindowTestsBase {
|
||||
return r;
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSkipOccludedActivityCloseTransition() {
|
||||
final ActivityRecord behind = createActivityRecord(mDisplayContent,
|
||||
WINDOWING_MODE_FULLSCREEN, ACTIVITY_TYPE_STANDARD);
|
||||
final ActivityRecord topOpening = createActivityRecord(behind.getTask());
|
||||
topOpening.setOccludesParent(true);
|
||||
topOpening.setVisible(true);
|
||||
|
||||
mDisplayContent.prepareAppTransition(TRANSIT_OPEN);
|
||||
mDisplayContent.prepareAppTransition(TRANSIT_CLOSE);
|
||||
mDisplayContent.mClosingApps.add(behind);
|
||||
|
||||
assertEquals(WindowManager.TRANSIT_OLD_UNSET,
|
||||
AppTransitionController.getTransitCompatType(mDisplayContent.mAppTransition,
|
||||
mDisplayContent.mOpeningApps, mDisplayContent.mClosingApps,
|
||||
null, null, false));
|
||||
}
|
||||
|
||||
@Test
|
||||
@FlakyTest(bugId = 131005232)
|
||||
public void testTranslucentOpen() {
|
||||
|
||||
Reference in New Issue
Block a user