diff options
| author | 2023-08-23 05:39:57 +0000 | |
|---|---|---|
| committer | 2023-08-23 09:12:26 +0000 | |
| commit | 2786203fc598e52c5bd2cbc74d0e8923404cd1cb (patch) | |
| tree | 360a300e93aebf8a7ea25e83a6b4cce04cb8f996 | |
| parent | 8880dfea26f24d2bca142eb4c4d6e9452fc1e12e (diff) | |
Search existing starting window activity in showStartingWindow
Always search for existing starting window in a task when calling
showStartingWindow, so there can transfer the existing starting window
without request a new one from shell.
Bug: 295838775
Test: presubmit
Change-Id: I1e42810ffe28b719d5872cdfb8aa328a881d122a
| -rw-r--r-- | services/core/java/com/android/server/wm/ActivityRecord.java | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/wm/ActivityRecord.java b/services/core/java/com/android/server/wm/ActivityRecord.java index 64c7c6f9875b..649ab8fe1d4d 100644 --- a/services/core/java/com/android/server/wm/ActivityRecord.java +++ b/services/core/java/com/android/server/wm/ActivityRecord.java @@ -7258,8 +7258,10 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A } void showStartingWindow(boolean taskSwitch) { - showStartingWindow(null /* prev */, false /* newTask */, taskSwitch, - false /* startActivity */, null); + // Pass the activity which contains starting window already. + final ActivityRecord prev = task.getActivity( + a -> a != this && a.mStartingData != null && a.showToCurrentUser()); + showStartingWindow(prev, false /* newTask */, taskSwitch, false /* startActivity */, null); } /** |