Merge "Fix a concurrent modification exception in Slice provider." into pi-dev am: 350c5b3c40
am: b8b9e69a94

Change-Id: I7827b526be72fb2678d7bb662e6c13f722a8aaa9
diff --git a/src/com/android/settings/slices/SettingsSliceProvider.java b/src/com/android/settings/slices/SettingsSliceProvider.java
index e680176..71a3828 100644
--- a/src/com/android/settings/slices/SettingsSliceProvider.java
+++ b/src/com/android/settings/slices/SettingsSliceProvider.java
@@ -32,7 +32,6 @@
 import android.provider.SettingsSlicesContract;
 import androidx.core.graphics.drawable.IconCompat;
 import android.text.TextUtils;
-import android.util.ArrayMap;
 import android.util.Log;
 import android.util.Pair;
 
@@ -45,6 +44,7 @@
 import java.util.List;
 import java.util.Map;
 import java.util.WeakHashMap;
+import java.util.concurrent.ConcurrentHashMap;
 
 import androidx.slice.Slice;
 import androidx.slice.SliceProvider;
@@ -116,6 +116,7 @@
 
     @VisibleForTesting
     Map<Uri, SliceData> mSliceWeakDataCache;
+    @VisibleForTesting
     Map<Uri, SliceData> mSliceDataCache;
 
     public SettingsSliceProvider() {
@@ -125,7 +126,7 @@
     @Override
     public boolean onCreateSliceProvider() {
         mSlicesDatabaseAccessor = new SlicesDatabaseAccessor(getContext());
-        mSliceDataCache = new ArrayMap<>();
+        mSliceDataCache = new ConcurrentHashMap<>();
         mSliceWeakDataCache = new WeakHashMap<>();
         return true;
     }