Merge "Move bit utilities to BitUtils."
This commit is contained in:
@@ -34,8 +34,8 @@ import android.service.NetworkIdentityProto;
|
|||||||
import android.telephony.TelephonyManager;
|
import android.telephony.TelephonyManager;
|
||||||
import android.util.proto.ProtoOutputStream;
|
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.CollectionUtils;
|
||||||
import com.android.net.module.util.NetworkCapabilitiesUtils;
|
|
||||||
import com.android.net.module.util.NetworkIdentityUtils;
|
import com.android.net.module.util.NetworkIdentityUtils;
|
||||||
|
|
||||||
import java.lang.annotation.Retention;
|
import java.lang.annotation.Retention;
|
||||||
@@ -172,7 +172,7 @@ public class NetworkIdentity {
|
|||||||
if (oemManaged == OEM_NONE) {
|
if (oemManaged == OEM_NONE) {
|
||||||
return "OEM_NONE";
|
return "OEM_NONE";
|
||||||
}
|
}
|
||||||
final int[] bitPositions = NetworkCapabilitiesUtils.unpackBits(oemManaged);
|
final int[] bitPositions = BitUtils.unpackBits(oemManaged);
|
||||||
final ArrayList<String> oemManagedNames = new ArrayList<String>();
|
final ArrayList<String> oemManagedNames = new ArrayList<String>();
|
||||||
for (int position : bitPositions) {
|
for (int position : bitPositions) {
|
||||||
oemManagedNames.add(nameOfOemManaged(1 << position));
|
oemManagedNames.add(nameOfOemManaged(1 << position));
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
package android.net;
|
package android.net;
|
||||||
|
|
||||||
import static com.android.internal.annotations.VisibleForTesting.Visibility.PRIVATE;
|
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.IntDef;
|
||||||
import android.annotation.LongDef;
|
import android.annotation.LongDef;
|
||||||
@@ -36,6 +37,7 @@ import android.util.ArraySet;
|
|||||||
import android.util.Range;
|
import android.util.Range;
|
||||||
|
|
||||||
import com.android.internal.annotations.VisibleForTesting;
|
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.CollectionUtils;
|
||||||
import com.android.net.module.util.NetworkCapabilitiesUtils;
|
import com.android.net.module.util.NetworkCapabilitiesUtils;
|
||||||
|
|
||||||
@@ -217,7 +219,7 @@ public final class NetworkCapabilities implements Parcelable {
|
|||||||
if (hasCapability(NET_CAPABILITY_ENTERPRISE) && mEnterpriseId == 0) {
|
if (hasCapability(NET_CAPABILITY_ENTERPRISE) && mEnterpriseId == 0) {
|
||||||
return new int[]{NET_ENTERPRISE_ID_1};
|
return new int[]{NET_ENTERPRISE_ID_1};
|
||||||
}
|
}
|
||||||
return NetworkCapabilitiesUtils.unpackBits(mEnterpriseId);
|
return BitUtils.unpackBits(mEnterpriseId);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -643,7 +645,7 @@ public final class NetworkCapabilities implements Parcelable {
|
|||||||
* Network capabilities that are expected to be mutable, i.e., can change while a particular
|
* Network capabilities that are expected to be mutable, i.e., can change while a particular
|
||||||
* network is connected.
|
* 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.
|
// TRUSTED can change when user explicitly connects to an untrusted network in Settings.
|
||||||
// http://b/18206275
|
// http://b/18206275
|
||||||
NET_CAPABILITY_TRUSTED,
|
NET_CAPABILITY_TRUSTED,
|
||||||
@@ -678,7 +680,7 @@ public final class NetworkCapabilities implements Parcelable {
|
|||||||
/**
|
/**
|
||||||
* Capabilities that are set by default when the object is constructed.
|
* 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_NOT_RESTRICTED,
|
||||||
NET_CAPABILITY_TRUSTED,
|
NET_CAPABILITY_TRUSTED,
|
||||||
NET_CAPABILITY_NOT_VPN);
|
NET_CAPABILITY_NOT_VPN);
|
||||||
@@ -687,7 +689,7 @@ public final class NetworkCapabilities implements Parcelable {
|
|||||||
* Capabilities that are managed by ConnectivityService.
|
* Capabilities that are managed by ConnectivityService.
|
||||||
*/
|
*/
|
||||||
private static final long CONNECTIVITY_MANAGED_CAPABILITIES =
|
private static final long CONNECTIVITY_MANAGED_CAPABILITIES =
|
||||||
NetworkCapabilitiesUtils.packBitList(
|
BitUtils.packBitList(
|
||||||
NET_CAPABILITY_VALIDATED,
|
NET_CAPABILITY_VALIDATED,
|
||||||
NET_CAPABILITY_CAPTIVE_PORTAL,
|
NET_CAPABILITY_CAPTIVE_PORTAL,
|
||||||
NET_CAPABILITY_FOREGROUND,
|
NET_CAPABILITY_FOREGROUND,
|
||||||
@@ -700,7 +702,7 @@ public final class NetworkCapabilities implements Parcelable {
|
|||||||
* INTERNET, IMS, SUPL, etc.
|
* INTERNET, IMS, SUPL, etc.
|
||||||
*/
|
*/
|
||||||
private static final long TEST_NETWORKS_ALLOWED_CAPABILITIES =
|
private static final long TEST_NETWORKS_ALLOWED_CAPABILITIES =
|
||||||
NetworkCapabilitiesUtils.packBitList(
|
BitUtils.packBitList(
|
||||||
NET_CAPABILITY_NOT_METERED,
|
NET_CAPABILITY_NOT_METERED,
|
||||||
NET_CAPABILITY_TEMPORARILY_NOT_METERED,
|
NET_CAPABILITY_TEMPORARILY_NOT_METERED,
|
||||||
NET_CAPABILITY_NOT_RESTRICTED,
|
NET_CAPABILITY_NOT_RESTRICTED,
|
||||||
@@ -800,7 +802,7 @@ public final class NetworkCapabilities implements Parcelable {
|
|||||||
* @return an array of capability values for this instance.
|
* @return an array of capability values for this instance.
|
||||||
*/
|
*/
|
||||||
public @NonNull @NetCapability int[] getCapabilities() {
|
public @NonNull @NetCapability int[] getCapabilities() {
|
||||||
return NetworkCapabilitiesUtils.unpackBits(mNetworkCapabilities);
|
return BitUtils.unpackBits(mNetworkCapabilities);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -810,7 +812,7 @@ public final class NetworkCapabilities implements Parcelable {
|
|||||||
* @hide
|
* @hide
|
||||||
*/
|
*/
|
||||||
public @NetCapability int[] getForbiddenCapabilities() {
|
public @NetCapability int[] getForbiddenCapabilities() {
|
||||||
return NetworkCapabilitiesUtils.unpackBits(mForbiddenNetworkCapabilities);
|
return BitUtils.unpackBits(mForbiddenNetworkCapabilities);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -822,8 +824,8 @@ public final class NetworkCapabilities implements Parcelable {
|
|||||||
*/
|
*/
|
||||||
public void setCapabilities(@NetCapability int[] capabilities,
|
public void setCapabilities(@NetCapability int[] capabilities,
|
||||||
@NetCapability int[] forbiddenCapabilities) {
|
@NetCapability int[] forbiddenCapabilities) {
|
||||||
mNetworkCapabilities = NetworkCapabilitiesUtils.packBits(capabilities);
|
mNetworkCapabilities = BitUtils.packBits(capabilities);
|
||||||
mForbiddenNetworkCapabilities = NetworkCapabilitiesUtils.packBits(forbiddenCapabilities);
|
mForbiddenNetworkCapabilities = BitUtils.packBits(forbiddenCapabilities);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -960,7 +962,7 @@ public final class NetworkCapabilities implements Parcelable {
|
|||||||
& NON_REQUESTABLE_CAPABILITIES;
|
& NON_REQUESTABLE_CAPABILITIES;
|
||||||
|
|
||||||
if (nonRequestable != 0) {
|
if (nonRequestable != 0) {
|
||||||
return capabilityNameOf(NetworkCapabilitiesUtils.unpackBits(nonRequestable)[0]);
|
return capabilityNameOf(BitUtils.unpackBits(nonRequestable)[0]);
|
||||||
}
|
}
|
||||||
if (mLinkUpBandwidthKbps != 0 || mLinkDownBandwidthKbps != 0) return "link bandwidth";
|
if (mLinkUpBandwidthKbps != 0 || mLinkDownBandwidthKbps != 0) return "link bandwidth";
|
||||||
if (hasSignalStrength()) return "signalStrength";
|
if (hasSignalStrength()) return "signalStrength";
|
||||||
@@ -1193,7 +1195,7 @@ public final class NetworkCapabilities implements Parcelable {
|
|||||||
* Allowed transports on an unrestricted test network (in addition to TRANSPORT_TEST).
|
* Allowed transports on an unrestricted test network (in addition to TRANSPORT_TEST).
|
||||||
*/
|
*/
|
||||||
private static final long UNRESTRICTED_TEST_NETWORKS_ALLOWED_TRANSPORTS =
|
private static final long UNRESTRICTED_TEST_NETWORKS_ALLOWED_TRANSPORTS =
|
||||||
NetworkCapabilitiesUtils.packBitList(
|
BitUtils.packBitList(
|
||||||
TRANSPORT_TEST,
|
TRANSPORT_TEST,
|
||||||
// Test eth networks are created with EthernetManager#setIncludeTestInterfaces
|
// Test eth networks are created with EthernetManager#setIncludeTestInterfaces
|
||||||
TRANSPORT_ETHERNET,
|
TRANSPORT_ETHERNET,
|
||||||
@@ -1258,7 +1260,7 @@ public final class NetworkCapabilities implements Parcelable {
|
|||||||
*/
|
*/
|
||||||
@SystemApi
|
@SystemApi
|
||||||
@NonNull public @Transport int[] getTransportTypes() {
|
@NonNull public @Transport int[] getTransportTypes() {
|
||||||
return NetworkCapabilitiesUtils.unpackBits(mTransportTypes);
|
return BitUtils.unpackBits(mTransportTypes);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1268,7 +1270,7 @@ public final class NetworkCapabilities implements Parcelable {
|
|||||||
* @hide
|
* @hide
|
||||||
*/
|
*/
|
||||||
public void setTransportTypes(@Transport int[] transportTypes) {
|
public void setTransportTypes(@Transport int[] transportTypes) {
|
||||||
mTransportTypes = NetworkCapabilitiesUtils.packBits(transportTypes);
|
mTransportTypes = BitUtils.packBits(transportTypes);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -2041,9 +2043,9 @@ public final class NetworkCapabilities implements Parcelable {
|
|||||||
long oldImmutableCapabilities = this.mNetworkCapabilities & mask;
|
long oldImmutableCapabilities = this.mNetworkCapabilities & mask;
|
||||||
long newImmutableCapabilities = that.mNetworkCapabilities & mask;
|
long newImmutableCapabilities = that.mNetworkCapabilities & mask;
|
||||||
if (oldImmutableCapabilities != newImmutableCapabilities) {
|
if (oldImmutableCapabilities != newImmutableCapabilities) {
|
||||||
String before = capabilityNamesOf(NetworkCapabilitiesUtils.unpackBits(
|
String before = capabilityNamesOf(BitUtils.unpackBits(
|
||||||
oldImmutableCapabilities));
|
oldImmutableCapabilities));
|
||||||
String after = capabilityNamesOf(NetworkCapabilitiesUtils.unpackBits(
|
String after = capabilityNamesOf(BitUtils.unpackBits(
|
||||||
newImmutableCapabilities));
|
newImmutableCapabilities));
|
||||||
joiner.add(String.format("immutable capabilities changed: %s -> %s", before, after));
|
joiner.add(String.format("immutable capabilities changed: %s -> %s", before, after));
|
||||||
}
|
}
|
||||||
@@ -2313,32 +2315,6 @@ public final class NetworkCapabilities implements Parcelable {
|
|||||||
return sb.toString();
|
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
|
* @hide
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -249,13 +249,13 @@ import com.android.internal.util.MessageUtils;
|
|||||||
import com.android.modules.utils.BasicShellCommandHandler;
|
import com.android.modules.utils.BasicShellCommandHandler;
|
||||||
import com.android.modules.utils.build.SdkLevel;
|
import com.android.modules.utils.build.SdkLevel;
|
||||||
import com.android.net.module.util.BaseNetdUnsolicitedEventListener;
|
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.CollectionUtils;
|
||||||
import com.android.net.module.util.DeviceConfigUtils;
|
import com.android.net.module.util.DeviceConfigUtils;
|
||||||
import com.android.net.module.util.InterfaceParams;
|
import com.android.net.module.util.InterfaceParams;
|
||||||
import com.android.net.module.util.LinkPropertiesUtils.CompareOrUpdateResult;
|
import com.android.net.module.util.LinkPropertiesUtils.CompareOrUpdateResult;
|
||||||
import com.android.net.module.util.LinkPropertiesUtils.CompareResult;
|
import com.android.net.module.util.LinkPropertiesUtils.CompareResult;
|
||||||
import com.android.net.module.util.LocationPermissionChecker;
|
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.PerUidCounter;
|
||||||
import com.android.net.module.util.PermissionUtils;
|
import com.android.net.module.util.PermissionUtils;
|
||||||
import com.android.net.module.util.TcUtils;
|
import com.android.net.module.util.TcUtils;
|
||||||
@@ -7843,7 +7843,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
@NonNull NetworkCapabilities agentCaps, @NonNull NetworkCapabilities newNc) {
|
@NonNull NetworkCapabilities agentCaps, @NonNull NetworkCapabilities newNc) {
|
||||||
underlyingNetworks = underlyingNetworksOrDefault(
|
underlyingNetworks = underlyingNetworksOrDefault(
|
||||||
agentCaps.getOwnerUid(), underlyingNetworks);
|
agentCaps.getOwnerUid(), underlyingNetworks);
|
||||||
long transportTypes = NetworkCapabilitiesUtils.packBits(agentCaps.getTransportTypes());
|
long transportTypes = BitUtils.packBits(agentCaps.getTransportTypes());
|
||||||
int downKbps = NetworkCapabilities.LINK_BANDWIDTH_UNSPECIFIED;
|
int downKbps = NetworkCapabilities.LINK_BANDWIDTH_UNSPECIFIED;
|
||||||
int upKbps = NetworkCapabilities.LINK_BANDWIDTH_UNSPECIFIED;
|
int upKbps = NetworkCapabilities.LINK_BANDWIDTH_UNSPECIFIED;
|
||||||
// metered if any underlying is metered, or originally declared metered by the agent.
|
// metered if any underlying is metered, or originally declared metered by the agent.
|
||||||
@@ -7896,7 +7896,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
suspended = false;
|
suspended = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
newNc.setTransportTypes(NetworkCapabilitiesUtils.unpackBits(transportTypes));
|
newNc.setTransportTypes(BitUtils.unpackBits(transportTypes));
|
||||||
newNc.setLinkDownstreamBandwidthKbps(downKbps);
|
newNc.setLinkDownstreamBandwidthKbps(downKbps);
|
||||||
newNc.setLinkUpstreamBandwidthKbps(upKbps);
|
newNc.setLinkUpstreamBandwidthKbps(upKbps);
|
||||||
newNc.setCapability(NET_CAPABILITY_NOT_METERED, !metered);
|
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_CELLULAR;
|
||||||
import static android.net.NetworkCapabilities.TRANSPORT_WIFI;
|
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.assertEquals;
|
||||||
import static org.junit.Assert.assertTrue;
|
import static org.junit.Assert.assertTrue;
|
||||||
|
|||||||
Reference in New Issue
Block a user