Connectivity metrics: simplify ConnectivityMetricsEvent
Now that ConnectivityMetricsEvent is only used for core networking
metrics and is not @SystemApi anymore, remove unused fields and prepare
for additional new fields.
Test: updated unit tests, $ runtest frameworks-net passes
Bug: 34901696
Change-Id: I15abad19981d491f16f2a3afe401f1e833079907
diff --git a/core/java/android/net/ConnectivityMetricsEvent.java b/core/java/android/net/ConnectivityMetricsEvent.java
index 6fdc739..1b1b958 100644
--- a/core/java/android/net/ConnectivityMetricsEvent.java
+++ b/core/java/android/net/ConnectivityMetricsEvent.java
@@ -23,35 +23,24 @@
public final class ConnectivityMetricsEvent implements Parcelable {
/** The time when this event was collected, as returned by System.currentTimeMillis(). */
- final public long timestamp;
-
- /** The subsystem that generated the event. One of the COMPONENT_TAG_xxx constants. */
- final public int componentTag;
-
- /** The subsystem-specific event ID. */
- final public int eventTag;
+ public long timestamp;
/** Opaque event-specific data. */
- final public Parcelable data;
+ public Parcelable data;
- public ConnectivityMetricsEvent(long timestamp, int componentTag,
- int eventTag, Parcelable data) {
- this.timestamp = timestamp;
- this.componentTag = componentTag;
- this.eventTag = eventTag;
- this.data = data;
+ public ConnectivityMetricsEvent() {
+ }
+
+ public ConnectivityMetricsEvent(Parcel in) {
+ timestamp = in.readLong();
+ data = in.readParcelable(null);
}
/** Implement the Parcelable interface */
public static final Parcelable.Creator<ConnectivityMetricsEvent> CREATOR
= new Parcelable.Creator<ConnectivityMetricsEvent> (){
public ConnectivityMetricsEvent createFromParcel(Parcel source) {
- final long timestamp = source.readLong();
- final int componentTag = source.readInt();
- final int eventTag = source.readInt();
- final Parcelable data = source.readParcelable(null);
- return new ConnectivityMetricsEvent(timestamp, componentTag,
- eventTag, data);
+ return new ConnectivityMetricsEvent(source);
}
public ConnectivityMetricsEvent[] newArray(int size) {
@@ -59,7 +48,6 @@
}
};
- /** Implement the Parcelable interface */
@Override
public int describeContents() {
return 0;
@@ -68,13 +56,11 @@
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeLong(timestamp);
- dest.writeInt(componentTag);
- dest.writeInt(eventTag);
dest.writeParcelable(data, 0);
}
+ @Override
public String toString() {
- return String.format("ConnectivityMetricsEvent(%tT.%tL, %d, %d): %s",
- timestamp, timestamp, componentTag, eventTag, data);
+ return String.format("ConnectivityMetricsEvent(%tT.%tL): %s", timestamp, timestamp, data);
}
}
diff --git a/core/java/android/net/metrics/IpConnectivityLog.java b/core/java/android/net/metrics/IpConnectivityLog.java
index 173e5fd..aaad1fa 100644
--- a/core/java/android/net/metrics/IpConnectivityLog.java
+++ b/core/java/android/net/metrics/IpConnectivityLog.java
@@ -74,7 +74,10 @@
}
try {
- int left = mService.logEvent(new ConnectivityMetricsEvent(timestamp, 0, 0, data));
+ ConnectivityMetricsEvent ev = new ConnectivityMetricsEvent();
+ ev.timestamp = timestamp;
+ ev.data = data;
+ int left = mService.logEvent(ev);
return left >= 0;
} catch (RemoteException e) {
Log.e(TAG, "Error logging event", e);
diff --git a/tests/net/java/com/android/server/connectivity/IpConnectivityMetricsTest.java b/tests/net/java/com/android/server/connectivity/IpConnectivityMetricsTest.java
index 1f7c5f4..5d34c5c 100644
--- a/tests/net/java/com/android/server/connectivity/IpConnectivityMetricsTest.java
+++ b/tests/net/java/com/android/server/connectivity/IpConnectivityMetricsTest.java
@@ -304,14 +304,15 @@
}
static ConnectivityMetricsEvent expectedEvent(int timestamp) {
- return new ConnectivityMetricsEvent((long)timestamp, 0, 0, FAKE_EV);
+ ConnectivityMetricsEvent ev = new ConnectivityMetricsEvent();
+ ev.timestamp = timestamp;
+ ev.data = FAKE_EV;
+ return ev;
}
/** Outer equality for ConnectivityMetricsEvent to avoid overriding equals() and hashCode(). */
static void assertEventsEqual(ConnectivityMetricsEvent expected, ConnectivityMetricsEvent got) {
assertEquals(expected.timestamp, got.timestamp);
- assertEquals(expected.componentTag, got.componentTag);
- assertEquals(expected.eventTag, got.eventTag);
assertEquals(expected.data, got.data);
}
diff --git a/tests/net/java/com/android/server/connectivity/MetricsTestUtil.java b/tests/net/java/com/android/server/connectivity/MetricsTestUtil.java
index c5965e8..5064b9b 100644
--- a/tests/net/java/com/android/server/connectivity/MetricsTestUtil.java
+++ b/tests/net/java/com/android/server/connectivity/MetricsTestUtil.java
@@ -28,7 +28,10 @@
}
static ConnectivityMetricsEvent ev(Parcelable p) {
- return new ConnectivityMetricsEvent(1L, 0, 0, p);
+ ConnectivityMetricsEvent ev = new ConnectivityMetricsEvent();
+ ev.timestamp = 1L;
+ ev.data = p;
+ return ev;
}
static ConnectivityMetricsEvent describeIpEvent(Consumer<Parcel>... fs) {