summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/wm/ActivityRecord.java5
-rw-r--r--services/core/java/com/android/server/wm/AppTransitionController.java1
-rw-r--r--services/core/java/com/android/server/wm/TaskDisplayArea.java4
-rw-r--r--services/core/java/com/android/server/wm/TaskFragment.java5
-rw-r--r--services/core/java/com/android/server/wm/WindowContainer.java8
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/TransitionTests.java3
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;