Merge "Don't reorder tasks if the recents animation is not running to home" into sc-dev

This commit is contained in:
Winson Chung
2021-07-01 23:13:29 +00:00
committed by Android (Google) Code Review
2 changed files with 7 additions and 4 deletions

View File

@@ -16,6 +16,7 @@
package com.android.server.wm;
import static android.app.WindowConfiguration.ACTIVITY_TYPE_HOME;
import static android.app.WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_PRIMARY;
import static android.app.WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_SECONDARY;
import static android.app.WindowConfiguration.WINDOWING_MODE_UNDEFINED;
@@ -823,8 +824,10 @@ public class RecentsAnimationController implements DeathRecipient {
if (mCanceled) {
return;
}
cancelAnimation(mWillFinishToHome ? REORDER_MOVE_TO_TOP : REORDER_KEEP_IN_PLACE,
true /* screenshot */, "cancelAnimationForHomeStart");
final int reorderMode = mTargetActivityType == ACTIVITY_TYPE_HOME && mWillFinishToHome
? REORDER_MOVE_TO_TOP
: REORDER_KEEP_IN_PLACE;
cancelAnimation(reorderMode, true /* screenshot */, "cancelAnimationForHomeStart");
}
/**

View File

@@ -683,12 +683,12 @@ public class RecentsAnimationControllerTest extends WindowTestsBase {
@Test
public void testCancelForStartHome() throws Exception {
mWm.setRecentsAnimationController(mController);
final ActivityRecord homeActivity = createHomeActivity();
final ActivityRecord activity = createActivityRecord(mDefaultDisplay);
final WindowState win1 = createWindow(null, TYPE_BASE_APPLICATION, activity, "win1");
activity.addWindow(win1);
RecentsAnimationController.TaskAnimationAdapter adapter = mController.addAnimation(
activity.getTask(), false /* isRecentTaskInvisible */);
initializeRecentsAnimationController(mController, homeActivity);
mController.setWillFinishToHome(true);
// Verify cancel is called with a snapshot and that we've created an overlay