Loading core/java/android/net/NetworkCapabilities.java +57 −23 Original line number Original line Diff line number Diff line Loading @@ -1228,34 +1228,68 @@ public final class NetworkCapabilities implements Parcelable { @Override @Override public String toString() { public String toString() { // TODO: enumerate bits for transports and capabilities instead of creating arrays. final StringBuilder sb = new StringBuilder("["); // TODO: use a StringBuilder instead of string concatenation. if (0 != mTransportTypes) { int[] types = getTransportTypes(); sb.append(" Transports: "); String transports = (types.length > 0) ? " Transports: " + transportNamesOf(types) : ""; appendStringRepresentationOfBitMaskToStringBuilder(sb, mTransportTypes, NetworkCapabilities::transportNameOf, "|"); types = getCapabilities(); } String capabilities = (types.length > 0 ? " Capabilities: " : ""); if (0 != mNetworkCapabilities) { for (int i = 0; i < types.length; ) { sb.append(" Capabilities: "); capabilities += capabilityNameOf(types[i]); appendStringRepresentationOfBitMaskToStringBuilder(sb, mNetworkCapabilities, if (++i < types.length) capabilities += "&"; NetworkCapabilities::capabilityNameOf, "&"); } if (mLinkUpBandwidthKbps > 0) { sb.append(" LinkUpBandwidth>=").append(mLinkUpBandwidthKbps).append("Kbps"); } if (mLinkDownBandwidthKbps > 0) { sb.append(" LinkDnBandwidth>=").append(mLinkDownBandwidthKbps).append("Kbps"); } if (mNetworkSpecifier != null) { sb.append(" Specifier: <").append(mNetworkSpecifier).append(">"); } if (hasSignalStrength()) { sb.append(" SignalStrength: ").append(mSignalStrength); } } String upBand = ((mLinkUpBandwidthKbps > 0) ? " LinkUpBandwidth>=" + if (null != mUids) { mLinkUpBandwidthKbps + "Kbps" : ""); if ((1 == mUids.size()) && (mUids.valueAt(0).count() == 1)) { String dnBand = ((mLinkDownBandwidthKbps > 0) ? " LinkDnBandwidth>=" + sb.append(" Uid: ").append(mUids.valueAt(0).start); mLinkDownBandwidthKbps + "Kbps" : ""); } else { sb.append(" Uids: <").append(mUids).append(">"); String specifier = (mNetworkSpecifier == null ? } "" : " Specifier: <" + mNetworkSpecifier + ">"); } if (mEstablishingVpnAppUid != INVALID_UID) { String signalStrength = (hasSignalStrength() ? " SignalStrength: " + mSignalStrength : ""); sb.append(" EstablishingAppUid: ").append(mEstablishingVpnAppUid); } String uids = (null != mUids ? " Uids: <" + mUids + ">" : ""); sb.append("]"); return sb.toString(); } String establishingAppUid = " EstablishingAppUid: " + mEstablishingVpnAppUid; return "[" + transports + capabilities + upBand + dnBand + specifier + signalStrength private interface NameOf { + uids + establishingAppUid + "]"; String nameOf(int value); } /** * @hide */ public static void appendStringRepresentationOfBitMaskToStringBuilder(StringBuilder sb, long bitMask, NameOf nameFetcher, 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; } } } /** /** Loading core/java/android/net/UidRange.java +7 −2 Original line number Original line Diff line number Diff line Loading @@ -21,8 +21,6 @@ import static android.os.UserHandle.PER_USER_RANGE; import android.os.Parcel; import android.os.Parcel; import android.os.Parcelable; import android.os.Parcelable; import java.lang.IllegalArgumentException; /** /** * An inclusive range of UIDs. * An inclusive range of UIDs. * * Loading Loading @@ -52,6 +50,13 @@ public final class UidRange implements Parcelable { return start <= uid && uid <= stop; return start <= uid && uid <= stop; } } /** * Returns the count of UIDs in this range. */ public int count() { return 1 + stop - start; } /** /** * @return {@code true} if this range contains every UID contained by the {@param other} range. * @return {@code true} if this range contains every UID contained by the {@param other} range. */ */ Loading Loading
core/java/android/net/NetworkCapabilities.java +57 −23 Original line number Original line Diff line number Diff line Loading @@ -1228,34 +1228,68 @@ public final class NetworkCapabilities implements Parcelable { @Override @Override public String toString() { public String toString() { // TODO: enumerate bits for transports and capabilities instead of creating arrays. final StringBuilder sb = new StringBuilder("["); // TODO: use a StringBuilder instead of string concatenation. if (0 != mTransportTypes) { int[] types = getTransportTypes(); sb.append(" Transports: "); String transports = (types.length > 0) ? " Transports: " + transportNamesOf(types) : ""; appendStringRepresentationOfBitMaskToStringBuilder(sb, mTransportTypes, NetworkCapabilities::transportNameOf, "|"); types = getCapabilities(); } String capabilities = (types.length > 0 ? " Capabilities: " : ""); if (0 != mNetworkCapabilities) { for (int i = 0; i < types.length; ) { sb.append(" Capabilities: "); capabilities += capabilityNameOf(types[i]); appendStringRepresentationOfBitMaskToStringBuilder(sb, mNetworkCapabilities, if (++i < types.length) capabilities += "&"; NetworkCapabilities::capabilityNameOf, "&"); } if (mLinkUpBandwidthKbps > 0) { sb.append(" LinkUpBandwidth>=").append(mLinkUpBandwidthKbps).append("Kbps"); } if (mLinkDownBandwidthKbps > 0) { sb.append(" LinkDnBandwidth>=").append(mLinkDownBandwidthKbps).append("Kbps"); } if (mNetworkSpecifier != null) { sb.append(" Specifier: <").append(mNetworkSpecifier).append(">"); } if (hasSignalStrength()) { sb.append(" SignalStrength: ").append(mSignalStrength); } } String upBand = ((mLinkUpBandwidthKbps > 0) ? " LinkUpBandwidth>=" + if (null != mUids) { mLinkUpBandwidthKbps + "Kbps" : ""); if ((1 == mUids.size()) && (mUids.valueAt(0).count() == 1)) { String dnBand = ((mLinkDownBandwidthKbps > 0) ? " LinkDnBandwidth>=" + sb.append(" Uid: ").append(mUids.valueAt(0).start); mLinkDownBandwidthKbps + "Kbps" : ""); } else { sb.append(" Uids: <").append(mUids).append(">"); String specifier = (mNetworkSpecifier == null ? } "" : " Specifier: <" + mNetworkSpecifier + ">"); } if (mEstablishingVpnAppUid != INVALID_UID) { String signalStrength = (hasSignalStrength() ? " SignalStrength: " + mSignalStrength : ""); sb.append(" EstablishingAppUid: ").append(mEstablishingVpnAppUid); } String uids = (null != mUids ? " Uids: <" + mUids + ">" : ""); sb.append("]"); return sb.toString(); } String establishingAppUid = " EstablishingAppUid: " + mEstablishingVpnAppUid; return "[" + transports + capabilities + upBand + dnBand + specifier + signalStrength private interface NameOf { + uids + establishingAppUid + "]"; String nameOf(int value); } /** * @hide */ public static void appendStringRepresentationOfBitMaskToStringBuilder(StringBuilder sb, long bitMask, NameOf nameFetcher, 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; } } } /** /** Loading
core/java/android/net/UidRange.java +7 −2 Original line number Original line Diff line number Diff line Loading @@ -21,8 +21,6 @@ import static android.os.UserHandle.PER_USER_RANGE; import android.os.Parcel; import android.os.Parcel; import android.os.Parcelable; import android.os.Parcelable; import java.lang.IllegalArgumentException; /** /** * An inclusive range of UIDs. * An inclusive range of UIDs. * * Loading Loading @@ -52,6 +50,13 @@ public final class UidRange implements Parcelable { return start <= uid && uid <= stop; return start <= uid && uid <= stop; } } /** * Returns the count of UIDs in this range. */ public int count() { return 1 + stop - start; } /** /** * @return {@code true} if this range contains every UID contained by the {@param other} range. * @return {@code true} if this range contains every UID contained by the {@param other} range. */ */ Loading