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

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

Merge "Revert resetting density and configs on exiting PiP." into main

parents 11918b9c 8ee9fe8a
Loading
Loading
Loading
Loading
+17 −23
Original line number Diff line number Diff line
@@ -7592,11 +7592,11 @@ final class ActivityRecord extends WindowToken {
            requestedOverrideConfig.assetsSeq = ASSETS_SEQ_UNDEFINED;
        }

        if (ENABLE_DRAGGING_PIP_ACROSS_DISPLAYS.isTrue() && mLastReportedPictureInPictureMode) {
            // If the previously resolved full config of the activity is in PiP, retain the
        // If the previously resolved full config and new parent 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()
        if (ENABLE_DRAGGING_PIP_ACROSS_DISPLAYS.isTrue() && mLastReportedPictureInPictureMode
                && newParentConfiguration.windowConfiguration.getWindowingMode()
                == WINDOWING_MODE_PINNED) {
            final Configuration lastReportedMergedConfig =
                    mLastReportedConfiguration.getMergedConfiguration();
@@ -7610,12 +7610,6 @@ final class ActivityRecord extends WindowToken {
            if ((configChanges & ActivityInfo.CONFIG_DENSITY) == 0) {
                requestedOverrideConfig.densityDpi = lastReportedMergedConfig.densityDpi;
            }
            } else {
                // Reset the configs if we're exiting PiP mode.
                requestedOverrideConfig.colorMode = Configuration.COLOR_MODE_UNDEFINED;
                requestedOverrideConfig.touchscreen = Configuration.TOUCHSCREEN_UNDEFINED;
                requestedOverrideConfig.densityDpi = Configuration.DENSITY_DPI_UNDEFINED;
            }
        }

        super.resolveOverrideConfiguration(newParentConfiguration);
+0 −26
Original line number Diff line number Diff line
@@ -3642,32 +3642,6 @@ public class ActivityRecordTests extends WindowTestsBase {
                activity.getRequestedOverrideConfiguration().colorMode);
    }

    @Test
    @EnableFlags(Flags.FLAG_ENABLE_DRAGGING_PIP_ACROSS_DISPLAYS)
    public void resolveOverrideConfiguration_inPipMode_newConfigFullscreen_updatesConfigs() {
        final ActivityRecord activity = createActivityWithTask();
        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);
        newConfig.touchscreen = TOUCHSCREEN_NOTOUCH;
        newConfig.densityDpi = 200;
        newConfig.colorMode = COLOR_MODE_WIDE_COLOR_GAMUT_YES;
        activity.resolveOverrideConfiguration(newConfig);

        assertEquals(Configuration.TOUCHSCREEN_UNDEFINED,
                activity.getRequestedOverrideConfiguration().touchscreen);
        assertEquals(Configuration.DENSITY_DPI_UNDEFINED,
                activity.getRequestedOverrideConfiguration().densityDpi);
        assertEquals(Configuration.COLOR_MODE_UNDEFINED,
                activity.getRequestedOverrideConfiguration().colorMode);
    }

    private ActivityRecord setupDisplayAndActivityForCameraCompat(boolean isCameraRunning,
            int windowingMode) {
        doReturn(true).when(() -> DesktopModeHelper.canEnterDesktopMode(any()));