Add new network capabilities to support automotive head unit via USB
- Add a new transport type for USB and a new network capability to support automotive head unit. - In order to pass DnsManagerTest#testTransportTypesEqual, Android.bp needs to link to dnsresolver_aidl_interface-V8-java. That test checks whether the TRANSPORT types defined in NetworkCapabilities are the same as IDnsResolver.aidl. Bug: 181742019 Test: atest FrameworksNetTests Change-Id: Iec2df09a776d779108f95098e01b7ffdf6f8867a
This commit is contained in:
@@ -275,6 +275,7 @@ public final class NetworkCapabilities implements Parcelable {
|
||||
NET_CAPABILITY_ENTERPRISE,
|
||||
NET_CAPABILITY_VSIM,
|
||||
NET_CAPABILITY_BIP,
|
||||
NET_CAPABILITY_HEAD_UNIT,
|
||||
})
|
||||
public @interface NetCapability { }
|
||||
|
||||
@@ -508,8 +509,13 @@ public final class NetworkCapabilities implements Parcelable {
|
||||
@SystemApi
|
||||
public static final int NET_CAPABILITY_BIP = 31;
|
||||
|
||||
/**
|
||||
* Indicates that this network is connected to an automotive head unit.
|
||||
*/
|
||||
public static final int NET_CAPABILITY_HEAD_UNIT = 32;
|
||||
|
||||
private static final int MIN_NET_CAPABILITY = NET_CAPABILITY_MMS;
|
||||
private static final int MAX_NET_CAPABILITY = NET_CAPABILITY_BIP;
|
||||
private static final int MAX_NET_CAPABILITY = NET_CAPABILITY_HEAD_UNIT;
|
||||
|
||||
/**
|
||||
* Network capabilities that are expected to be mutable, i.e., can change while a particular
|
||||
@@ -527,7 +533,10 @@ public final class NetworkCapabilities implements Parcelable {
|
||||
| (1 << NET_CAPABILITY_NOT_SUSPENDED)
|
||||
| (1 << NET_CAPABILITY_PARTIAL_CONNECTIVITY)
|
||||
| (1 << NET_CAPABILITY_TEMPORARILY_NOT_METERED)
|
||||
| (1 << NET_CAPABILITY_NOT_VCN_MANAGED);
|
||||
| (1 << NET_CAPABILITY_NOT_VCN_MANAGED)
|
||||
// The value of NET_CAPABILITY_HEAD_UNIT is 32, which cannot use int to do bit shift,
|
||||
// otherwise there will be an overflow. Use long to do bit shift instead.
|
||||
| (1L << NET_CAPABILITY_HEAD_UNIT);
|
||||
|
||||
/**
|
||||
* Network capabilities that are not allowed in NetworkRequests. This exists because the
|
||||
@@ -867,6 +876,7 @@ public final class NetworkCapabilities implements Parcelable {
|
||||
TRANSPORT_WIFI_AWARE,
|
||||
TRANSPORT_LOWPAN,
|
||||
TRANSPORT_TEST,
|
||||
TRANSPORT_USB,
|
||||
})
|
||||
public @interface Transport { }
|
||||
|
||||
@@ -913,10 +923,15 @@ public final class NetworkCapabilities implements Parcelable {
|
||||
@SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
|
||||
public static final int TRANSPORT_TEST = 7;
|
||||
|
||||
/**
|
||||
* Indicates this network uses a USB transport.
|
||||
*/
|
||||
public static final int TRANSPORT_USB = 8;
|
||||
|
||||
/** @hide */
|
||||
public static final int MIN_TRANSPORT = TRANSPORT_CELLULAR;
|
||||
/** @hide */
|
||||
public static final int MAX_TRANSPORT = TRANSPORT_TEST;
|
||||
public static final int MAX_TRANSPORT = TRANSPORT_USB;
|
||||
|
||||
/** @hide */
|
||||
public static boolean isValidTransport(@Transport int transportType) {
|
||||
@@ -931,7 +946,8 @@ public final class NetworkCapabilities implements Parcelable {
|
||||
"VPN",
|
||||
"WIFI_AWARE",
|
||||
"LOWPAN",
|
||||
"TEST"
|
||||
"TEST",
|
||||
"USB"
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -2107,6 +2123,7 @@ public final class NetworkCapabilities implements Parcelable {
|
||||
case NET_CAPABILITY_ENTERPRISE: return "ENTERPRISE";
|
||||
case NET_CAPABILITY_VSIM: return "VSIM";
|
||||
case NET_CAPABILITY_BIP: return "BIP";
|
||||
case NET_CAPABILITY_HEAD_UNIT: return "HEAD_UNIT";
|
||||
default: return Integer.toString(capability);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user