From 1abe20f6eedacd426b25bcbb413c16f516a60255 Mon Sep 17 00:00:00 2001 From: Wangkeun Oh Date: Wed, 20 Jan 2021 11:04:46 +0900 Subject: [PATCH] Split networkDestroy() and destroyNetworkCache() When an exception occurs while executing networkDestroy(), destroyNetworkCache() is not executed and destroyNativeNetwork() is terminated. Eventually, this leads to the problem of netid not being properly organized. It makes UE not able to send/receive MMS or use the internet until rebooting. Test: Build Pass, make force exception manually Signed-off-by: Wangkeun Oh Change-Id: I3dea967948ebda7b1c1f601c8ffa6e736b666c4c --- .../core/java/com/android/server/ConnectivityService.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index d67850c33f..31cc86e93a 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -3531,6 +3531,10 @@ public class ConnectivityService extends IConnectivityManager.Stub private void destroyNativeNetwork(@NonNull NetworkAgentInfo networkAgent) { try { mNetd.networkDestroy(networkAgent.network.getNetId()); + } catch (RemoteException | ServiceSpecificException e) { + loge("Exception destroying network(networkDestroy): " + e); + } + try { mDnsResolver.destroyNetworkCache(networkAgent.network.getNetId()); } catch (RemoteException | ServiceSpecificException e) { loge("Exception destroying network: " + e);