From 4a0cbe98c1bb9ef45d098abfb3ade0135a9768c2 Mon Sep 17 00:00:00 2001 From: lucaslin Date: Fri, 19 Mar 2021 15:14:23 +0800 Subject: [PATCH] Use public API instead of hidden API in EthernetTracker - Use public API of StaticIpConfiguration.Builder to set ipaddress, domains, gateway and dnsServers. - Use public constructor to create an instance of IpConfiguration and set IpAssignment, ProxySettings, StaticIpConfiguration and HttpProxy by public API. Bug: 182963415 Test: m ethernet-service Change-Id: Idce8bfe7afc31baa644c816afa1f8004987e8c6e --- .../server/ethernet/EthernetTracker.java | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/service-t/src/com/android/server/ethernet/EthernetTracker.java b/service-t/src/com/android/server/ethernet/EthernetTracker.java index a831f34a5a..a190240edb 100644 --- a/service-t/src/com/android/server/ethernet/EthernetTracker.java +++ b/service-t/src/com/android/server/ethernet/EthernetTracker.java @@ -579,7 +579,8 @@ final class EthernetTracker { */ @VisibleForTesting static IpConfiguration parseStaticIpConfiguration(String staticIpConfig) { - StaticIpConfiguration ipConfig = new StaticIpConfiguration(); + final StaticIpConfiguration.Builder staticIpConfigBuilder = + new StaticIpConfiguration.Builder(); for (String keyValueAsString : staticIpConfig.trim().split(" ")) { if (TextUtils.isEmpty(keyValueAsString)) continue; @@ -595,20 +596,20 @@ final class EthernetTracker { switch (key) { case "ip": - ipConfig.ipAddress = new LinkAddress(value); + staticIpConfigBuilder.setIpAddress(new LinkAddress(value)); break; case "domains": - ipConfig.domains = value; + staticIpConfigBuilder.setDomains(value); break; case "gateway": - ipConfig.gateway = InetAddress.parseNumericAddress(value); + staticIpConfigBuilder.setGateway(InetAddress.parseNumericAddress(value)); break; case "dns": { ArrayList dnsAddresses = new ArrayList<>(); for (String address: value.split(",")) { dnsAddresses.add(InetAddress.parseNumericAddress(address)); } - ipConfig.dnsServers.addAll(dnsAddresses); + staticIpConfigBuilder.setDnsServers(dnsAddresses); break; } default : { @@ -617,11 +618,18 @@ final class EthernetTracker { } } } - return new IpConfiguration(IpAssignment.STATIC, ProxySettings.NONE, ipConfig, null); + final IpConfiguration ret = new IpConfiguration(); + ret.setIpAssignment(IpAssignment.STATIC); + ret.setProxySettings(ProxySettings.NONE); + ret.setStaticIpConfiguration(staticIpConfigBuilder.build()); + return ret; } private static IpConfiguration createDefaultIpConfiguration() { - return new IpConfiguration(IpAssignment.DHCP, ProxySettings.NONE, null, null); + final IpConfiguration ret = new IpConfiguration(); + ret.setIpAssignment(IpAssignment.DHCP); + ret.setProxySettings(ProxySettings.NONE); + return ret; } private void updateIfaceMatchRegexp() {