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 <wangkeun.oh@samsung.com>
Change-Id: I3dea967948ebda7b1c1f601c8ffa6e736b666c4c
This commit is contained in:
Wangkeun Oh
2021-01-20 11:04:46 +09:00
parent d806079674
commit 1abe20f6ee

View File

@@ -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);