Move bit utilities to BitUtils.
Test: BitUtilsTest Change-Id: I3e100c6087f61c2a13aa8558ee8f9a9ad480c681
This commit is contained in:
@@ -34,8 +34,8 @@ import android.service.NetworkIdentityProto;
|
||||
import android.telephony.TelephonyManager;
|
||||
import android.util.proto.ProtoOutputStream;
|
||||
|
||||
import com.android.net.module.util.BitUtils;
|
||||
import com.android.net.module.util.CollectionUtils;
|
||||
import com.android.net.module.util.NetworkCapabilitiesUtils;
|
||||
import com.android.net.module.util.NetworkIdentityUtils;
|
||||
|
||||
import java.lang.annotation.Retention;
|
||||
@@ -172,7 +172,7 @@ public class NetworkIdentity {
|
||||
if (oemManaged == OEM_NONE) {
|
||||
return "OEM_NONE";
|
||||
}
|
||||
final int[] bitPositions = NetworkCapabilitiesUtils.unpackBits(oemManaged);
|
||||
final int[] bitPositions = BitUtils.unpackBits(oemManaged);
|
||||
final ArrayList<String> oemManagedNames = new ArrayList<String>();
|
||||
for (int position : bitPositions) {
|
||||
oemManagedNames.add(nameOfOemManaged(1 << position));
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
package android.net;
|
||||
|
||||
import static com.android.internal.annotations.VisibleForTesting.Visibility.PRIVATE;
|
||||
import static com.android.net.module.util.BitUtils.appendStringRepresentationOfBitMaskToStringBuilder;
|
||||
|
||||
import android.annotation.IntDef;
|
||||
import android.annotation.LongDef;
|
||||
@@ -36,6 +37,7 @@ import android.util.ArraySet;
|
||||
import android.util.Range;
|
||||
|
||||
import com.android.internal.annotations.VisibleForTesting;
|
||||
import com.android.net.module.util.BitUtils;
|
||||
import com.android.net.module.util.CollectionUtils;
|
||||
import com.android.net.module.util.NetworkCapabilitiesUtils;
|
||||
|
||||
@@ -209,7 +211,7 @@ public final class NetworkCapabilities implements Parcelable {
|
||||
if (hasCapability(NET_CAPABILITY_ENTERPRISE) && mEnterpriseId == 0) {
|
||||
return new int[]{NET_ENTERPRISE_ID_1};
|
||||
}
|
||||
return NetworkCapabilitiesUtils.unpackBits(mEnterpriseId);
|
||||
return BitUtils.unpackBits(mEnterpriseId);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -626,7 +628,7 @@ public final class NetworkCapabilities implements Parcelable {
|
||||
* Network capabilities that are expected to be mutable, i.e., can change while a particular
|
||||
* network is connected.
|
||||
*/
|
||||
private static final long MUTABLE_CAPABILITIES = NetworkCapabilitiesUtils.packBitList(
|
||||
private static final long MUTABLE_CAPABILITIES = BitUtils.packBitList(
|
||||
// TRUSTED can change when user explicitly connects to an untrusted network in Settings.
|
||||
// http://b/18206275
|
||||
NET_CAPABILITY_TRUSTED,
|
||||
@@ -661,7 +663,7 @@ public final class NetworkCapabilities implements Parcelable {
|
||||
/**
|
||||
* Capabilities that are set by default when the object is constructed.
|
||||
*/
|
||||
private static final long DEFAULT_CAPABILITIES = NetworkCapabilitiesUtils.packBitList(
|
||||
private static final long DEFAULT_CAPABILITIES = BitUtils.packBitList(
|
||||
NET_CAPABILITY_NOT_RESTRICTED,
|
||||
NET_CAPABILITY_TRUSTED,
|
||||
NET_CAPABILITY_NOT_VPN);
|
||||
@@ -670,7 +672,7 @@ public final class NetworkCapabilities implements Parcelable {
|
||||
* Capabilities that are managed by ConnectivityService.
|
||||
*/
|
||||
private static final long CONNECTIVITY_MANAGED_CAPABILITIES =
|
||||
NetworkCapabilitiesUtils.packBitList(
|
||||
BitUtils.packBitList(
|
||||
NET_CAPABILITY_VALIDATED,
|
||||
NET_CAPABILITY_CAPTIVE_PORTAL,
|
||||
NET_CAPABILITY_FOREGROUND,
|
||||
@@ -683,7 +685,7 @@ public final class NetworkCapabilities implements Parcelable {
|
||||
* INTERNET, IMS, SUPL, etc.
|
||||
*/
|
||||
private static final long TEST_NETWORKS_ALLOWED_CAPABILITIES =
|
||||
NetworkCapabilitiesUtils.packBitList(
|
||||
BitUtils.packBitList(
|
||||
NET_CAPABILITY_NOT_METERED,
|
||||
NET_CAPABILITY_TEMPORARILY_NOT_METERED,
|
||||
NET_CAPABILITY_NOT_RESTRICTED,
|
||||
@@ -783,7 +785,7 @@ public final class NetworkCapabilities implements Parcelable {
|
||||
* @return an array of capability values for this instance.
|
||||
*/
|
||||
public @NonNull @NetCapability int[] getCapabilities() {
|
||||
return NetworkCapabilitiesUtils.unpackBits(mNetworkCapabilities);
|
||||
return BitUtils.unpackBits(mNetworkCapabilities);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -793,7 +795,7 @@ public final class NetworkCapabilities implements Parcelable {
|
||||
* @hide
|
||||
*/
|
||||
public @NetCapability int[] getForbiddenCapabilities() {
|
||||
return NetworkCapabilitiesUtils.unpackBits(mForbiddenNetworkCapabilities);
|
||||
return BitUtils.unpackBits(mForbiddenNetworkCapabilities);
|
||||
}
|
||||
|
||||
|
||||
@@ -805,8 +807,8 @@ public final class NetworkCapabilities implements Parcelable {
|
||||
*/
|
||||
public void setCapabilities(@NetCapability int[] capabilities,
|
||||
@NetCapability int[] forbiddenCapabilities) {
|
||||
mNetworkCapabilities = NetworkCapabilitiesUtils.packBits(capabilities);
|
||||
mForbiddenNetworkCapabilities = NetworkCapabilitiesUtils.packBits(forbiddenCapabilities);
|
||||
mNetworkCapabilities = BitUtils.packBits(capabilities);
|
||||
mForbiddenNetworkCapabilities = BitUtils.packBits(forbiddenCapabilities);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -943,7 +945,7 @@ public final class NetworkCapabilities implements Parcelable {
|
||||
& NON_REQUESTABLE_CAPABILITIES;
|
||||
|
||||
if (nonRequestable != 0) {
|
||||
return capabilityNameOf(NetworkCapabilitiesUtils.unpackBits(nonRequestable)[0]);
|
||||
return capabilityNameOf(BitUtils.unpackBits(nonRequestable)[0]);
|
||||
}
|
||||
if (mLinkUpBandwidthKbps != 0 || mLinkDownBandwidthKbps != 0) return "link bandwidth";
|
||||
if (hasSignalStrength()) return "signalStrength";
|
||||
@@ -1167,7 +1169,7 @@ public final class NetworkCapabilities implements Parcelable {
|
||||
* Allowed transports on an unrestricted test network (in addition to TRANSPORT_TEST).
|
||||
*/
|
||||
private static final long UNRESTRICTED_TEST_NETWORKS_ALLOWED_TRANSPORTS =
|
||||
NetworkCapabilitiesUtils.packBitList(
|
||||
BitUtils.packBitList(
|
||||
TRANSPORT_TEST,
|
||||
// Test eth networks are created with EthernetManager#setIncludeTestInterfaces
|
||||
TRANSPORT_ETHERNET,
|
||||
@@ -1232,7 +1234,7 @@ public final class NetworkCapabilities implements Parcelable {
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull public @Transport int[] getTransportTypes() {
|
||||
return NetworkCapabilitiesUtils.unpackBits(mTransportTypes);
|
||||
return BitUtils.unpackBits(mTransportTypes);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1242,7 +1244,7 @@ public final class NetworkCapabilities implements Parcelable {
|
||||
* @hide
|
||||
*/
|
||||
public void setTransportTypes(@Transport int[] transportTypes) {
|
||||
mTransportTypes = NetworkCapabilitiesUtils.packBits(transportTypes);
|
||||
mTransportTypes = BitUtils.packBits(transportTypes);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -2015,9 +2017,9 @@ public final class NetworkCapabilities implements Parcelable {
|
||||
long oldImmutableCapabilities = this.mNetworkCapabilities & mask;
|
||||
long newImmutableCapabilities = that.mNetworkCapabilities & mask;
|
||||
if (oldImmutableCapabilities != newImmutableCapabilities) {
|
||||
String before = capabilityNamesOf(NetworkCapabilitiesUtils.unpackBits(
|
||||
String before = capabilityNamesOf(BitUtils.unpackBits(
|
||||
oldImmutableCapabilities));
|
||||
String after = capabilityNamesOf(NetworkCapabilitiesUtils.unpackBits(
|
||||
String after = capabilityNamesOf(BitUtils.unpackBits(
|
||||
newImmutableCapabilities));
|
||||
joiner.add(String.format("immutable capabilities changed: %s -> %s", before, after));
|
||||
}
|
||||
@@ -2287,32 +2289,6 @@ public final class NetworkCapabilities implements Parcelable {
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
|
||||
private interface NameOf {
|
||||
String nameOf(int value);
|
||||
}
|
||||
|
||||
/**
|
||||
* @hide
|
||||
*/
|
||||
public static void appendStringRepresentationOfBitMaskToStringBuilder(@NonNull StringBuilder sb,
|
||||
long bitMask, @NonNull NameOf nameFetcher, @NonNull String separator) {
|
||||
int bitPos = 0;
|
||||
boolean firstElementAdded = false;
|
||||
while (bitMask != 0) {
|
||||
if ((bitMask & 1) != 0) {
|
||||
if (firstElementAdded) {
|
||||
sb.append(separator);
|
||||
} else {
|
||||
firstElementAdded = true;
|
||||
}
|
||||
sb.append(nameFetcher.nameOf(bitPos));
|
||||
}
|
||||
bitMask >>>= 1;
|
||||
++bitPos;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @hide
|
||||
*/
|
||||
|
||||
@@ -249,13 +249,13 @@ import com.android.internal.util.MessageUtils;
|
||||
import com.android.modules.utils.BasicShellCommandHandler;
|
||||
import com.android.modules.utils.build.SdkLevel;
|
||||
import com.android.net.module.util.BaseNetdUnsolicitedEventListener;
|
||||
import com.android.net.module.util.BitUtils;
|
||||
import com.android.net.module.util.CollectionUtils;
|
||||
import com.android.net.module.util.DeviceConfigUtils;
|
||||
import com.android.net.module.util.InterfaceParams;
|
||||
import com.android.net.module.util.LinkPropertiesUtils.CompareOrUpdateResult;
|
||||
import com.android.net.module.util.LinkPropertiesUtils.CompareResult;
|
||||
import com.android.net.module.util.LocationPermissionChecker;
|
||||
import com.android.net.module.util.NetworkCapabilitiesUtils;
|
||||
import com.android.net.module.util.PerUidCounter;
|
||||
import com.android.net.module.util.PermissionUtils;
|
||||
import com.android.net.module.util.TcUtils;
|
||||
@@ -7830,7 +7830,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
@NonNull NetworkCapabilities agentCaps, @NonNull NetworkCapabilities newNc) {
|
||||
underlyingNetworks = underlyingNetworksOrDefault(
|
||||
agentCaps.getOwnerUid(), underlyingNetworks);
|
||||
long transportTypes = NetworkCapabilitiesUtils.packBits(agentCaps.getTransportTypes());
|
||||
long transportTypes = BitUtils.packBits(agentCaps.getTransportTypes());
|
||||
int downKbps = NetworkCapabilities.LINK_BANDWIDTH_UNSPECIFIED;
|
||||
int upKbps = NetworkCapabilities.LINK_BANDWIDTH_UNSPECIFIED;
|
||||
// metered if any underlying is metered, or originally declared metered by the agent.
|
||||
@@ -7883,7 +7883,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
suspended = false;
|
||||
}
|
||||
|
||||
newNc.setTransportTypes(NetworkCapabilitiesUtils.unpackBits(transportTypes));
|
||||
newNc.setTransportTypes(BitUtils.unpackBits(transportTypes));
|
||||
newNc.setLinkDownstreamBandwidthKbps(downKbps);
|
||||
newNc.setLinkUpstreamBandwidthKbps(upKbps);
|
||||
newNc.setCapability(NET_CAPABILITY_NOT_METERED, !metered);
|
||||
|
||||
@@ -19,7 +19,7 @@ package android.net.metrics;
|
||||
import static android.net.NetworkCapabilities.TRANSPORT_CELLULAR;
|
||||
import static android.net.NetworkCapabilities.TRANSPORT_WIFI;
|
||||
|
||||
import static com.android.net.module.util.NetworkCapabilitiesUtils.unpackBits;
|
||||
import static com.android.net.module.util.BitUtils.unpackBits;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
Reference in New Issue
Block a user