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

Commit f66580ff authored by Ebru Kurnaz's avatar Ebru Kurnaz
Browse files

Update aconfig flag for persisting display size in connected displays

This flag was incorrectly marked as Bug-fix, flag name is updated with this change to create a new workflow.

Flag: com.android.window.flags.enable_persisting_display_size_for_connected_displays
RenamedFlag: com.android.window.flags.enable_persisting_density_scale_for_connected_displays
Test: NA
Bug: 392855657
Change-Id: I9d383f19d6398eeb5c47699768c3ff5b3cd388fd
parent a458b252
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -60,6 +60,8 @@ public enum DesktopExperienceFlags {
    ENABLE_MOVE_TO_NEXT_DISPLAY_SHORTCUT(Flags::enableMoveToNextDisplayShortcut, false),
    ENABLE_MULTIPLE_DESKTOPS_BACKEND(Flags::enableMultipleDesktopsBackend, false),
    ENABLE_MULTIPLE_DESKTOPS_FRONTEND(Flags::enableMultipleDesktopsFrontend, false),
    ENABLE_PERSISTING_DISPLAY_SIZE_FOR_CONNECTED_DISPLAYS(
            Flags::enablePersistingDisplaySizeForConnectedDisplays, false),
    ENABLE_PER_DISPLAY_DESKTOP_WALLPAPER_ACTIVITY(Flags::enablePerDisplayDesktopWallpaperActivity,
            false),
    ENABLE_PER_DISPLAY_PACKAGE_CONTEXT_CACHE_IN_STATUSBAR_NOTIF(
+2 −5
Original line number Diff line number Diff line
@@ -804,13 +804,10 @@ flag {
}

flag {
    name: "enable_persisting_density_scale_for_connected_displays"
    name: "enable_persisting_display_size_for_connected_displays"
    namespace: "lse_desktop_experience"
    description: "Enables persisting density scale on resolution change for connected displays."
    description: "Enables persisting display size on resolution change for connected displays."
    bug: "392855657"
    metadata {
        purpose: PURPOSE_BUGFIX
    }
}

flag {
+3 −3
Original line number Diff line number Diff line
@@ -156,7 +156,6 @@ import static com.android.server.wm.utils.DisplayInfoOverrides.WM_OVERRIDE_FIELD
import static com.android.server.wm.utils.DisplayInfoOverrides.copyDisplayInfoFields;
import static com.android.server.wm.utils.RegionUtils.forEachRectReverse;
import static com.android.server.wm.utils.RegionUtils.rectListToRegion;
import static com.android.window.flags.Flags.enablePersistingDensityScaleForConnectedDisplays;
import static com.android.window.flags.Flags.enablePresentationForConnectedDisplays;

import android.annotation.IntDef;
@@ -237,6 +236,7 @@ import android.view.WindowManager;
import android.view.WindowManager.DisplayImePolicy;
import android.view.WindowManagerPolicyConstants.PointerEventListener;
import android.view.inputmethod.ImeTracker;
import android.window.DesktopExperienceFlags;
import android.window.DisplayWindowPolicyController;
import android.window.IDisplayAreaOrganizer;
import android.window.ScreenCapture;
@@ -3154,7 +3154,7 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp
            }
        }
        // Update the base density if there is a forced density ratio.
        if (enablePersistingDensityScaleForConnectedDisplays()
        if (DesktopExperienceFlags.ENABLE_PERSISTING_DISPLAY_SIZE_FOR_CONNECTED_DISPLAYS.isTrue()
                && mIsDensityForced && mExternalDisplayForcedDensityRatio != 0.0f) {
            mBaseDisplayDensity = (int)
                    (mInitialDisplayDensity * mExternalDisplayForcedDensityRatio + 0.5);
@@ -3189,7 +3189,7 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp
            density = 0;
        }
        // Save the new density ratio to settings for external displays.
        if (enablePersistingDensityScaleForConnectedDisplays()
        if (DesktopExperienceFlags.ENABLE_PERSISTING_DISPLAY_SIZE_FOR_CONNECTED_DISPLAYS.isTrue()
                && mDisplayInfo.type == TYPE_EXTERNAL) {
            mExternalDisplayForcedDensityRatio = (float)
                    mBaseDisplayDensity / getInitialDisplayDensity();
+3 −3
Original line number Diff line number Diff line
@@ -87,7 +87,7 @@ import static com.android.server.wm.TransitionSubject.assertThat;
import static com.android.window.flags.Flags.FLAG_ENABLE_CAMERA_COMPAT_FOR_DESKTOP_WINDOWING;
import static com.android.window.flags.Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE;
import static com.android.server.display.feature.flags.Flags.FLAG_ENABLE_DISPLAY_CONTENT_MODE_MANAGEMENT;
import static com.android.window.flags.Flags.FLAG_ENABLE_PERSISTING_DENSITY_SCALE_FOR_CONNECTED_DISPLAYS;
import static com.android.window.flags.Flags.FLAG_ENABLE_PERSISTING_DISPLAY_SIZE_FOR_CONNECTED_DISPLAYS;

import static com.google.common.truth.Truth.assertThat;

@@ -2921,7 +2921,7 @@ public class DisplayContentTests extends WindowTestsBase {
        assertFalse(dc.mWmService.mDisplayWindowSettings.shouldShowSystemDecorsLocked(dc));
    }

    @EnableFlags(FLAG_ENABLE_PERSISTING_DENSITY_SCALE_FOR_CONNECTED_DISPLAYS)
    @EnableFlags(FLAG_ENABLE_PERSISTING_DISPLAY_SIZE_FOR_CONNECTED_DISPLAYS)
    @Test
    public void testForcedDensityRatioSetForExternalDisplays_persistDensityScaleFlagEnabled() {
        final DisplayInfo displayInfo = new DisplayInfo(mDisplayInfo);
@@ -2951,7 +2951,7 @@ public class DisplayContentTests extends WindowTestsBase {
                displayContent.mExternalDisplayForcedDensityRatio, 0.01);
    }

    @EnableFlags(FLAG_ENABLE_PERSISTING_DENSITY_SCALE_FOR_CONNECTED_DISPLAYS)
    @EnableFlags(FLAG_ENABLE_PERSISTING_DISPLAY_SIZE_FOR_CONNECTED_DISPLAYS)
    @Test
    public void testForcedDensityUpdateForExternalDisplays_persistDensityScaleFlagEnabled() {
        final DisplayInfo displayInfo = new DisplayInfo(mDisplayInfo);
+1 −1
Original line number Diff line number Diff line
@@ -274,7 +274,7 @@ public class DisplayWindowSettingsTests extends WindowTestsBase {
                mSecondaryDisplay.mBaseDisplayDensity);
    }

    @EnableFlags(Flags.FLAG_ENABLE_PERSISTING_DENSITY_SCALE_FOR_CONNECTED_DISPLAYS)
    @EnableFlags(Flags.FLAG_ENABLE_PERSISTING_DISPLAY_SIZE_FOR_CONNECTED_DISPLAYS)
    @Test
    public void testSetForcedDensityRatio() {
        mDisplayWindowSettings.setForcedDensity(mSecondaryDisplay.getDisplayInfo(),