diff options
| author | 2024-12-11 14:56:56 +0000 | |
|---|---|---|
| committer | 2024-12-12 12:25:21 +0000 | |
| commit | 737f144d6e7a012c7df35c234d8576eff7f231b3 (patch) | |
| tree | 0575d9f7d6b30b7b343dfc758d5c0c3e51626f03 | |
| parent | 3fd36128053550ed94fa13d7587e6c0a84b9dfee (diff) | |
VirtualDisplayAdapter remove unnecessary owner uids from map and null check
Bug: 261791612
Bug: 383400124
Flag: com.android.server.display.feature.flags.virtual_display_limit
Test: atest VirtualDisplayAdapterTest
Test: atest CtsInputTestCases:android.input.cts.PointerIconTest
Change-Id: I416141a700aed2aa06df003b15356172566d1152
| -rw-r--r-- | services/core/java/com/android/server/display/VirtualDisplayAdapter.java | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/services/core/java/com/android/server/display/VirtualDisplayAdapter.java b/services/core/java/com/android/server/display/VirtualDisplayAdapter.java index f14e452ab8d3..0bd67a826460 100644 --- a/services/core/java/com/android/server/display/VirtualDisplayAdapter.java +++ b/services/core/java/com/android/server/display/VirtualDisplayAdapter.java @@ -307,13 +307,14 @@ public class VirtualDisplayAdapter extends DisplayAdapter { private VirtualDisplayDevice removeVirtualDisplayDeviceLocked(IBinder appToken) { if (getFeatureFlags().isVirtualDisplayLimitEnabled()) { - int ownerUid = mOwnerUids.get(appToken); - int noOfDevices = mNoOfDevicesPerPackage.get(ownerUid, /* valueIfKeyNotFound= */ 0); - if (noOfDevices <= 1) { - mNoOfDevicesPerPackage.delete(ownerUid); - mOwnerUids.remove(appToken); - } else { - mNoOfDevicesPerPackage.put(ownerUid, noOfDevices - 1); + Integer ownerUid = mOwnerUids.remove(appToken); + if (ownerUid != null) { + int noOfDevices = mNoOfDevicesPerPackage.get(ownerUid, /* valueIfKeyNotFound= */ 0); + if (noOfDevices <= 1) { + mNoOfDevicesPerPackage.delete(ownerUid); + } else { + mNoOfDevicesPerPackage.put(ownerUid, noOfDevices - 1); + } } } return mVirtualDisplayDevices.remove(appToken); |