Add support for Nullable IpConfiguration

Test: atest EthernetServiceTests
Change-Id: I6b415ffb2f5825a9dffda1366b60c1e0d26f4e64
This commit is contained in:
Patrick Rohr
2022-03-14 17:30:18 +01:00
parent 81f0f74e65
commit 40b3ff8cff
4 changed files with 52 additions and 7 deletions

View File

@@ -233,7 +233,8 @@ public class EthernetNetworkFactory extends NetworkFactory {
* Update a network's configuration and restart it if necessary.
*
* @param ifaceName the interface name of the network to be updated.
* @param ipConfig the desired {@link IpConfiguration} for the given network.
* @param ipConfig the desired {@link IpConfiguration} for the given network or null. If
* {@code null} is passed, the existing IpConfiguration is not updated.
* @param capabilities the desired {@link NetworkCapabilities} for the given network. If
* {@code null} is passed, then the network's current
* {@link NetworkCapabilities} will be used in support of existing APIs as
@@ -243,7 +244,7 @@ public class EthernetNetworkFactory extends NetworkFactory {
*/
@VisibleForTesting(visibility = VisibleForTesting.Visibility.PACKAGE)
protected void updateInterface(@NonNull final String ifaceName,
@NonNull final IpConfiguration ipConfig,
@Nullable final IpConfiguration ipConfig,
@Nullable final NetworkCapabilities capabilities,
@Nullable final IEthernetNetworkManagementListener listener) {
if (!hasInterface(ifaceName)) {
@@ -499,7 +500,7 @@ public class EthernetNetworkFactory extends NetworkFactory {
mLegacyType = getLegacyType(mCapabilities);
}
void updateInterface(@NonNull final IpConfiguration ipConfig,
void updateInterface(@Nullable final IpConfiguration ipConfig,
@Nullable final NetworkCapabilities capabilities,
@Nullable final IEthernetNetworkManagementListener listener) {
if (DBG) {
@@ -510,7 +511,9 @@ public class EthernetNetworkFactory extends NetworkFactory {
);
}
mIpConfig = ipConfig;
if (null != ipConfig){
mIpConfig = ipConfig;
}
if (null != capabilities) {
setCapabilities(capabilities);
}

View File

@@ -289,15 +289,20 @@ public class EthernetTracker {
@VisibleForTesting(visibility = PACKAGE)
protected void updateConfiguration(@NonNull final String iface,
@NonNull final IpConfiguration ipConfig,
@Nullable final IpConfiguration ipConfig,
@Nullable final NetworkCapabilities capabilities,
@Nullable final IEthernetNetworkManagementListener listener) {
if (DBG) {
Log.i(TAG, "updateConfiguration, iface: " + iface + ", capabilities: " + capabilities
+ ", ipConfig: " + ipConfig);
}
final IpConfiguration localIpConfig = new IpConfiguration(ipConfig);
writeIpConfiguration(iface, localIpConfig);
final IpConfiguration localIpConfig = ipConfig == null
? null : new IpConfiguration(ipConfig);
if (ipConfig != null) {
writeIpConfiguration(iface, localIpConfig);
}
if (null != capabilities) {
mNetworkCapabilities.put(iface, capabilities);
}