diff options
| author | 2024-11-04 22:03:50 +0000 | |
|---|---|---|
| committer | 2024-11-04 22:03:50 +0000 | |
| commit | 3e2c706f6cda70c7aabc8aeab01f64a08935ae6f (patch) | |
| tree | ed77903c1d89edd7c6f2e6dc4a557aabff76b1b6 | |
| parent | 7c51335f09e2aee10f7c6513cdd3f8e176778975 (diff) | |
| parent | baf21c13eb12b4cdb1a8822ded6e8bdaecebbd1a (diff) | |
Merge "Synthetic target tweaks" into main
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); |