From 1b7ae75c11fc9a6657caef56290b7ec33cf0ed52 Mon Sep 17 00:00:00 2001 From: Chiachang Wang Date: Mon, 26 Oct 2020 15:12:12 +0800 Subject: [PATCH 1/2] Replace hidden NMS default network configuration API Replace the hidden setDefaultNetId and clearDefaultNetId NMS APIs with accessing INetd directly for the incoming ConnectivityService mainline. Bug: 170598012 Test: atest FrameworksNetTests Test: manually connect and disconnect wifi Change-Id: I162fae5ca444207a037e5ac4bf8fa0a77a648ca1 --- .../com/android/server/ConnectivityService.java | 6 +++--- .../android/server/ConnectivityServiceTest.java | 14 +++++++------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index 1ba157c5c4..0d1d2f7d4a 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -6708,11 +6708,11 @@ public class ConnectivityService extends IConnectivityManager.Stub try { if (null != newNetwork) { - mNMS.setDefaultNetId(newNetwork.network.netId); + mNetd.networkSetDefault(newNetwork.network.netId); } else { - mNMS.clearDefaultNetId(); + mNetd.networkClearDefault(); } - } catch (Exception e) { + } catch (RemoteException | ServiceSpecificException e) { loge("Exception setting default network :" + e); } diff --git a/tests/net/java/com/android/server/ConnectivityServiceTest.java b/tests/net/java/com/android/server/ConnectivityServiceTest.java index 0ab631bbb6..75ab128a37 100644 --- a/tests/net/java/com/android/server/ConnectivityServiceTest.java +++ b/tests/net/java/com/android/server/ConnectivityServiceTest.java @@ -6021,23 +6021,23 @@ public class ConnectivityServiceTest { mCellNetworkAgent = new TestNetworkAgentWrapper(TRANSPORT_CELLULAR); mCellNetworkAgent.connect(true); trustedCallback.expectAvailableThenValidatedCallbacks(mCellNetworkAgent); - verify(mNetworkManagementService).setDefaultNetId(eq(mCellNetworkAgent.getNetwork().netId)); - reset(mNetworkManagementService); + verify(mMockNetd).networkSetDefault(eq(mCellNetworkAgent.getNetwork().netId)); + reset(mMockNetd); mWiFiNetworkAgent = new TestNetworkAgentWrapper(TRANSPORT_WIFI); mWiFiNetworkAgent.connect(true); trustedCallback.expectAvailableDoubleValidatedCallbacks(mWiFiNetworkAgent); - verify(mNetworkManagementService).setDefaultNetId(eq(mWiFiNetworkAgent.getNetwork().netId)); - reset(mNetworkManagementService); + verify(mMockNetd).networkSetDefault(eq(mWiFiNetworkAgent.getNetwork().netId)); + reset(mMockNetd); mWiFiNetworkAgent.removeCapability(NET_CAPABILITY_TRUSTED); trustedCallback.expectAvailableCallbacksValidated(mCellNetworkAgent); - verify(mNetworkManagementService).setDefaultNetId(eq(mCellNetworkAgent.getNetwork().netId)); - reset(mNetworkManagementService); + verify(mMockNetd).networkSetDefault(eq(mCellNetworkAgent.getNetwork().netId)); + reset(mMockNetd); mCellNetworkAgent.removeCapability(NET_CAPABILITY_TRUSTED); trustedCallback.expectCallback(CallbackEntry.LOST, mCellNetworkAgent); - verify(mNetworkManagementService).clearDefaultNetId(); + verify(mMockNetd).networkClearDefault(); mCm.unregisterNetworkCallback(trustedCallback); } From 6d5c0e714bed41cd07964e425bd8c8645192d461 Mon Sep 17 00:00:00 2001 From: Chiachang Wang Date: Mon, 26 Oct 2020 17:13:09 +0800 Subject: [PATCH 2/2] Replace hidden NMS API for setting MTU Replace the hidden NMS setMtu API with calling INetd directly for incoming ConnectivityService mainline. Bug: 170598012 Test: atest FrameworksNetTests Test: manually connect and disconnect network Change-Id: I6a51d8033b3354824d4cfb953c2bbe3055d00102 --- .../core/java/com/android/server/ConnectivityService.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index 0d1d2f7d4a..3291e96f4d 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -2437,9 +2437,9 @@ public class ConnectivityService extends IConnectivityManager.Stub try { if (VDBG || DDBG) log("Setting MTU size: " + iface + ", " + mtu); - mNMS.setMtu(iface, mtu); - } catch (Exception e) { - Slog.e(TAG, "exception in setMtu()" + e); + mNetd.interfaceSetMtu(iface, mtu); + } catch (RemoteException | ServiceSpecificException e) { + Slog.e(TAG, "exception in interfaceSetMtu()" + e); } }