Add NetworkRequest#satisfiedBy to SystemApi

The API is useful for NetworkFactories to select requests based on
capabilities.
This mirrors NetworkCapabilities#satisfiedByNetworkCapabilities

Test: m
Bug: 138306002
Merged-In: I1d4a928256951397cabde5c352a872fd48d85859
Change-Id: I1d4a928256951397cabde5c352a872fd48d85859
(clean cherry-pick from internal branch)
This commit is contained in:
Remi NGUYEN VAN
2020-01-14 20:33:06 +09:00
parent 6fab6545d3
commit 004f90d90f
2 changed files with 17 additions and 0 deletions

View File

@@ -4507,6 +4507,10 @@ package android.net {
method public abstract void onRequestScores(android.net.NetworkKey[]);
}
public class NetworkRequest implements android.os.Parcelable {
method public boolean satisfiedBy(@Nullable android.net.NetworkCapabilities);
}
public static class NetworkRequest.Builder {
method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SIGNAL_STRENGTH_WAKEUP) public android.net.NetworkRequest.Builder setSignalStrength(int);
}

View File

@@ -466,6 +466,19 @@ public class NetworkRequest implements Parcelable {
return networkCapabilities.hasUnwantedCapability(capability);
}
/**
* Returns true iff. the capabilities requested in this NetworkRequest are satisfied by the
* provided {@link NetworkCapabilities}.
*
* @param nc Capabilities that should satisfy this NetworkRequest. null capabilities do not
* satisfy any request.
* @hide
*/
@SystemApi
public boolean satisfiedBy(@Nullable NetworkCapabilities nc) {
return networkCapabilities.satisfiedByNetworkCapabilities(nc);
}
/**
* @see Builder#addTransportType(int)
*/