Merge "Assign the bit calculation as long to prevent overflow" am: 1122a53585 am: 7e2a559c57
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1664307 Change-Id: I68844967fbef3cffb7211ce72fd502ae19c331c8
This commit is contained in:
@@ -592,8 +592,9 @@ public final class NetworkCapabilities implements Parcelable {
|
||||
// TODO: Consider adding unwanted capabilities to the public API and mention this
|
||||
// in the documentation.
|
||||
checkValidCapability(capability);
|
||||
mNetworkCapabilities |= 1 << capability;
|
||||
mUnwantedNetworkCapabilities &= ~(1 << capability); // remove from unwanted capability list
|
||||
mNetworkCapabilities |= 1L << capability;
|
||||
// remove from unwanted capability list
|
||||
mUnwantedNetworkCapabilities &= ~(1L << capability);
|
||||
return this;
|
||||
}
|
||||
|
||||
@@ -612,8 +613,8 @@ public final class NetworkCapabilities implements Parcelable {
|
||||
*/
|
||||
public void addUnwantedCapability(@NetCapability int capability) {
|
||||
checkValidCapability(capability);
|
||||
mUnwantedNetworkCapabilities |= 1 << capability;
|
||||
mNetworkCapabilities &= ~(1 << capability); // remove from requested capabilities
|
||||
mUnwantedNetworkCapabilities |= 1L << capability;
|
||||
mNetworkCapabilities &= ~(1L << capability); // remove from requested capabilities
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -626,7 +627,7 @@ public final class NetworkCapabilities implements Parcelable {
|
||||
*/
|
||||
public @NonNull NetworkCapabilities removeCapability(@NetCapability int capability) {
|
||||
checkValidCapability(capability);
|
||||
final long mask = ~(1 << capability);
|
||||
final long mask = ~(1L << capability);
|
||||
mNetworkCapabilities &= mask;
|
||||
return this;
|
||||
}
|
||||
@@ -641,7 +642,7 @@ public final class NetworkCapabilities implements Parcelable {
|
||||
*/
|
||||
public @NonNull NetworkCapabilities removeUnwantedCapability(@NetCapability int capability) {
|
||||
checkValidCapability(capability);
|
||||
mUnwantedNetworkCapabilities &= ~(1 << capability);
|
||||
mUnwantedNetworkCapabilities &= ~(1L << capability);
|
||||
return this;
|
||||
}
|
||||
|
||||
@@ -709,14 +710,14 @@ public final class NetworkCapabilities implements Parcelable {
|
||||
*/
|
||||
public boolean hasCapability(@NetCapability int capability) {
|
||||
return isValidCapability(capability)
|
||||
&& ((mNetworkCapabilities & (1 << capability)) != 0);
|
||||
&& ((mNetworkCapabilities & (1L << capability)) != 0);
|
||||
}
|
||||
|
||||
/** @hide */
|
||||
@SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
|
||||
public boolean hasUnwantedCapability(@NetCapability int capability) {
|
||||
return isValidCapability(capability)
|
||||
&& ((mUnwantedNetworkCapabilities & (1 << capability)) != 0);
|
||||
&& ((mUnwantedNetworkCapabilities & (1L << capability)) != 0);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user