diff options
| author | 2021-02-22 16:16:33 +0800 | |
|---|---|---|
| committer | 2021-02-22 16:16:33 +0800 | |
| commit | fd6a81c1266466730ee6b6f7c50f5111fd35a15c (patch) | |
| tree | 0329148c44c949780bf9aebfc2198d868fbfc7a1 | |
| parent | c1d7c4d6ab76715d928b487dc40a552f74ebfdb6 (diff) | |
Make singleTop activity be created with different display
If an instance of the activity already exists at the top of the
current task, the system routes the intent to that instance,
rather than creating a new instance of the activity. The top
task is examined from the global focused stack.
This CL checks the existing singleTop instance just from the
launching display.
Bug: 175098384
Test: atest ActivityStarterTests
atest IntentTests
atest MultiDisplayActivityLaunchTests
Change-Id: Ia0ffe6b8de6bcae738e273b998fd275e70d741cc
| -rw-r--r-- | services/core/java/com/android/server/wm/ActivityStarter.java | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/wm/ActivityStarter.java b/services/core/java/com/android/server/wm/ActivityStarter.java index 37fda4ce217a..a5089face321 100644 --- a/services/core/java/com/android/server/wm/ActivityStarter.java +++ b/services/core/java/com/android/server/wm/ActivityStarter.java @@ -1708,7 +1708,7 @@ class ActivityStarter { // If the activity being launched is the same as the one currently at the top, then // we need to check if it should only be launched once. - final Task topRootTask = mRootWindowContainer.getTopDisplayFocusedRootTask(); + final Task topRootTask = mPreferredTaskDisplayArea.getFocusedRootTask(); if (topRootTask != null) { startResult = deliverToCurrentTopIfNeeded(topRootTask, intentGrants); if (startResult != START_SUCCESS) { |