summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Winson Chung <winsonc@google.com> 2024-11-04 22:03:50 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2024-11-04 22:03:50 +0000
commit3e2c706f6cda70c7aabc8aeab01f64a08935ae6f (patch)
treeed77903c1d89edd7c6f2e6dc4a557aabff76b1b6
parent7c51335f09e2aee10f7c6513cdd3f8e176778975 (diff)
parentbaf21c13eb12b4cdb1a8822ded6e8bdaecebbd1a (diff)
Merge "Synthetic target tweaks" into main
-rw-r--r--libs/WindowManager/Shell/shared/src/com/android/wm/shell/shared/TransitionUtil.java8
-rw-r--r--libs/WindowManager/Shell/src/com/android/wm/shell/ShellTaskOrganizer.java14
-rw-r--r--libs/WindowManager/Shell/src/com/android/wm/shell/recents/RecentsTransitionHandler.java4
3 files changed, 20 insertions, 6 deletions
diff --git a/libs/WindowManager/Shell/shared/src/com/android/wm/shell/shared/TransitionUtil.java b/libs/WindowManager/Shell/shared/src/com/android/wm/shell/shared/TransitionUtil.java
index 88878c6adcf2..e033f673d07d 100644
--- a/libs/WindowManager/Shell/shared/src/com/android/wm/shell/shared/TransitionUtil.java
+++ b/libs/WindowManager/Shell/shared/src/com/android/wm/shell/shared/TransitionUtil.java
@@ -360,7 +360,7 @@ public class TransitionUtil {
windowConfiguration = new WindowConfiguration();
}
- Rect localBounds = new Rect();
+ Rect bounds = windowConfiguration.getBounds();
RemoteAnimationTarget target = new RemoteAnimationTarget(
taskId,
newModeToLegacyMode(mode),
@@ -373,12 +373,12 @@ public class TransitionUtil {
new Rect(0, 0, 0, 0),
order,
null,
- localBounds,
- new Rect(),
+ bounds,
+ bounds,
windowConfiguration,
isNotInRecents,
null,
- new Rect(),
+ bounds,
taskInfo,
false,
INVALID_WINDOW_TYPE
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/ShellTaskOrganizer.java b/libs/WindowManager/Shell/src/com/android/wm/shell/ShellTaskOrganizer.java
index f59fed906e2d..dfe76b8543e1 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/ShellTaskOrganizer.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/ShellTaskOrganizer.java
@@ -487,6 +487,20 @@ public class ShellTaskOrganizer extends TaskOrganizer {
return mHomeTaskOverlayContainer;
}
+ /**
+ * Returns the home task surface, not for wide use.
+ */
+ @Nullable
+ public SurfaceControl getHomeTaskSurface() {
+ for (int i = 0; i < mTasks.size(); i++) {
+ final TaskAppearedInfo info = mTasks.valueAt(i);
+ if (info.getTaskInfo().getActivityType() == ACTIVITY_TYPE_HOME) {
+ return info.getLeash();
+ }
+ }
+ return null;
+ }
+
@Override
public void addStartingWindow(StartingWindowInfo info) {
if (mStartingWindow != null) {
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/recents/RecentsTransitionHandler.java b/libs/WindowManager/Shell/src/com/android/wm/shell/recents/RecentsTransitionHandler.java
index 6d4d4b410be8..40065b9287a6 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/recents/RecentsTransitionHandler.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/recents/RecentsTransitionHandler.java
@@ -544,10 +544,10 @@ public class RecentsTransitionHandler implements Transitions.TransitionHandler,
.findFirst()
.get();
final RemoteAnimationTarget openingTarget = TransitionUtil.newSyntheticTarget(
- homeTask, mShellTaskOrganizer.getHomeTaskOverlayContainer(), TRANSIT_OPEN,
+ homeTask, mShellTaskOrganizer.getHomeTaskSurface(), TRANSIT_OPEN,
0, true /* isTranslucent */);
final RemoteAnimationTarget closingTarget = TransitionUtil.newSyntheticTarget(
- homeTask, mShellTaskOrganizer.getHomeTaskOverlayContainer(), TRANSIT_CLOSE,
+ homeTask, mShellTaskOrganizer.getHomeTaskSurface(), TRANSIT_CLOSE,
0, true /* isTranslucent */);
final ArrayList<RemoteAnimationTarget> apps = new ArrayList<>();
apps.add(openingTarget);