From b9313098a80e09ce88299c42298599bb518ca39f Mon Sep 17 00:00:00 2001 From: Nate Myren Date: Fri, 28 Feb 2025 16:03:14 -0800 Subject: 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 --- service/java/com/android/ecm/EnhancedConfirmationService.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'service') 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> mTrustedPackageCertDigests; private Map> mTrustedInstallerCertDigests; - // A map of call ID to call type. Not thread safe - private final Map 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 mOngoingCalls = new ConcurrentHashMap<>(); private static final int CALL_TYPE_UNTRUSTED = 0; private static final int CALL_TYPE_TRUSTED = 1; -- cgit v1.2.3-59-g8ed1b