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

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

Merge "Remove virtual_display_limit flag" into main

parents 0d16e041 7fea5807
Loading
Loading
Loading
Loading
+11 −17
Original line number Diff line number Diff line
@@ -165,16 +165,14 @@ public class VirtualDisplayAdapter extends DisplayAdapter {
            return null;
        }

        if (getFeatureFlags().isVirtualDisplayLimitEnabled()
                && mVirtualDisplayDevices.size() >= mMaxDevices) {
        if (mVirtualDisplayDevices.size() >= mMaxDevices) {
            Slog.w(TAG, "Rejecting request to create private virtual display because "
                    + mMaxDevices + " devices already exist.");
            return null;
        }

        int noOfDevices = mNoOfDevicesPerPackage.get(ownerUid, /* valueIfKeyNotFound= */ 0);
        if (getFeatureFlags().isVirtualDisplayLimitEnabled()
                && noOfDevices >= mMaxDevicesPerPackage) {
        if (noOfDevices >= mMaxDevicesPerPackage) {
            Slog.w(TAG, "Rejecting request to create private virtual display because "
                    + mMaxDevicesPerPackage + " devices already exist for package "
                    + ownerPackageName + ".");
@@ -202,10 +200,8 @@ public class VirtualDisplayAdapter extends DisplayAdapter {
                projection, mediaProjectionCallback, uniqueId, virtualDisplayConfig);

        mVirtualDisplayDevices.put(appToken, device);
        if (getFeatureFlags().isVirtualDisplayLimitEnabled()) {
        mNoOfDevicesPerPackage.put(ownerUid, noOfDevices + 1);
        mOwnerUids.put(appToken, ownerUid);
        }

        try {
            if (projection != null) {
@@ -309,7 +305,6 @@ public class VirtualDisplayAdapter extends DisplayAdapter {
    }

    private VirtualDisplayDevice removeVirtualDisplayDeviceLocked(IBinder appToken) {
        if (getFeatureFlags().isVirtualDisplayLimitEnabled()) {
        Integer ownerUid = mOwnerUids.remove(appToken);
        if (ownerUid != null) {
            int noOfDevices = mNoOfDevicesPerPackage.get(ownerUid, /* valueIfKeyNotFound= */ 0);
@@ -319,7 +314,6 @@ public class VirtualDisplayAdapter extends DisplayAdapter {
                mNoOfDevicesPerPackage.put(ownerUid, noOfDevices - 1);
            }
        }
        }
        return mVirtualDisplayDevices.remove(appToken);
    }

+0 −10
Original line number Diff line number Diff line
@@ -165,11 +165,6 @@ public class DisplayManagerFlags {
            Flags.FLAG_OFFLOAD_SESSION_CANCEL_BLOCK_SCREEN_ON,
            Flags::offloadSessionCancelBlockScreenOn);

    private final FlagState mVirtualDisplayLimit =
            new FlagState(
                    Flags.FLAG_VIRTUAL_DISPLAY_LIMIT,
                    Flags::virtualDisplayLimit);

    private final FlagState mNormalBrightnessForDozeParameter = new FlagState(
            Flags.FLAG_NORMAL_BRIGHTNESS_FOR_DOZE_PARAMETER,
            Flags::normalBrightnessForDozeParameter
@@ -442,10 +437,6 @@ public class DisplayManagerFlags {
        return mSynthetic60hzModes.isEnabled();
    }

    public boolean isVirtualDisplayLimitEnabled() {
        return mVirtualDisplayLimit.isEnabled();
    }

    /**
     * @return Whether the useDozeBrightness parameter should be used
     */
@@ -625,7 +616,6 @@ public class DisplayManagerFlags {
        pw.println(" " + mIgnoreAppPreferredRefreshRate);
        pw.println(" " + mSynthetic60hzModes);
        pw.println(" " + mOffloadSessionCancelBlockScreenOn);
        pw.println(" " + mVirtualDisplayLimit);
        pw.println(" " + mNormalBrightnessForDozeParameter);
        pw.println(" " + mEnableBatteryStatsForAllDisplays);
        pw.println(" " + mBlockAutobrightnessChangesOnStylusUsage);
+0 −8
Original line number Diff line number Diff line
@@ -260,14 +260,6 @@ flag {
    is_fixed_read_only: true
}

flag {
    name: "virtual_display_limit"
    namespace: "display_manager"
    description: "Limit the number of virtual displays that can be created."
    bug: "261791612"
    is_fixed_read_only: true
}

flag {
    name: "enable_battery_stats_for_all_displays"
    namespace: "display_manager"
+0 −25
Original line number Diff line number Diff line
@@ -239,32 +239,8 @@ public class VirtualDisplayAdapterTest {
        assertNull(result);
    }

    @Test
    public void testCreateManyVirtualDisplays_LimitFlagDisabled() {
        when(mFeatureFlags.isVirtualDisplayLimitEnabled()).thenReturn(false);

        // Displays for the same package
        for (int i = 0; i < MAX_DEVICES_PER_PACKAGE * 2; i++) {
            IVirtualDisplayCallback callback = createCallback();
            DisplayDevice device = mAdapter.createVirtualDisplayLocked(callback,
                    mMediaProjectionMock, 1234, "test.package", "123",
                    mSurfaceMock, /* flags= */ 0, mVirtualDisplayConfigMock);
            assertNotNull(device);
        }

        // Displays for different packages
        for (int i = 0; i < MAX_DEVICES * 2; i++) {
            IVirtualDisplayCallback callback = createCallback();
            DisplayDevice device = mAdapter.createVirtualDisplayLocked(callback,
                    mMediaProjectionMock, 1234 + i, "test.package", "123",
                    mSurfaceMock, /* flags= */ 0, mVirtualDisplayConfigMock);
            assertNotNull(device);
        }
    }

    @Test
    public void testCreateVirtualDisplay_MaxDisplaysPerPackage() {
        when(mFeatureFlags.isVirtualDisplayLimitEnabled()).thenReturn(true);
        List<IVirtualDisplayCallback> callbacks = new ArrayList<>();
        int ownerUid = 1234;

@@ -335,7 +311,6 @@ public class VirtualDisplayAdapterTest {

    @Test
    public void testCreateVirtualDisplay_MaxDisplays() {
        when(mFeatureFlags.isVirtualDisplayLimitEnabled()).thenReturn(true);
        List<IVirtualDisplayCallback> callbacks = new ArrayList<>();
        int firstOwnerUid = 1000;