diff options
| author | 2024-06-14 02:24:26 +0000 | |
|---|---|---|
| committer | 2024-06-14 10:45:14 +0000 | |
| commit | 27ce0cd4e232eda2d8bfde4fe8e45ac1cb3bc883 (patch) | |
| tree | 889c9be261439611e512208b53526821c9d13ce8 | |
| parent | eaceceda389e5af31eaa01cef1b04eb0a56a03ac (diff) | |
Launch all activities into the same windowingMode
similar as 7e3fb8e(Launch all activities into the same display)
when multiple activities are launched through a PendingIntent,
all activities need to be launched onto the same windowing mode.
that should be expected by caller, otherwise maybe the last activity is
freeform, others is fullscreen
Bug: 330548232
Change-Id: I188f79ef230cf142fec852fa73e7d422db417541
Test: manual test
Signed-off-by: Shuiqiang Wu <wusq8@motorola.com>
| -rw-r--r-- | services/core/java/com/android/server/wm/SafeActivityOptions.java | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/wm/SafeActivityOptions.java b/services/core/java/com/android/server/wm/SafeActivityOptions.java index 4ced5d524798..41f2ef0cb3f9 100644 --- a/services/core/java/com/android/server/wm/SafeActivityOptions.java +++ b/services/core/java/com/android/server/wm/SafeActivityOptions.java @@ -140,7 +140,9 @@ public class SafeActivityOptions { } private ActivityOptions cloneLaunchingOptions(ActivityOptions options) { - return options == null ? null : ActivityOptions.makeBasic() + if (options == null) return null; + + final ActivityOptions cloneOptions = ActivityOptions.makeBasic() .setLaunchTaskDisplayArea(options.getLaunchTaskDisplayArea()) .setLaunchDisplayId(options.getLaunchDisplayId()) .setCallerDisplayId(options.getCallerDisplayId()) @@ -150,6 +152,8 @@ public class SafeActivityOptions { .setPendingIntentCreatorBackgroundActivityStartMode( options.getPendingIntentCreatorBackgroundActivityStartMode()) .setRemoteTransition(options.getRemoteTransition()); + cloneOptions.setLaunchWindowingMode(options.getLaunchWindowingMode()); + return cloneOptions; } /** |