From 5d05c4b9d1e60f60f620a363760574b021c963d6 Mon Sep 17 00:00:00 2001 From: Chalard Jean Date: Thu, 24 Aug 2023 15:43:33 +0900 Subject: [PATCH] Execute netd callbacks on CS handler thread Test: TH Bug: 293965195 Change-Id: I178a9904d2ee090ed1fb487c061226909cbde1d6 --- .../com/android/server/ConnectivityService.java | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/service/src/com/android/server/ConnectivityService.java b/service/src/com/android/server/ConnectivityService.java index a29f47f312..d5d7b5a019 100755 --- a/service/src/com/android/server/ConnectivityService.java +++ b/service/src/com/android/server/ConnectivityService.java @@ -318,7 +318,6 @@ import java.io.IOException; import java.io.InterruptedIOException; import java.io.PrintWriter; import java.io.Writer; -import java.lang.IllegalArgumentException; import java.net.Inet4Address; import java.net.InetAddress; import java.net.InetSocketAddress; @@ -11108,16 +11107,20 @@ public class ConnectivityService extends IConnectivityManager.Stub @Override public void onInterfaceLinkStateChanged(@NonNull String iface, boolean up) { - for (NetworkAgentInfo nai : mNetworkAgentInfos) { - nai.clatd.interfaceLinkStateChanged(iface, up); - } + mHandler.post(() -> { + for (NetworkAgentInfo nai : mNetworkAgentInfos) { + nai.clatd.interfaceLinkStateChanged(iface, up); + } + }); } @Override public void onInterfaceRemoved(@NonNull String iface) { - for (NetworkAgentInfo nai : mNetworkAgentInfos) { - nai.clatd.interfaceRemoved(iface); - } + mHandler.post(() -> { + for (NetworkAgentInfo nai : mNetworkAgentInfos) { + nai.clatd.interfaceRemoved(iface); + } + }); } }