Add has* utility functions to NetworkCapabilities
Change-Id: Icf735b778a3956812be522db39c29cf54c757a25
This commit is contained in:
@@ -84,6 +84,13 @@ public final class NetworkCapabilities implements Parcelable {
|
|||||||
public Collection<Integer> getNetworkCapabilities() {
|
public Collection<Integer> getNetworkCapabilities() {
|
||||||
return enumerateBits(mNetworkCapabilities);
|
return enumerateBits(mNetworkCapabilities);
|
||||||
}
|
}
|
||||||
|
public boolean hasCapability(int networkCapability) {
|
||||||
|
if (networkCapability < MIN_NET_CAPABILITY ||
|
||||||
|
networkCapability > MAX_NET_CAPABILITY) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return ((mNetworkCapabilities & (1 << networkCapability)) != 0);
|
||||||
|
}
|
||||||
|
|
||||||
private Collection<Integer> enumerateBits(long val) {
|
private Collection<Integer> enumerateBits(long val) {
|
||||||
ArrayList<Integer> result = new ArrayList<Integer>();
|
ArrayList<Integer> result = new ArrayList<Integer>();
|
||||||
@@ -142,6 +149,12 @@ public final class NetworkCapabilities implements Parcelable {
|
|||||||
public Collection<Integer> getTransportTypes() {
|
public Collection<Integer> getTransportTypes() {
|
||||||
return enumerateBits(mTransportTypes);
|
return enumerateBits(mTransportTypes);
|
||||||
}
|
}
|
||||||
|
public boolean hasTransport(int transportType) {
|
||||||
|
if (transportType < MIN_TRANSPORT || transportType > MAX_TRANSPORT) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return ((mTransportTypes & (1 << transportType)) != 0);
|
||||||
|
}
|
||||||
|
|
||||||
private void combineTransportTypes(NetworkCapabilities nc) {
|
private void combineTransportTypes(NetworkCapabilities nc) {
|
||||||
this.mTransportTypes |= nc.mTransportTypes;
|
this.mTransportTypes |= nc.mTransportTypes;
|
||||||
@@ -205,7 +218,8 @@ public final class NetworkCapabilities implements Parcelable {
|
|||||||
* {@hide}
|
* {@hide}
|
||||||
*/
|
*/
|
||||||
public boolean satisfiedByNetworkCapabilities(NetworkCapabilities nc) {
|
public boolean satisfiedByNetworkCapabilities(NetworkCapabilities nc) {
|
||||||
return (satisfiedByNetCapabilities(nc) &&
|
return (nc != null &&
|
||||||
|
satisfiedByNetCapabilities(nc) &&
|
||||||
satisfiedByTransportTypes(nc) &&
|
satisfiedByTransportTypes(nc) &&
|
||||||
satisfiedByLinkBandwidths(nc));
|
satisfiedByLinkBandwidths(nc));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user