Merge "Add OEM_PAID network capability"
This commit is contained in:
@@ -116,6 +116,7 @@ public final class NetworkCapabilities implements Parcelable {
|
||||
NET_CAPABILITY_FOREGROUND,
|
||||
NET_CAPABILITY_NOT_CONGESTED,
|
||||
NET_CAPABILITY_NOT_SUSPENDED,
|
||||
NET_CAPABILITY_OEM_PAID,
|
||||
})
|
||||
public @interface NetCapability { }
|
||||
|
||||
@@ -263,8 +264,15 @@ public final class NetworkCapabilities implements Parcelable {
|
||||
*/
|
||||
public static final int NET_CAPABILITY_NOT_SUSPENDED = 21;
|
||||
|
||||
/**
|
||||
* Indicates that traffic that goes through this network is paid by oem. For example,
|
||||
* this network can be used by system apps to upload telemetry data.
|
||||
* @hide
|
||||
*/
|
||||
public static final int NET_CAPABILITY_OEM_PAID = 22;
|
||||
|
||||
private static final int MIN_NET_CAPABILITY = NET_CAPABILITY_MMS;
|
||||
private static final int MAX_NET_CAPABILITY = NET_CAPABILITY_NOT_SUSPENDED;
|
||||
private static final int MAX_NET_CAPABILITY = NET_CAPABILITY_OEM_PAID;
|
||||
|
||||
/**
|
||||
* Network capabilities that are expected to be mutable, i.e., can change while a particular
|
||||
@@ -312,7 +320,8 @@ public final class NetworkCapabilities implements Parcelable {
|
||||
(1 << NET_CAPABILITY_IA) |
|
||||
(1 << NET_CAPABILITY_IMS) |
|
||||
(1 << NET_CAPABILITY_RCS) |
|
||||
(1 << NET_CAPABILITY_XCAP);
|
||||
(1 << NET_CAPABILITY_XCAP) |
|
||||
(1 << NET_CAPABILITY_OEM_PAID);
|
||||
|
||||
/**
|
||||
* Capabilities that suggest that a network is unrestricted.
|
||||
@@ -1289,6 +1298,7 @@ public final class NetworkCapabilities implements Parcelable {
|
||||
case NET_CAPABILITY_FOREGROUND: return "FOREGROUND";
|
||||
case NET_CAPABILITY_NOT_CONGESTED: return "NOT_CONGESTED";
|
||||
case NET_CAPABILITY_NOT_SUSPENDED: return "NOT_SUSPENDED";
|
||||
case NET_CAPABILITY_OEM_PAID: return "OEM_PAID";
|
||||
default: return Integer.toString(capability);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,6 +23,7 @@ import static android.net.NetworkCapabilities.NET_CAPABILITY_EIMS;
|
||||
import static android.net.NetworkCapabilities.NET_CAPABILITY_INTERNET;
|
||||
import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_METERED;
|
||||
import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED;
|
||||
import static android.net.NetworkCapabilities.NET_CAPABILITY_OEM_PAID;
|
||||
import static android.net.NetworkCapabilities.NET_CAPABILITY_VALIDATED;
|
||||
import static android.net.NetworkCapabilities.RESTRICTED_CAPABILITIES;
|
||||
import static android.net.NetworkCapabilities.TRANSPORT_CELLULAR;
|
||||
@@ -261,6 +262,19 @@ public class NetworkCapabilitiesTest {
|
||||
assertEqualsThroughMarshalling(netCap);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testOemPaid() {
|
||||
NetworkCapabilities nc = new NetworkCapabilities();
|
||||
nc.maybeMarkCapabilitiesRestricted();
|
||||
assertFalse(nc.hasCapability(NET_CAPABILITY_OEM_PAID));
|
||||
assertTrue(nc.hasCapability(NET_CAPABILITY_NOT_RESTRICTED));
|
||||
|
||||
nc.addCapability(NET_CAPABILITY_OEM_PAID);
|
||||
nc.maybeMarkCapabilitiesRestricted();
|
||||
assertTrue(nc.hasCapability(NET_CAPABILITY_OEM_PAID));
|
||||
assertFalse(nc.hasCapability(NET_CAPABILITY_NOT_RESTRICTED));
|
||||
}
|
||||
|
||||
private void assertEqualsThroughMarshalling(NetworkCapabilities netCap) {
|
||||
Parcel p = Parcel.obtain();
|
||||
netCap.writeToParcel(p, /* flags */ 0);
|
||||
|
||||
Reference in New Issue
Block a user