Merge "Fix concurrent modification exception in KeepaliveTracker"

am: 7da0d7f02e

Change-Id: Ibd23240fdf8fb56b4216e2482152f605374f76db
This commit is contained in:
Junyu Lai
2019-05-13 03:39:29 -07:00
committed by android-build-merger

View File

@@ -462,9 +462,10 @@ public class KeepaliveTracker {
} }
public void handleStopAllKeepalives(NetworkAgentInfo nai, int reason) { public void handleStopAllKeepalives(NetworkAgentInfo nai, int reason) {
HashMap <Integer, KeepaliveInfo> networkKeepalives = mKeepalives.get(nai); final HashMap<Integer, KeepaliveInfo> networkKeepalives = mKeepalives.get(nai);
if (networkKeepalives != null) { if (networkKeepalives != null) {
for (KeepaliveInfo ki : networkKeepalives.values()) { final ArrayList<KeepaliveInfo> kalist = new ArrayList(networkKeepalives.values());
for (KeepaliveInfo ki : kalist) {
ki.stop(reason); ki.stop(reason);
// Clean up keepalives since the network agent is disconnected and unable to pass // Clean up keepalives since the network agent is disconnected and unable to pass
// back asynchronous result of stop(). // back asynchronous result of stop().