[CS02]Remove hidden API usage of NetworkCapabilities
The connection service will become the mainline module. The mutable NetworkCapabilities is deprecated, and the NetworkCapabilities should be built through their Builder instead. Bug: 170598012 Test: atest EthernetServiceTests Change-Id: I31f12a39a924302beca980b8d920e3c5c18816d4
This commit is contained in:
@@ -161,12 +161,20 @@ public class EthernetNetworkFactory extends NetworkFactory {
|
||||
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() {
|
||||
NetworkCapabilities capabilitiesFilter = new NetworkCapabilities();
|
||||
capabilitiesFilter.clearAll();
|
||||
|
||||
for (NetworkInterfaceState iface: mTrackingInterfaces.values()) {
|
||||
capabilitiesFilter.combineCapabilities(iface.mCapabilities);
|
||||
capabilitiesFilter = mixInCapabilities(capabilitiesFilter, iface.mCapabilities);
|
||||
}
|
||||
|
||||
if (DBG) Log.d(TAG, "updateCapabilityFilter: " + capabilitiesFilter);
|
||||
@@ -210,7 +218,7 @@ public class EthernetNetworkFactory extends NetworkFactory {
|
||||
private NetworkInterfaceState networkForRequest(NetworkRequest request) {
|
||||
String requestedIface = null;
|
||||
|
||||
NetworkSpecifier specifier = request.networkCapabilities.getNetworkSpecifier();
|
||||
NetworkSpecifier specifier = request.getNetworkSpecifier();
|
||||
if (specifier instanceof StringNetworkSpecifier) {
|
||||
requestedIface = ((StringNetworkSpecifier) specifier).specifier;
|
||||
}
|
||||
|
||||
@@ -506,9 +506,9 @@ final class EthernetTracker {
|
||||
boolean clearDefaultCapabilities, @Nullable String commaSeparatedCapabilities,
|
||||
@Nullable String overrideTransport) {
|
||||
|
||||
NetworkCapabilities nc = new NetworkCapabilities();
|
||||
final NetworkCapabilities.Builder builder = new NetworkCapabilities.Builder();
|
||||
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
|
||||
@@ -536,21 +536,21 @@ final class EthernetTracker {
|
||||
// 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
|
||||
try {
|
||||
nc.addTransportType(transport);
|
||||
builder.addTransportType(transport);
|
||||
} catch (IllegalArgumentException iae) {
|
||||
Log.e(TAG, transport + " is not a valid NetworkCapability.TRANSPORT_* value. "
|
||||
+ "Defaulting to TRANSPORT_ETHERNET");
|
||||
nc.addTransportType(NetworkCapabilities.TRANSPORT_ETHERNET);
|
||||
builder.addTransportType(NetworkCapabilities.TRANSPORT_ETHERNET);
|
||||
}
|
||||
|
||||
nc.setLinkUpstreamBandwidthKbps(100 * 1000);
|
||||
nc.setLinkDownstreamBandwidthKbps(100 * 1000);
|
||||
builder.setLinkUpstreamBandwidthKbps(100 * 1000);
|
||||
builder.setLinkDownstreamBandwidthKbps(100 * 1000);
|
||||
|
||||
if (!TextUtils.isEmpty(commaSeparatedCapabilities)) {
|
||||
for (String strNetworkCapability : commaSeparatedCapabilities.split(",")) {
|
||||
if (!TextUtils.isEmpty(strNetworkCapability)) {
|
||||
try {
|
||||
nc.addCapability(Integer.valueOf(strNetworkCapability));
|
||||
builder.addCapability(Integer.valueOf(strNetworkCapability));
|
||||
} catch (NumberFormatException nfe) {
|
||||
Log.e(TAG, "Capability '" + strNetworkCapability + "' could not be parsed");
|
||||
} catch (IllegalArgumentException iae) {
|
||||
@@ -562,11 +562,11 @@ final class EthernetTracker {
|
||||
}
|
||||
// Ethernet networks have no way to update the following capabilities, so they always
|
||||
// have them.
|
||||
nc.addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_ROAMING);
|
||||
nc.addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_CONGESTED);
|
||||
nc.addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_SUSPENDED);
|
||||
builder.addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_ROAMING);
|
||||
builder.addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_CONGESTED);
|
||||
builder.addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_SUSPENDED);
|
||||
|
||||
return nc;
|
||||
return builder.build();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user