Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 12ac1e6f authored by Jay Shrauner's avatar Jay Shrauner
Browse files

Fix ConcurrentModificationException

Switch from using a HashMap to a ConcurrentHashMap for the loader
results map.

Bug:18688436
Change-Id: Ib90f794b673d88f54fc841c0fa001866139f47c6
parent d8164c78
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -157,6 +157,7 @@ import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

/**
 * Mostly translucent {@link Activity} that shows QuickContact dialog. It loads
@@ -307,7 +308,13 @@ public class QuickContactActivity extends ContactsActivity {
        LOADER_SMS_ID,
        LOADER_CALENDAR_ID,
        LOADER_CALL_LOG_ID};
    private Map<Integer, List<ContactInteraction>> mRecentLoaderResults = new HashMap<>();
    /**
     * ConcurrentHashMap constructor params: 4 is initial table size, 0.9f is
     * load factor before resizing, 1 means we only expect a single thread to
     * write to the map so make only a single shard
     */
    private Map<Integer, List<ContactInteraction>> mRecentLoaderResults =
        new ConcurrentHashMap<>(4, 0.9f, 1);

    private static final String FRAGMENT_TAG_SELECT_ACCOUNT = "select_account_fragment";