From d656849e91d1458a755554720b8ae4d0b9a5598f Mon Sep 17 00:00:00 2001 From: Nathan Harold Date: Mon, 27 Feb 2023 18:37:04 -0800 Subject: [PATCH] Use Concurrent HashMaps for Callback Registration Update callback registration and deregistration to be thread safe. Bug: 260089133 Test: atest TelephonyRegistryManagerTest Change-Id: I9c9d614f883243e8c4efb2961289130cae7fe3b9 --- .../android/telephony/TelephonyRegistryManager.java | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/core/java/android/telephony/TelephonyRegistryManager.java b/core/java/android/telephony/TelephonyRegistryManager.java index f648ad4fbac35..434b1c76113ff 100644 --- a/core/java/android/telephony/TelephonyRegistryManager.java +++ b/core/java/android/telephony/TelephonyRegistryManager.java @@ -53,9 +53,7 @@ import com.android.internal.telephony.ITelephonyRegistry; import java.lang.ref.WeakReference; import java.util.Arrays; -import java.util.HashMap; import java.util.List; -import java.util.Map; import java.util.Objects; import java.util.Set; import java.util.WeakHashMap; @@ -83,15 +81,16 @@ public class TelephonyRegistryManager { * A mapping between {@link SubscriptionManager.OnSubscriptionsChangedListener} and * its callback IOnSubscriptionsChangedListener. */ - private final Map mSubscriptionChangedListenerMap = new HashMap<>(); + private final ConcurrentHashMap + mSubscriptionChangedListenerMap = new ConcurrentHashMap<>(); /** * A mapping between {@link SubscriptionManager.OnOpportunisticSubscriptionsChangedListener} and * its callback IOnSubscriptionsChangedListener. */ - private final Map mOpportunisticSubscriptionChangedListenerMap - = new HashMap<>(); + private final ConcurrentHashMap + mOpportunisticSubscriptionChangedListenerMap = new ConcurrentHashMap<>(); /** * A mapping between {@link CarrierConfigManager.CarrierConfigChangeListener} and its callback