diff options
6 files changed, 6 insertions, 20 deletions
diff --git a/services/core/java/com/android/server/wm/ActivityRecord.java b/services/core/java/com/android/server/wm/ActivityRecord.java index dcbc8f9a6abd..7e633146e390 100644 --- a/services/core/java/com/android/server/wm/ActivityRecord.java +++ b/services/core/java/com/android/server/wm/ActivityRecord.java @@ -9788,11 +9788,6 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A super.finishSync(outMergedTransaction, cancel); } - @Override - boolean canBeAnimationTarget() { - return true; - } - @Nullable Point getMinDimensions() { final ActivityInfo.WindowLayout windowLayout = info.windowLayout; diff --git a/services/core/java/com/android/server/wm/AppTransitionController.java b/services/core/java/com/android/server/wm/AppTransitionController.java index abb3f3af66fb..6d279d620d52 100644 --- a/services/core/java/com/android/server/wm/AppTransitionController.java +++ b/services/core/java/com/android/server/wm/AppTransitionController.java @@ -928,7 +928,6 @@ public class AppTransitionController { // TODO(b/213312721): Remove this once ShellTransition is enabled. continue; } else if (parent == null || !parent.canCreateRemoteAnimationTarget() - || !parent.canBeAnimationTarget() // We cannot promote the animation on Task's parent when the task is in // clearing task in case the animating get stuck when performing the opening // task that behind it. diff --git a/services/core/java/com/android/server/wm/TaskDisplayArea.java b/services/core/java/com/android/server/wm/TaskDisplayArea.java index 02e796904b16..1327e50cd710 100644 --- a/services/core/java/com/android/server/wm/TaskDisplayArea.java +++ b/services/core/java/com/android/server/wm/TaskDisplayArea.java @@ -1778,7 +1778,9 @@ final class TaskDisplayArea extends DisplayArea<WindowContainer> { @Override boolean canCreateRemoteAnimationTarget() { - return true; + // In the legacy transition system, promoting animation target from TaskFragment to + // TaskDisplayArea prevents running finish animation. See b/194649929. + return WindowManagerService.sEnableShellTransitions; } /** diff --git a/services/core/java/com/android/server/wm/TaskFragment.java b/services/core/java/com/android/server/wm/TaskFragment.java index d77e9b397ef9..18d6827e09be 100644 --- a/services/core/java/com/android/server/wm/TaskFragment.java +++ b/services/core/java/com/android/server/wm/TaskFragment.java @@ -2569,11 +2569,6 @@ class TaskFragment extends WindowContainer<WindowContainer> { } @Override - boolean canBeAnimationTarget() { - return true; - } - - @Override boolean fillsParent() { // From the perspective of policy, we still want to report that this task fills parent // in fullscreen windowing mode even it doesn't match parent bounds because there will be diff --git a/services/core/java/com/android/server/wm/WindowContainer.java b/services/core/java/com/android/server/wm/WindowContainer.java index e00cbb93a873..6ffa0fcc5d52 100644 --- a/services/core/java/com/android/server/wm/WindowContainer.java +++ b/services/core/java/com/android/server/wm/WindowContainer.java @@ -3141,14 +3141,6 @@ class WindowContainer<E extends WindowContainer> extends ConfigurationContainer< return false; } - /** - * {@code true} to indicate that this container can be a candidate of - * {@link AppTransitionController#getAnimationTargets(ArraySet, ArraySet, boolean) animation - * target}. */ - boolean canBeAnimationTarget() { - return false; - } - boolean okToDisplay() { final DisplayContent dc = getDisplayContent(); return dc != null && dc.okToDisplay(); diff --git a/services/tests/wmtests/src/com/android/server/wm/TransitionTests.java b/services/tests/wmtests/src/com/android/server/wm/TransitionTests.java index 84e94ff271c3..149ca7cce835 100644 --- a/services/tests/wmtests/src/com/android/server/wm/TransitionTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/TransitionTests.java @@ -45,6 +45,7 @@ import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import static org.junit.Assume.assumeFalse; +import static org.junit.Assume.assumeTrue; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.eq; @@ -210,6 +211,8 @@ public class TransitionTests extends WindowTestsBase { @Test public void testCreateInfo_DisplayArea() { + assumeTrue(mDisplayContent.mTransitionController.useShellTransitionsRotation()); + final Transition transition = createTestTransition(TRANSIT_OPEN); ArrayMap<WindowContainer, Transition.ChangeInfo> changes = transition.mChanges; ArraySet<WindowContainer> participants = transition.mParticipants; |