Loading services/core/java/com/android/server/wm/ActivityRecord.java +4 −3 Original line number Diff line number Diff line Loading @@ -7604,9 +7604,10 @@ final class ActivityRecord extends WindowToken { requestedOverrideConfig.assetsSeq = ASSETS_SEQ_UNDEFINED; } if (ENABLE_DRAGGING_PIP_ACROSS_DISPLAYS.isTrue() && inPinnedWindowingMode()) { // Retain the following configs for PiP so that the activity doesn't get destroyed and // recreated on display transfer while still remaining in PiP. if (ENABLE_DRAGGING_PIP_ACROSS_DISPLAYS.isTrue() && mLastReportedPictureInPictureMode) { // If the previously resolved full config of the activity is in PiP, retain the // following configs so that the activity doesn't get destroyed and recreated on display // transfer while still remaining in PiP mode. if (newParentConfiguration.windowConfiguration.getWindowingMode() == WINDOWING_MODE_PINNED) { final Configuration lastReportedMergedConfig = Loading services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java +7 −7 Original line number Diff line number Diff line Loading @@ -3607,14 +3607,14 @@ public class ActivityRecordTests extends WindowTestsBase { @Test @EnableFlags(Flags.FLAG_ENABLE_DRAGGING_PIP_ACROSS_DISPLAYS) public void resolveOverrideConfiguration_windowingModePinned_keepsLastReportedConfigs() { public void resolveOverrideConfiguration_inPipMode_keepsLastReportedConfigs() { final ActivityRecord activity = createActivityWithTask(); activity.setWindowingMode(WINDOWING_MODE_PINNED); final Configuration config = new Configuration(); config.touchscreen = TOUCHSCREEN_FINGER; config.densityDpi = 100; config.colorMode = COLOR_MODE_WIDE_COLOR_GAMUT_NO; activity.setLastReportedConfiguration(new Configuration(), config); activity.mLastReportedPictureInPictureMode = true; final Configuration newConfig = new Configuration(); newConfig.windowConfiguration.setWindowingMode(WINDOWING_MODE_PINNED); Loading @@ -3630,15 +3630,15 @@ public class ActivityRecordTests extends WindowTestsBase { @Test @EnableFlags(Flags.FLAG_ENABLE_DRAGGING_PIP_ACROSS_DISPLAYS) public void resolveOverrideConfiguration_pinnedActivityInfoHasConfigs_updatesOverrideConfigs() { public void resolveOverrideConfiguration_pipActivityInfoHasConfigs_updatesOverrideConfigs() { final ActivityRecord activity = createActivityWithTask(); activity.setWindowingMode(WINDOWING_MODE_PINNED); final Configuration config = new Configuration(); config.touchscreen = TOUCHSCREEN_FINGER; config.densityDpi = 100; config.colorMode = COLOR_MODE_WIDE_COLOR_GAMUT_NO; activity.setLastReportedConfiguration(new Configuration(), config); activity.info.configChanges = CONFIG_TOUCHSCREEN | CONFIG_DENSITY | CONFIG_COLOR_MODE; activity.mLastReportedPictureInPictureMode = true; final Configuration newConfig = new Configuration(); newConfig.windowConfiguration.setWindowingMode(WINDOWING_MODE_PINNED); Loading @@ -3655,7 +3655,7 @@ public class ActivityRecordTests extends WindowTestsBase { @Test @EnableFlags(Flags.FLAG_ENABLE_DRAGGING_PIP_ACROSS_DISPLAYS) public void resolveOverrideConfiguration_windowingModeUndefined_updatesOverrideConfigs() { public void resolveOverrideConfiguration_notInPipMode_updatesOverrideConfigs() { final ActivityRecord activity = createActivityWithTask(); final Configuration config = new Configuration(); config.touchscreen = TOUCHSCREEN_FINGER; Loading @@ -3677,14 +3677,14 @@ public class ActivityRecordTests extends WindowTestsBase { @Test @EnableFlags(Flags.FLAG_ENABLE_DRAGGING_PIP_ACROSS_DISPLAYS) public void resolveOverrideConfiguration_inPinnedMode_newConfigFullscreen_updatesConfigs() { public void resolveOverrideConfiguration_inPipMode_newConfigFullscreen_updatesConfigs() { final ActivityRecord activity = createActivityWithTask(); activity.setWindowingMode(WINDOWING_MODE_PINNED); final Configuration config = new Configuration(); config.touchscreen = TOUCHSCREEN_FINGER; config.densityDpi = 100; config.colorMode = COLOR_MODE_WIDE_COLOR_GAMUT_NO; activity.setLastReportedConfiguration(new Configuration(), config); activity.mLastReportedPictureInPictureMode = true; final Configuration newConfig = new Configuration(); newConfig.windowConfiguration.setWindowingMode(WINDOWING_MODE_FULLSCREEN); Loading Loading
services/core/java/com/android/server/wm/ActivityRecord.java +4 −3 Original line number Diff line number Diff line Loading @@ -7604,9 +7604,10 @@ final class ActivityRecord extends WindowToken { requestedOverrideConfig.assetsSeq = ASSETS_SEQ_UNDEFINED; } if (ENABLE_DRAGGING_PIP_ACROSS_DISPLAYS.isTrue() && inPinnedWindowingMode()) { // Retain the following configs for PiP so that the activity doesn't get destroyed and // recreated on display transfer while still remaining in PiP. if (ENABLE_DRAGGING_PIP_ACROSS_DISPLAYS.isTrue() && mLastReportedPictureInPictureMode) { // If the previously resolved full config of the activity is in PiP, retain the // following configs so that the activity doesn't get destroyed and recreated on display // transfer while still remaining in PiP mode. if (newParentConfiguration.windowConfiguration.getWindowingMode() == WINDOWING_MODE_PINNED) { final Configuration lastReportedMergedConfig = Loading
services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java +7 −7 Original line number Diff line number Diff line Loading @@ -3607,14 +3607,14 @@ public class ActivityRecordTests extends WindowTestsBase { @Test @EnableFlags(Flags.FLAG_ENABLE_DRAGGING_PIP_ACROSS_DISPLAYS) public void resolveOverrideConfiguration_windowingModePinned_keepsLastReportedConfigs() { public void resolveOverrideConfiguration_inPipMode_keepsLastReportedConfigs() { final ActivityRecord activity = createActivityWithTask(); activity.setWindowingMode(WINDOWING_MODE_PINNED); final Configuration config = new Configuration(); config.touchscreen = TOUCHSCREEN_FINGER; config.densityDpi = 100; config.colorMode = COLOR_MODE_WIDE_COLOR_GAMUT_NO; activity.setLastReportedConfiguration(new Configuration(), config); activity.mLastReportedPictureInPictureMode = true; final Configuration newConfig = new Configuration(); newConfig.windowConfiguration.setWindowingMode(WINDOWING_MODE_PINNED); Loading @@ -3630,15 +3630,15 @@ public class ActivityRecordTests extends WindowTestsBase { @Test @EnableFlags(Flags.FLAG_ENABLE_DRAGGING_PIP_ACROSS_DISPLAYS) public void resolveOverrideConfiguration_pinnedActivityInfoHasConfigs_updatesOverrideConfigs() { public void resolveOverrideConfiguration_pipActivityInfoHasConfigs_updatesOverrideConfigs() { final ActivityRecord activity = createActivityWithTask(); activity.setWindowingMode(WINDOWING_MODE_PINNED); final Configuration config = new Configuration(); config.touchscreen = TOUCHSCREEN_FINGER; config.densityDpi = 100; config.colorMode = COLOR_MODE_WIDE_COLOR_GAMUT_NO; activity.setLastReportedConfiguration(new Configuration(), config); activity.info.configChanges = CONFIG_TOUCHSCREEN | CONFIG_DENSITY | CONFIG_COLOR_MODE; activity.mLastReportedPictureInPictureMode = true; final Configuration newConfig = new Configuration(); newConfig.windowConfiguration.setWindowingMode(WINDOWING_MODE_PINNED); Loading @@ -3655,7 +3655,7 @@ public class ActivityRecordTests extends WindowTestsBase { @Test @EnableFlags(Flags.FLAG_ENABLE_DRAGGING_PIP_ACROSS_DISPLAYS) public void resolveOverrideConfiguration_windowingModeUndefined_updatesOverrideConfigs() { public void resolveOverrideConfiguration_notInPipMode_updatesOverrideConfigs() { final ActivityRecord activity = createActivityWithTask(); final Configuration config = new Configuration(); config.touchscreen = TOUCHSCREEN_FINGER; Loading @@ -3677,14 +3677,14 @@ public class ActivityRecordTests extends WindowTestsBase { @Test @EnableFlags(Flags.FLAG_ENABLE_DRAGGING_PIP_ACROSS_DISPLAYS) public void resolveOverrideConfiguration_inPinnedMode_newConfigFullscreen_updatesConfigs() { public void resolveOverrideConfiguration_inPipMode_newConfigFullscreen_updatesConfigs() { final ActivityRecord activity = createActivityWithTask(); activity.setWindowingMode(WINDOWING_MODE_PINNED); final Configuration config = new Configuration(); config.touchscreen = TOUCHSCREEN_FINGER; config.densityDpi = 100; config.colorMode = COLOR_MODE_WIDE_COLOR_GAMUT_NO; activity.setLastReportedConfiguration(new Configuration(), config); activity.mLastReportedPictureInPictureMode = true; final Configuration newConfig = new Configuration(); newConfig.windowConfiguration.setWindowingMode(WINDOWING_MODE_FULLSCREEN); Loading