From 60adc5cfd0bbac19e687feaa50cfe52fff4e88d7 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 d67850c33f5fd..31cc86e93a4b5 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);