Add low latency and high bandwidth network capabilities
Bug: 194332512 Test: build Change-Id: I415ca1ba90ea54c4106f806fe855bcb84d3e38ba
This commit is contained in:
@@ -326,6 +326,8 @@ package android.net {
|
||||
field public static final int NET_CAPABILITY_NOT_ROAMING = 18; // 0x12
|
||||
field public static final int NET_CAPABILITY_NOT_SUSPENDED = 21; // 0x15
|
||||
field public static final int NET_CAPABILITY_NOT_VPN = 15; // 0xf
|
||||
field public static final int NET_CAPABILITY_PRIORITIZE_BANDWIDTH = 35; // 0x23
|
||||
field public static final int NET_CAPABILITY_PRIORITIZE_LATENCY = 34; // 0x22
|
||||
field public static final int NET_CAPABILITY_RCS = 8; // 0x8
|
||||
field public static final int NET_CAPABILITY_SUPL = 1; // 0x1
|
||||
field public static final int NET_CAPABILITY_TEMPORARILY_NOT_METERED = 25; // 0x19
|
||||
|
||||
@@ -357,6 +357,8 @@ public final class NetworkCapabilities implements Parcelable {
|
||||
NET_CAPABILITY_BIP,
|
||||
NET_CAPABILITY_HEAD_UNIT,
|
||||
NET_CAPABILITY_MMTEL,
|
||||
NET_CAPABILITY_PRIORITIZE_LATENCY,
|
||||
NET_CAPABILITY_PRIORITIZE_BANDWIDTH,
|
||||
})
|
||||
public @interface NetCapability { }
|
||||
|
||||
@@ -600,8 +602,18 @@ public final class NetworkCapabilities implements Parcelable {
|
||||
*/
|
||||
public static final int NET_CAPABILITY_MMTEL = 33;
|
||||
|
||||
/**
|
||||
* Indicates that this network should be able to prioritize latency for the internet.
|
||||
*/
|
||||
public static final int NET_CAPABILITY_PRIORITIZE_LATENCY = 34;
|
||||
|
||||
/**
|
||||
* Indicates that this network should be able to prioritize bandwidth for the internet.
|
||||
*/
|
||||
public static final int NET_CAPABILITY_PRIORITIZE_BANDWIDTH = 35;
|
||||
|
||||
private static final int MIN_NET_CAPABILITY = NET_CAPABILITY_MMS;
|
||||
private static final int MAX_NET_CAPABILITY = NET_CAPABILITY_MMTEL;
|
||||
private static final int MAX_NET_CAPABILITY = NET_CAPABILITY_PRIORITIZE_BANDWIDTH;
|
||||
|
||||
/**
|
||||
* Network capabilities that are expected to be mutable, i.e., can change while a particular
|
||||
@@ -2241,6 +2253,8 @@ public final class NetworkCapabilities implements Parcelable {
|
||||
case NET_CAPABILITY_BIP: return "BIP";
|
||||
case NET_CAPABILITY_HEAD_UNIT: return "HEAD_UNIT";
|
||||
case NET_CAPABILITY_MMTEL: return "MMTEL";
|
||||
case NET_CAPABILITY_PRIORITIZE_LATENCY: return "PRIORITIZE_LATENCY";
|
||||
case NET_CAPABILITY_PRIORITIZE_BANDWIDTH: return "PRIORITIZE_BANDWIDTH";
|
||||
default: return Integer.toString(capability);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,6 +34,8 @@ import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_VPN;
|
||||
import static android.net.NetworkCapabilities.NET_CAPABILITY_OEM_PAID;
|
||||
import static android.net.NetworkCapabilities.NET_CAPABILITY_OEM_PRIVATE;
|
||||
import static android.net.NetworkCapabilities.NET_CAPABILITY_PARTIAL_CONNECTIVITY;
|
||||
import static android.net.NetworkCapabilities.NET_CAPABILITY_PRIORITIZE_BANDWIDTH;
|
||||
import static android.net.NetworkCapabilities.NET_CAPABILITY_PRIORITIZE_LATENCY;
|
||||
import static android.net.NetworkCapabilities.NET_CAPABILITY_TRUSTED;
|
||||
import static android.net.NetworkCapabilities.NET_CAPABILITY_VALIDATED;
|
||||
import static android.net.NetworkCapabilities.NET_CAPABILITY_WIFI_P2P;
|
||||
@@ -415,6 +417,31 @@ public class NetworkCapabilitiesTest {
|
||||
assertFalse(nr.satisfiedByNetworkCapabilities(new NetworkCapabilities()));
|
||||
}
|
||||
|
||||
@Test @IgnoreUpTo(SC_V2) // TODO: Use to Build.VERSION_CODES.SC_V2 when available
|
||||
public void testPrioritizeLatencyAndBandwidth() {
|
||||
NetworkCapabilities netCap = new NetworkCapabilities();
|
||||
netCap.addCapability(NET_CAPABILITY_PRIORITIZE_LATENCY);
|
||||
netCap.addCapability(NET_CAPABILITY_NOT_METERED);
|
||||
netCap.maybeMarkCapabilitiesRestricted();
|
||||
assertTrue(netCap.hasCapability(NET_CAPABILITY_NOT_RESTRICTED));
|
||||
netCap = new NetworkCapabilities();
|
||||
netCap.addCapability(NET_CAPABILITY_PRIORITIZE_LATENCY);
|
||||
netCap.removeCapability(NET_CAPABILITY_NOT_METERED);
|
||||
netCap.maybeMarkCapabilitiesRestricted();
|
||||
assertTrue(netCap.hasCapability(NET_CAPABILITY_NOT_RESTRICTED));
|
||||
|
||||
netCap = new NetworkCapabilities();
|
||||
netCap.addCapability(NET_CAPABILITY_PRIORITIZE_BANDWIDTH);
|
||||
netCap.addCapability(NET_CAPABILITY_NOT_METERED);
|
||||
netCap.maybeMarkCapabilitiesRestricted();
|
||||
assertTrue(netCap.hasCapability(NET_CAPABILITY_NOT_RESTRICTED));
|
||||
netCap = new NetworkCapabilities();
|
||||
netCap.addCapability(NET_CAPABILITY_PRIORITIZE_BANDWIDTH);
|
||||
netCap.removeCapability(NET_CAPABILITY_NOT_METERED);
|
||||
netCap.maybeMarkCapabilitiesRestricted();
|
||||
assertTrue(netCap.hasCapability(NET_CAPABILITY_NOT_RESTRICTED));
|
||||
}
|
||||
|
||||
@Test @IgnoreUpTo(Build.VERSION_CODES.R)
|
||||
public void testOemPrivate() {
|
||||
NetworkCapabilities nc = new NetworkCapabilities();
|
||||
|
||||
Reference in New Issue
Block a user