Expose access UIDs.
CTS already have basic tests for this since they run the common tests, which were using these hidden methods already. Test: CtsNetTestCases Change-Id: Id5e5b911f5c63bdd3b05e5ac1d3dd89c1c525ab7
This commit is contained in:
@@ -132,6 +132,7 @@ package android.net {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public final class NetworkCapabilities implements android.os.Parcelable {
|
public final class NetworkCapabilities implements android.os.Parcelable {
|
||||||
|
method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public java.util.Set<java.lang.Integer> getAccessUids();
|
||||||
method @Nullable public java.util.Set<android.util.Range<java.lang.Integer>> getUids();
|
method @Nullable public java.util.Set<android.util.Range<java.lang.Integer>> getUids();
|
||||||
method public boolean hasForbiddenCapability(int);
|
method public boolean hasForbiddenCapability(int);
|
||||||
field public static final long REDACT_ALL = -1L; // 0xffffffffffffffffL
|
field public static final long REDACT_ALL = -1L; // 0xffffffffffffffffL
|
||||||
@@ -143,6 +144,7 @@ package android.net {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static final class NetworkCapabilities.Builder {
|
public static final class NetworkCapabilities.Builder {
|
||||||
|
method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setAccessUids(@NonNull java.util.Set<java.lang.Integer>);
|
||||||
method @NonNull public android.net.NetworkCapabilities.Builder setUids(@Nullable java.util.Set<android.util.Range<java.lang.Integer>>);
|
method @NonNull public android.net.NetworkCapabilities.Builder setUids(@Nullable java.util.Set<android.util.Range<java.lang.Integer>>);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1853,13 +1853,13 @@ public final class NetworkCapabilities implements Parcelable {
|
|||||||
* the UID doesn't hold the USE_RESTRICTED_NETWORKS permission. This is defined by the
|
* the UID doesn't hold the USE_RESTRICTED_NETWORKS permission. This is defined by the
|
||||||
* network agent in charge of creating the network.
|
* network agent in charge of creating the network.
|
||||||
*
|
*
|
||||||
* Only network factories and the system server can see these UIDs, since the system
|
* The UIDs are only visible to network factories and the system server, since the system
|
||||||
* server makes sure to redact them before sending a NetworkCapabilities to a process
|
* server makes sure to redact them before sending a NetworkCapabilities to a process
|
||||||
* that doesn't hold the permission.
|
* that doesn't hold the permission.
|
||||||
*
|
*
|
||||||
* @hide
|
* @hide
|
||||||
*/
|
*/
|
||||||
// @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
|
@SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
|
||||||
@RequiresPermission(android.Manifest.permission.NETWORK_FACTORY)
|
@RequiresPermission(android.Manifest.permission.NETWORK_FACTORY)
|
||||||
public @NonNull Set<Integer> getAccessUids() {
|
public @NonNull Set<Integer> getAccessUids() {
|
||||||
return new ArraySet<>(mAccessUids);
|
return new ArraySet<>(mAccessUids);
|
||||||
@@ -3021,9 +3021,9 @@ public final class NetworkCapabilities implements Parcelable {
|
|||||||
* the associated subscription. Failure to comply with these rules will see this member
|
* the associated subscription. Failure to comply with these rules will see this member
|
||||||
* cleared.
|
* cleared.
|
||||||
* <p>
|
* <p>
|
||||||
* Only network factories and the system server can see these UIDs, since the system server
|
* These UIDs are only visible to network factories and the system server, since the system
|
||||||
* makes sure to redact them before sending a {@link NetworkCapabilities} instance to a
|
* server makes sure to redact them before sending a {@link NetworkCapabilities} instance
|
||||||
* process that doesn't hold the {@link android.Manifest.permission.NETWORK_FACTORY}
|
* to a process that doesn't hold the {@link android.Manifest.permission.NETWORK_FACTORY}
|
||||||
* permission.
|
* permission.
|
||||||
* <p>
|
* <p>
|
||||||
* This list cannot be null, but it can be empty to mean that no UID without the
|
* This list cannot be null, but it can be empty to mean that no UID without the
|
||||||
@@ -3035,7 +3035,7 @@ public final class NetworkCapabilities implements Parcelable {
|
|||||||
* @hide
|
* @hide
|
||||||
*/
|
*/
|
||||||
@NonNull
|
@NonNull
|
||||||
// @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
|
@SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
|
||||||
@RequiresPermission(android.Manifest.permission.NETWORK_FACTORY)
|
@RequiresPermission(android.Manifest.permission.NETWORK_FACTORY)
|
||||||
public Builder setAccessUids(@NonNull Set<Integer> uids) {
|
public Builder setAccessUids(@NonNull Set<Integer> uids) {
|
||||||
Objects.requireNonNull(uids);
|
Objects.requireNonNull(uids);
|
||||||
|
|||||||
Reference in New Issue
Block a user