Remove hidden API usage in metrics toString

Remove usage of hidden NetworkType, transport APIs in toString()
implementations of metrics and data usage classes.

The toString implementations can log the transports or network type as
hex or raw indices. While slightly less readable, the metrics classes
and network type APIs are deprecated.

Bug: 174436414
Test: m
Change-Id: I79239a540b66dadd3bbe0a997960530878331358
This commit is contained in:
Remi NGUYEN VAN
2020-11-30 15:47:53 +09:00
parent 5408268606
commit c755617364
6 changed files with 19 additions and 37 deletions

View File

@@ -19,7 +19,7 @@ package android.net;
import android.os.Parcel;
import android.os.Parcelable;
import com.android.internal.util.BitUtils;
import java.util.BitSet;
/**
* Represents a core networking event defined in package android.net.metrics.
@@ -86,9 +86,7 @@ public final class ConnectivityMetricsEvent implements Parcelable {
if (ifname != null) {
buffer.append(", ").append(ifname);
}
for (int t : BitUtils.unpackBits(transports)) {
buffer.append(", ").append(NetworkCapabilities.transportNameOf(t));
}
buffer.append(", transports=").append(BitSet.valueOf(new long[] { transports }));
buffer.append("): ").append(data.toString());
return buffer.toString();
}

View File

@@ -17,7 +17,6 @@
package android.net;
import static android.net.ConnectivityManager.TYPE_WIFI;
import static android.net.ConnectivityManager.getNetworkTypeName;
import static android.net.ConnectivityManager.isNetworkTypeMobile;
import android.content.Context;
@@ -84,7 +83,7 @@ public class NetworkIdentity implements Comparable<NetworkIdentity> {
@Override
public String toString() {
final StringBuilder builder = new StringBuilder("{");
builder.append("type=").append(getNetworkTypeName(mType));
builder.append("type=").append(mType);
builder.append(", subType=");
if (mSubType == SUBTYPE_COMBINED) {
builder.append("COMBINED");

View File

@@ -16,14 +16,14 @@
package android.net.metrics;
import android.net.NetworkCapabilities;
import android.system.OsConstants;
import android.util.IntArray;
import android.util.SparseIntArray;
import com.android.internal.util.BitUtils;
import com.android.internal.util.TokenBucket;
import java.util.BitSet;
/**
* A class that aggregates connect() statistics.
* {@hide}
@@ -120,10 +120,9 @@ public class ConnectStats {
@Override
public String toString() {
StringBuilder builder =
new StringBuilder("ConnectStats(").append("netId=").append(netId).append(", ");
for (int t : BitUtils.unpackBits(transports)) {
builder.append(NetworkCapabilities.transportNameOf(t)).append(", ");
}
new StringBuilder("ConnectStats(").append("netId=").append(netId)
.append(", transports=").append(BitSet.valueOf(new long[] { transports }))
.append(", ");
builder.append(String.format("%d events, ", eventCount));
builder.append(String.format("%d success, ", connectCount));
builder.append(String.format("%d blocking, ", connectBlockingCount));

View File

@@ -16,12 +16,7 @@
package android.net.metrics;
import static android.net.ConnectivityManager.NETID_UNSET;
import android.net.NetworkCapabilities;
import com.android.internal.util.BitUtils;
import java.util.BitSet;
import java.util.StringJoiner;
/**
@@ -32,8 +27,8 @@ public class DefaultNetworkEvent {
// The creation time in milliseconds of this DefaultNetworkEvent.
public final long creationTimeMs;
// The network ID of the network or NETID_UNSET if none.
public int netId = NETID_UNSET;
// The network ID of the network or 0 if none.
public int netId = 0;
// The list of transport types, as defined in NetworkCapabilities.java.
public int transports;
// The list of transport types of the last previous default network.
@@ -63,9 +58,7 @@ public class DefaultNetworkEvent {
public String toString() {
StringJoiner j = new StringJoiner(", ", "DefaultNetworkEvent(", ")");
j.add("netId=" + netId);
for (int t : BitUtils.unpackBits(transports)) {
j.add(NetworkCapabilities.transportNameOf(t));
}
j.add("transports=" + BitSet.valueOf(new long[] { transports }));
j.add("ip=" + ipSupport());
if (initialScore > 0) {
j.add("initial_score=" + initialScore);

View File

@@ -16,11 +16,8 @@
package android.net.metrics;
import android.net.NetworkCapabilities;
import com.android.internal.util.BitUtils;
import java.util.Arrays;
import java.util.BitSet;
/**
* A batch of DNS events recorded by NetdEventListenerService for a specific network.
@@ -86,10 +83,10 @@ final public class DnsEvent {
@Override
public String toString() {
StringBuilder builder =
new StringBuilder("DnsEvent(").append("netId=").append(netId).append(", ");
for (int t : BitUtils.unpackBits(transports)) {
builder.append(NetworkCapabilities.transportNameOf(t)).append(", ");
}
new StringBuilder("DnsEvent(").append("netId=").append(netId)
.append(", transports=")
.append(BitSet.valueOf(new long[] { transports }))
.append(", ");
builder.append(String.format("%d events, ", eventCount));
builder.append(String.format("%d success)", successCount));
return builder.toString();

View File

@@ -16,11 +16,9 @@
package android.net.metrics;
import android.net.NetworkCapabilities;
import com.android.internal.util.BitUtils;
import com.android.internal.util.TokenBucket;
import java.util.BitSet;
import java.util.StringJoiner;
/**
@@ -144,9 +142,7 @@ public class NetworkMetrics {
public String toString() {
StringJoiner j = new StringJoiner(", ", "{", "}");
j.add("netId=" + netId);
for (int t : BitUtils.unpackBits(transports)) {
j.add(NetworkCapabilities.transportNameOf(t));
}
j.add("transports=" + BitSet.valueOf(new long[] { transports }));
j.add(String.format("dns avg=%dms max=%dms err=%.1f%% tot=%d",
(int) dnsLatencies.average(), (int) dnsLatencies.max,
100 * dnsErrorRate.average(), dnsErrorRate.count));