Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cad1071c authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Use mLastReportedPictureInPictureMode to check PiP state." into main

parents 3efa2b0d 843a6f8d
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -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 =
+7 −7
Original line number Diff line number Diff line
@@ -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);
@@ -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);
@@ -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;
@@ -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);