Loading services/core/java/com/android/server/display/VirtualDisplayAdapter.java +11 −17 Original line number Diff line number Diff line Loading @@ -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 + "."); Loading Loading @@ -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) { Loading Loading @@ -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); Loading @@ -319,7 +314,6 @@ public class VirtualDisplayAdapter extends DisplayAdapter { mNoOfDevicesPerPackage.put(ownerUid, noOfDevices - 1); } } } return mVirtualDisplayDevices.remove(appToken); } Loading services/core/java/com/android/server/display/feature/DisplayManagerFlags.java +0 −10 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -442,10 +437,6 @@ public class DisplayManagerFlags { return mSynthetic60hzModes.isEnabled(); } public boolean isVirtualDisplayLimitEnabled() { return mVirtualDisplayLimit.isEnabled(); } /** * @return Whether the useDozeBrightness parameter should be used */ Loading Loading @@ -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); Loading services/core/java/com/android/server/display/feature/display_flags.aconfig +0 −8 Original line number Diff line number Diff line Loading @@ -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" Loading services/tests/displayservicetests/src/com/android/server/display/VirtualDisplayAdapterTest.java +0 −25 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; Loading Loading
services/core/java/com/android/server/display/VirtualDisplayAdapter.java +11 −17 Original line number Diff line number Diff line Loading @@ -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 + "."); Loading Loading @@ -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) { Loading Loading @@ -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); Loading @@ -319,7 +314,6 @@ public class VirtualDisplayAdapter extends DisplayAdapter { mNoOfDevicesPerPackage.put(ownerUid, noOfDevices - 1); } } } return mVirtualDisplayDevices.remove(appToken); } Loading
services/core/java/com/android/server/display/feature/DisplayManagerFlags.java +0 −10 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -442,10 +437,6 @@ public class DisplayManagerFlags { return mSynthetic60hzModes.isEnabled(); } public boolean isVirtualDisplayLimitEnabled() { return mVirtualDisplayLimit.isEnabled(); } /** * @return Whether the useDozeBrightness parameter should be used */ Loading Loading @@ -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); Loading
services/core/java/com/android/server/display/feature/display_flags.aconfig +0 −8 Original line number Diff line number Diff line Loading @@ -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" Loading
services/tests/displayservicetests/src/com/android/server/display/VirtualDisplayAdapterTest.java +0 −25 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; Loading