summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author wilsonshih <wilsonshih@google.com> 2023-08-23 05:39:57 +0000
committer wilsonshih <wilsonshih@google.com> 2023-08-23 09:12:26 +0000
commit2786203fc598e52c5bd2cbc74d0e8923404cd1cb (patch)
tree360a300e93aebf8a7ea25e83a6b4cce04cb8f996
parent8880dfea26f24d2bca142eb4c4d6e9452fc1e12e (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.java6
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);
}
/**