summaryrefslogtreecommitdiff
path: root/service
diff options
context:
space:
mode:
author Nate Myren <ntmyren@google.com> 2025-02-28 16:03:14 -0800
committer Nate Myren <ntmyren@google.com> 2025-02-28 16:03:14 -0800
commitb9313098a80e09ce88299c42298599bb518ca39f (patch)
tree62ddf7902fe0b35579ef607216e7dbe694f45d40 /service
parent6530a687c086d05a99a9ec4a9492066e6f7bf8e4 (diff)
Make ecm caller map concurrent
Bug: 397055134 Test: atest EnhancedConfirmationInCallTest Flag: EXEMPT followup fix for system server crash Relnote: 25Q2 LOW_COVERAGE_REASON=b/397055134 Change-Id: Iab37527c69e8c3562a856721e5fbd2f19ce0374b
Diffstat (limited to 'service')
-rw-r--r--service/java/com/android/ecm/EnhancedConfirmationService.java6
1 files changed, 4 insertions, 2 deletions
diff --git a/service/java/com/android/ecm/EnhancedConfirmationService.java b/service/java/com/android/ecm/EnhancedConfirmationService.java
index 55db07e30..46eecd69c 100644
--- a/service/java/com/android/ecm/EnhancedConfirmationService.java
+++ b/service/java/com/android/ecm/EnhancedConfirmationService.java
@@ -74,6 +74,7 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
/**
@@ -92,8 +93,9 @@ public class EnhancedConfirmationService extends SystemService {
private Map<String, List<byte[]>> mTrustedPackageCertDigests;
private Map<String, List<byte[]>> mTrustedInstallerCertDigests;
- // A map of call ID to call type. Not thread safe
- private final Map<String, Integer> mOngoingCalls = new ArrayMap<>();
+ // A map of call ID to call type. Thread safe because it is queried on the main thread, but
+ // added/removed on a background thread.
+ private final Map<String, Integer> mOngoingCalls = new ConcurrentHashMap<>();
private static final int CALL_TYPE_UNTRUSTED = 0;
private static final int CALL_TYPE_TRUSTED = 1;