Fix a concurrent modification exception in Slice provider.

Change-Id: I87449dda9a56b5e8932dc4c6bec462195cb89348
Fixes: 79372493
Test: monkey
diff --git a/src/com/android/settings/slices/SettingsSliceProvider.java b/src/com/android/settings/slices/SettingsSliceProvider.java
index 55ad6b0..6d6c0ec 100644
--- a/src/com/android/settings/slices/SettingsSliceProvider.java
+++ b/src/com/android/settings/slices/SettingsSliceProvider.java
@@ -32,7 +32,6 @@
 import android.support.annotation.VisibleForTesting;
 import android.support.v4.graphics.drawable.IconCompat;
 import android.text.TextUtils;
-import android.util.ArrayMap;
 import android.util.Log;
 import android.util.Pair;
 
@@ -42,10 +41,10 @@
 import java.net.URISyntaxException;
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.HashMap;
 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;
@@ -117,6 +116,7 @@
 
     @VisibleForTesting
     Map<Uri, SliceData> mSliceWeakDataCache;
+    @VisibleForTesting
     Map<Uri, SliceData> mSliceDataCache;
 
     public SettingsSliceProvider() {
@@ -126,7 +126,7 @@
     @Override
     public boolean onCreateSliceProvider() {
         mSlicesDatabaseAccessor = new SlicesDatabaseAccessor(getContext());
-        mSliceDataCache = new ArrayMap<>();
+        mSliceDataCache = new ConcurrentHashMap<>();
         mSliceWeakDataCache = new WeakHashMap<>();
         return true;
     }