From e99aa99954832ef086d86bc2f2890abce87180e4 Mon Sep 17 00:00:00 2001 From: Louis Chang Date: Thu, 8 Apr 2021 18:07:45 +0800 Subject: [PATCH] Make sure activity is started in requested windowing mode An existing activity was brought to front, but was not launched in requested windowing mode because the task was simply reused without updating to the preferred windowing mode. Bug: 177190100 Test: atest WindowMetricsActivityTests#testMetricsMatchesDisplayAreaOnFreeformActivity Change-Id: I43884c3297995e536e91a81bbb0c290da7aace1c --- .../core/java/com/android/server/wm/ActivityStarter.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/services/core/java/com/android/server/wm/ActivityStarter.java b/services/core/java/com/android/server/wm/ActivityStarter.java index aa1f42ecd853b..75a188ed86a25 100644 --- a/services/core/java/com/android/server/wm/ActivityStarter.java +++ b/services/core/java/com/android/server/wm/ActivityStarter.java @@ -2633,6 +2633,12 @@ class ActivityStarter { mOptions = null; } } + + if (mPreferredWindowingMode != WINDOWING_MODE_UNDEFINED + && intentTask.getWindowingMode() != mPreferredWindowingMode) { + intentTask.setWindowingMode(mPreferredWindowingMode); + } + // Need to update mTargetRootTask because if task was moved out of it, the original root // task may be destroyed. mTargetRootTask = intentActivity.getRootTask();