[CS02]Remove hidden API usage of NetworkCapabilities am: 810d8f0c94 am: ef49ca71d1

Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/net/ethernet/+/1563812

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I816c3180a72f2f180b62e1e3898e7adb1aca36c5
This commit is contained in:
lifr
2021-02-16 03:42:50 +00:00
committed by Automerger Merge Worker
2 changed files with 21 additions and 13 deletions

View File

@@ -161,12 +161,20 @@ public class EthernetNetworkFactory extends NetworkFactory {
updateCapabilityFilter(); updateCapabilityFilter();
} }
private static NetworkCapabilities mixInCapabilities(NetworkCapabilities nc,
NetworkCapabilities addedNc) {
final NetworkCapabilities.Builder builder = new NetworkCapabilities.Builder(nc);
for (int transport : addedNc.getTransportTypes()) builder.addTransportType(transport);
for (int capability : addedNc.getCapabilities()) builder.addCapability(capability);
return builder.build();
}
private void updateCapabilityFilter() { private void updateCapabilityFilter() {
NetworkCapabilities capabilitiesFilter = new NetworkCapabilities(); NetworkCapabilities capabilitiesFilter = new NetworkCapabilities();
capabilitiesFilter.clearAll(); capabilitiesFilter.clearAll();
for (NetworkInterfaceState iface: mTrackingInterfaces.values()) { for (NetworkInterfaceState iface: mTrackingInterfaces.values()) {
capabilitiesFilter.combineCapabilities(iface.mCapabilities); capabilitiesFilter = mixInCapabilities(capabilitiesFilter, iface.mCapabilities);
} }
if (DBG) Log.d(TAG, "updateCapabilityFilter: " + capabilitiesFilter); if (DBG) Log.d(TAG, "updateCapabilityFilter: " + capabilitiesFilter);
@@ -210,7 +218,7 @@ public class EthernetNetworkFactory extends NetworkFactory {
private NetworkInterfaceState networkForRequest(NetworkRequest request) { private NetworkInterfaceState networkForRequest(NetworkRequest request) {
String requestedIface = null; String requestedIface = null;
NetworkSpecifier specifier = request.networkCapabilities.getNetworkSpecifier(); NetworkSpecifier specifier = request.getNetworkSpecifier();
if (specifier instanceof StringNetworkSpecifier) { if (specifier instanceof StringNetworkSpecifier) {
requestedIface = ((StringNetworkSpecifier) specifier).specifier; requestedIface = ((StringNetworkSpecifier) specifier).specifier;
} }

View File

@@ -506,9 +506,9 @@ final class EthernetTracker {
boolean clearDefaultCapabilities, @Nullable String commaSeparatedCapabilities, boolean clearDefaultCapabilities, @Nullable String commaSeparatedCapabilities,
@Nullable String overrideTransport) { @Nullable String overrideTransport) {
NetworkCapabilities nc = new NetworkCapabilities(); final NetworkCapabilities.Builder builder = new NetworkCapabilities.Builder();
if (clearDefaultCapabilities) { if (clearDefaultCapabilities) {
nc.clearAll(); // Remove default capabilities and transports builder.clearAll(); // Remove default capabilities and transports
} }
// Determine the transport type. If someone has tried to define an override transport then // Determine the transport type. If someone has tried to define an override transport then
@@ -536,21 +536,21 @@ final class EthernetTracker {
// Apply the transport. If the user supplied a valid number that is not a valid transport // Apply the transport. If the user supplied a valid number that is not a valid transport
// then adding will throw an exception. Default back to TRANSPORT_ETHERNET if that happens // then adding will throw an exception. Default back to TRANSPORT_ETHERNET if that happens
try { try {
nc.addTransportType(transport); builder.addTransportType(transport);
} catch (IllegalArgumentException iae) { } catch (IllegalArgumentException iae) {
Log.e(TAG, transport + " is not a valid NetworkCapability.TRANSPORT_* value. " Log.e(TAG, transport + " is not a valid NetworkCapability.TRANSPORT_* value. "
+ "Defaulting to TRANSPORT_ETHERNET"); + "Defaulting to TRANSPORT_ETHERNET");
nc.addTransportType(NetworkCapabilities.TRANSPORT_ETHERNET); builder.addTransportType(NetworkCapabilities.TRANSPORT_ETHERNET);
} }
nc.setLinkUpstreamBandwidthKbps(100 * 1000); builder.setLinkUpstreamBandwidthKbps(100 * 1000);
nc.setLinkDownstreamBandwidthKbps(100 * 1000); builder.setLinkDownstreamBandwidthKbps(100 * 1000);
if (!TextUtils.isEmpty(commaSeparatedCapabilities)) { if (!TextUtils.isEmpty(commaSeparatedCapabilities)) {
for (String strNetworkCapability : commaSeparatedCapabilities.split(",")) { for (String strNetworkCapability : commaSeparatedCapabilities.split(",")) {
if (!TextUtils.isEmpty(strNetworkCapability)) { if (!TextUtils.isEmpty(strNetworkCapability)) {
try { try {
nc.addCapability(Integer.valueOf(strNetworkCapability)); builder.addCapability(Integer.valueOf(strNetworkCapability));
} catch (NumberFormatException nfe) { } catch (NumberFormatException nfe) {
Log.e(TAG, "Capability '" + strNetworkCapability + "' could not be parsed"); Log.e(TAG, "Capability '" + strNetworkCapability + "' could not be parsed");
} catch (IllegalArgumentException iae) { } catch (IllegalArgumentException iae) {
@@ -562,11 +562,11 @@ final class EthernetTracker {
} }
// Ethernet networks have no way to update the following capabilities, so they always // Ethernet networks have no way to update the following capabilities, so they always
// have them. // have them.
nc.addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_ROAMING); builder.addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_ROAMING);
nc.addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_CONGESTED); builder.addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_CONGESTED);
nc.addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_SUSPENDED); builder.addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_SUSPENDED);
return nc; return builder.build();
} }
/** /**