diff options
| author | 2024-12-13 07:12:48 -0800 | |
|---|---|---|
| committer | 2024-12-13 07:12:48 -0800 | |
| commit | 5968e1addcab4fd63372613c3d0dcc7edcde03ab (patch) | |
| tree | a57c5c479a967d4af84b5ae7f2f9c1bd37348c67 | |
| parent | 6dbff25f704aa592fbbe9c6e7983417a4da46c67 (diff) | |
| parent | 737f144d6e7a012c7df35c234d8576eff7f231b3 (diff) | |
Merge "VirtualDisplayAdapter remove unnecessary owner uids from map and null check" into main
| -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 1fbb8c48eabd..558afd1da380 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); |