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

Commit b59e2ea4 authored by Jack Yu's avatar Jack Yu
Browse files

Fixed the concurrent modified exception

The static map could be accessed by multiple threads. Changed
to a thread-safe map.

Fix: 197776892
Test: Manual
Change-Id: Ife1624c2f8fb02421ffeebfd6749d12bff7d8d68
parent aadf244e
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -37,9 +37,7 @@ import android.telephony.AnomalyReporter;
import android.telephony.NetworkRegistrationInfo;
import android.telephony.ServiceState;
import android.telephony.TelephonyManager;
import android.telephony.data.NrQosSessionAttributes;
import android.telephony.data.QosBearerSession;
import android.util.ArrayMap;
import android.util.LocalLog;
import android.util.SparseArray;

@@ -59,6 +57,7 @@ import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.UUID;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.Executor;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
@@ -95,7 +94,7 @@ public class DcNetworkAgent extends NetworkAgent {
    private final LocalLog mNetCapsLocalLog = new LocalLog(50);

    // For interface duplicate detection. Key is the net id, value is the interface name in string.
    private static Map<Integer, String> sInterfaceNames = new ArrayMap<>();
    private static Map<Integer, String> sInterfaceNames = new ConcurrentHashMap<>();

    private static final long NETWORK_UNWANTED_ANOMALY_WINDOW_MS = TimeUnit.MINUTES.toMillis(5);
    private static final int NETWORK_UNWANTED_ANOMALY_NUM_OCCURRENCES =  12;