Merge "Add OEM_PAID network capability" am: 2501283064
am: 82fdea2d7b
Change-Id: Ie0377fea66f784c910bd0a06f87543cc5cf82c84
This commit is contained in:
@@ -117,6 +117,7 @@ public final class NetworkCapabilities implements Parcelable {
|
|||||||
NET_CAPABILITY_FOREGROUND,
|
NET_CAPABILITY_FOREGROUND,
|
||||||
NET_CAPABILITY_NOT_CONGESTED,
|
NET_CAPABILITY_NOT_CONGESTED,
|
||||||
NET_CAPABILITY_NOT_SUSPENDED,
|
NET_CAPABILITY_NOT_SUSPENDED,
|
||||||
|
NET_CAPABILITY_OEM_PAID,
|
||||||
})
|
})
|
||||||
public @interface NetCapability { }
|
public @interface NetCapability { }
|
||||||
|
|
||||||
@@ -264,8 +265,15 @@ public final class NetworkCapabilities implements Parcelable {
|
|||||||
*/
|
*/
|
||||||
public static final int NET_CAPABILITY_NOT_SUSPENDED = 21;
|
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 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
|
* Network capabilities that are expected to be mutable, i.e., can change while a particular
|
||||||
@@ -313,7 +321,8 @@ public final class NetworkCapabilities implements Parcelable {
|
|||||||
(1 << NET_CAPABILITY_IA) |
|
(1 << NET_CAPABILITY_IA) |
|
||||||
(1 << NET_CAPABILITY_IMS) |
|
(1 << NET_CAPABILITY_IMS) |
|
||||||
(1 << NET_CAPABILITY_RCS) |
|
(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.
|
* Capabilities that suggest that a network is unrestricted.
|
||||||
@@ -1290,6 +1299,7 @@ public final class NetworkCapabilities implements Parcelable {
|
|||||||
case NET_CAPABILITY_FOREGROUND: return "FOREGROUND";
|
case NET_CAPABILITY_FOREGROUND: return "FOREGROUND";
|
||||||
case NET_CAPABILITY_NOT_CONGESTED: return "NOT_CONGESTED";
|
case NET_CAPABILITY_NOT_CONGESTED: return "NOT_CONGESTED";
|
||||||
case NET_CAPABILITY_NOT_SUSPENDED: return "NOT_SUSPENDED";
|
case NET_CAPABILITY_NOT_SUSPENDED: return "NOT_SUSPENDED";
|
||||||
|
case NET_CAPABILITY_OEM_PAID: return "OEM_PAID";
|
||||||
default: return Integer.toString(capability);
|
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_INTERNET;
|
||||||
import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_METERED;
|
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_NOT_RESTRICTED;
|
||||||
|
import static android.net.NetworkCapabilities.NET_CAPABILITY_OEM_PAID;
|
||||||
import static android.net.NetworkCapabilities.NET_CAPABILITY_VALIDATED;
|
import static android.net.NetworkCapabilities.NET_CAPABILITY_VALIDATED;
|
||||||
import static android.net.NetworkCapabilities.RESTRICTED_CAPABILITIES;
|
import static android.net.NetworkCapabilities.RESTRICTED_CAPABILITIES;
|
||||||
import static android.net.NetworkCapabilities.TRANSPORT_CELLULAR;
|
import static android.net.NetworkCapabilities.TRANSPORT_CELLULAR;
|
||||||
@@ -261,6 +262,19 @@ public class NetworkCapabilitiesTest {
|
|||||||
assertEqualsThroughMarshalling(netCap);
|
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) {
|
private void assertEqualsThroughMarshalling(NetworkCapabilities netCap) {
|
||||||
Parcel p = Parcel.obtain();
|
Parcel p = Parcel.obtain();
|
||||||
netCap.writeToParcel(p, /* flags */ 0);
|
netCap.writeToParcel(p, /* flags */ 0);
|
||||||
|
|||||||
Reference in New Issue
Block a user