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. (clean cherry-pick of change in downstream branch history, original change ID before project move: Iec2df09a776d779108f95098e01b7ffdf6f8867a) Bug: 181742019 Test: atest FrameworksNetTests Merged-In: I3c2563d4ae4e3715d0c6270344ba8f7ef067872f Change-Id: Ie438ec68577ebdaaf990795fa27f1169b0105411
This commit is contained in:
committed by
Remi NGUYEN VAN
parent
1d2ad89424
commit
6f77442d76
@@ -310,6 +310,7 @@ package android.net {
|
|||||||
field public static final int NET_CAPABILITY_ENTERPRISE = 29; // 0x1d
|
field public static final int NET_CAPABILITY_ENTERPRISE = 29; // 0x1d
|
||||||
field public static final int NET_CAPABILITY_FOREGROUND = 19; // 0x13
|
field public static final int NET_CAPABILITY_FOREGROUND = 19; // 0x13
|
||||||
field public static final int NET_CAPABILITY_FOTA = 3; // 0x3
|
field public static final int NET_CAPABILITY_FOTA = 3; // 0x3
|
||||||
|
field public static final int NET_CAPABILITY_HEAD_UNIT = 32; // 0x20
|
||||||
field public static final int NET_CAPABILITY_IA = 7; // 0x7
|
field public static final int NET_CAPABILITY_IA = 7; // 0x7
|
||||||
field public static final int NET_CAPABILITY_IMS = 4; // 0x4
|
field public static final int NET_CAPABILITY_IMS = 4; // 0x4
|
||||||
field public static final int NET_CAPABILITY_INTERNET = 12; // 0xc
|
field public static final int NET_CAPABILITY_INTERNET = 12; // 0xc
|
||||||
@@ -333,6 +334,7 @@ package android.net {
|
|||||||
field public static final int TRANSPORT_CELLULAR = 0; // 0x0
|
field public static final int TRANSPORT_CELLULAR = 0; // 0x0
|
||||||
field public static final int TRANSPORT_ETHERNET = 3; // 0x3
|
field public static final int TRANSPORT_ETHERNET = 3; // 0x3
|
||||||
field public static final int TRANSPORT_LOWPAN = 6; // 0x6
|
field public static final int TRANSPORT_LOWPAN = 6; // 0x6
|
||||||
|
field public static final int TRANSPORT_USB = 8; // 0x8
|
||||||
field public static final int TRANSPORT_VPN = 4; // 0x4
|
field public static final int TRANSPORT_VPN = 4; // 0x4
|
||||||
field public static final int TRANSPORT_WIFI = 1; // 0x1
|
field public static final int TRANSPORT_WIFI = 1; // 0x1
|
||||||
field public static final int TRANSPORT_WIFI_AWARE = 5; // 0x5
|
field public static final int TRANSPORT_WIFI_AWARE = 5; // 0x5
|
||||||
|
|||||||
@@ -262,6 +262,7 @@ public final class NetworkCapabilities implements Parcelable {
|
|||||||
NET_CAPABILITY_ENTERPRISE,
|
NET_CAPABILITY_ENTERPRISE,
|
||||||
NET_CAPABILITY_VSIM,
|
NET_CAPABILITY_VSIM,
|
||||||
NET_CAPABILITY_BIP,
|
NET_CAPABILITY_BIP,
|
||||||
|
NET_CAPABILITY_HEAD_UNIT,
|
||||||
})
|
})
|
||||||
public @interface NetCapability { }
|
public @interface NetCapability { }
|
||||||
|
|
||||||
@@ -495,8 +496,13 @@ public final class NetworkCapabilities implements Parcelable {
|
|||||||
@SystemApi
|
@SystemApi
|
||||||
public static final int NET_CAPABILITY_BIP = 31;
|
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 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
|
* Network capabilities that are expected to be mutable, i.e., can change while a particular
|
||||||
@@ -514,7 +520,10 @@ public final class NetworkCapabilities implements Parcelable {
|
|||||||
| (1 << NET_CAPABILITY_NOT_SUSPENDED)
|
| (1 << NET_CAPABILITY_NOT_SUSPENDED)
|
||||||
| (1 << NET_CAPABILITY_PARTIAL_CONNECTIVITY)
|
| (1 << NET_CAPABILITY_PARTIAL_CONNECTIVITY)
|
||||||
| (1 << NET_CAPABILITY_TEMPORARILY_NOT_METERED)
|
| (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
|
* Network capabilities that are not allowed in NetworkRequests. This exists because the
|
||||||
@@ -868,6 +877,7 @@ public final class NetworkCapabilities implements Parcelable {
|
|||||||
TRANSPORT_WIFI_AWARE,
|
TRANSPORT_WIFI_AWARE,
|
||||||
TRANSPORT_LOWPAN,
|
TRANSPORT_LOWPAN,
|
||||||
TRANSPORT_TEST,
|
TRANSPORT_TEST,
|
||||||
|
TRANSPORT_USB,
|
||||||
})
|
})
|
||||||
public @interface Transport { }
|
public @interface Transport { }
|
||||||
|
|
||||||
@@ -914,10 +924,15 @@ public final class NetworkCapabilities implements Parcelable {
|
|||||||
@SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
|
@SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
|
||||||
public static final int TRANSPORT_TEST = 7;
|
public static final int TRANSPORT_TEST = 7;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Indicates this network uses a USB transport.
|
||||||
|
*/
|
||||||
|
public static final int TRANSPORT_USB = 8;
|
||||||
|
|
||||||
/** @hide */
|
/** @hide */
|
||||||
public static final int MIN_TRANSPORT = TRANSPORT_CELLULAR;
|
public static final int MIN_TRANSPORT = TRANSPORT_CELLULAR;
|
||||||
/** @hide */
|
/** @hide */
|
||||||
public static final int MAX_TRANSPORT = TRANSPORT_TEST;
|
public static final int MAX_TRANSPORT = TRANSPORT_USB;
|
||||||
|
|
||||||
/** @hide */
|
/** @hide */
|
||||||
public static boolean isValidTransport(@Transport int transportType) {
|
public static boolean isValidTransport(@Transport int transportType) {
|
||||||
@@ -932,7 +947,8 @@ public final class NetworkCapabilities implements Parcelable {
|
|||||||
"VPN",
|
"VPN",
|
||||||
"WIFI_AWARE",
|
"WIFI_AWARE",
|
||||||
"LOWPAN",
|
"LOWPAN",
|
||||||
"TEST"
|
"TEST",
|
||||||
|
"USB"
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -2121,6 +2137,7 @@ public final class NetworkCapabilities implements Parcelable {
|
|||||||
case NET_CAPABILITY_ENTERPRISE: return "ENTERPRISE";
|
case NET_CAPABILITY_ENTERPRISE: return "ENTERPRISE";
|
||||||
case NET_CAPABILITY_VSIM: return "VSIM";
|
case NET_CAPABILITY_VSIM: return "VSIM";
|
||||||
case NET_CAPABILITY_BIP: return "BIP";
|
case NET_CAPABILITY_BIP: return "BIP";
|
||||||
|
case NET_CAPABILITY_HEAD_UNIT: return "HEAD_UNIT";
|
||||||
default: return Integer.toString(capability);
|
default: return Integer.toString(capability);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ java_library {
|
|||||||
"ServiceConnectivityResources",
|
"ServiceConnectivityResources",
|
||||||
],
|
],
|
||||||
static_libs: [
|
static_libs: [
|
||||||
"dnsresolver_aidl_interface-V7-java",
|
"dnsresolver_aidl_interface-V8-java",
|
||||||
"modules-utils-os",
|
"modules-utils-os",
|
||||||
"net-utils-device-common",
|
"net-utils-device-common",
|
||||||
"net-utils-framework-common",
|
"net-utils-framework-common",
|
||||||
|
|||||||
@@ -104,7 +104,7 @@ class KeepaliveUtilsTest {
|
|||||||
|
|
||||||
// Check valid customization generates expected array.
|
// Check valid customization generates expected array.
|
||||||
val validRes = arrayOf("0,3", "1,0", "4,4")
|
val validRes = arrayOf("0,3", "1,0", "4,4")
|
||||||
val expectedValidRes = intArrayOf(3, 0, 0, 0, 4, 0, 0, 0)
|
val expectedValidRes = intArrayOf(3, 0, 0, 0, 4, 0, 0, 0, 0)
|
||||||
|
|
||||||
val mockContext = getMockedContextWithStringArrayRes(
|
val mockContext = getMockedContextWithStringArrayRes(
|
||||||
R.array.config_networkSupportedKeepaliveCount,
|
R.array.config_networkSupportedKeepaliveCount,
|
||||||
|
|||||||
Reference in New Issue
Block a user