diff --git a/service-t/src/com/android/server/ethernet/EthernetNetworkFactory.java b/service-t/src/com/android/server/ethernet/EthernetNetworkFactory.java index 2823391633..f266386024 100644 --- a/service-t/src/com/android/server/ethernet/EthernetNetworkFactory.java +++ b/service-t/src/com/android/server/ethernet/EthernetNetworkFactory.java @@ -177,12 +177,16 @@ public class EthernetNetworkFactory extends NetworkFactory { return; } + final NetworkCapabilities nc = new NetworkCapabilities.Builder(capabilities) + .setNetworkSpecifier(new EthernetNetworkSpecifier(ifaceName)) + .build(); + if (DBG) { - Log.d(TAG, "addInterface, iface: " + ifaceName + ", capabilities: " + capabilities); + Log.d(TAG, "addInterface, iface: " + ifaceName + ", capabilities: " + nc); } final NetworkInterfaceState iface = new NetworkInterfaceState( - ifaceName, hwAddress, mHandler, mContext, ipConfig, capabilities, this, mDeps); + ifaceName, hwAddress, mHandler, mContext, ipConfig, nc, this, mDeps); mTrackingInterfaces.put(ifaceName, iface); updateCapabilityFilter(); } diff --git a/tests/ethernet/java/com/android/server/ethernet/EthernetNetworkFactoryTest.java b/tests/ethernet/java/com/android/server/ethernet/EthernetNetworkFactoryTest.java index e10497e4e3..6cb13efecf 100644 --- a/tests/ethernet/java/com/android/server/ethernet/EthernetNetworkFactoryTest.java +++ b/tests/ethernet/java/com/android/server/ethernet/EthernetNetworkFactoryTest.java @@ -71,6 +71,7 @@ import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; +import org.mockito.ArgumentCaptor; import org.mockito.Mock; import org.mockito.MockitoAnnotations; @@ -265,8 +266,12 @@ public class EthernetNetworkFactoryTest { triggerOnProvisioningSuccess(); // provisioning succeeded, verify that the network agent is created, registered, marked // as connected and legacy type are correctly set. - verify(mDeps).makeEthernetNetworkAgent(any(), any(), any(), any(), + final ArgumentCaptor ncCaptor = ArgumentCaptor.forClass( + NetworkCapabilities.class); + verify(mDeps).makeEthernetNetworkAgent(any(), any(), ncCaptor.capture(), any(), argThat(x -> x.getLegacyType() == expectedLegacyType), any(), any()); + assertEquals( + new EthernetNetworkSpecifier(iface), ncCaptor.getValue().getNetworkSpecifier()); verifyNetworkAgentRegistersAndConnects(); clearInvocations(mDeps); clearInvocations(mNetworkAgent);