From ec27c4d9f33615be1f94d6bb5c5fd1358580ac05 Mon Sep 17 00:00:00 2001 From: Hugo Benichi Date: Wed, 15 Mar 2017 15:07:42 +0900 Subject: [PATCH] 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 --- .../android/net/ConnectivityMetricsEvent.java | 36 ++++++------------- .../net/metrics/IpConnectivityLog.java | 5 ++- .../IpConnectivityMetricsTest.java | 7 ++-- .../server/connectivity/MetricsTestUtil.java | 5 ++- 4 files changed, 23 insertions(+), 30 deletions(-) diff --git a/core/java/android/net/ConnectivityMetricsEvent.java b/core/java/android/net/ConnectivityMetricsEvent.java index 6fdc739a5f542..1b1b958dce9b0 100644 --- a/core/java/android/net/ConnectivityMetricsEvent.java +++ b/core/java/android/net/ConnectivityMetricsEvent.java @@ -23,35 +23,24 @@ import android.os.Parcelable; 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 CREATOR = new Parcelable.Creator (){ 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 @@ public final class ConnectivityMetricsEvent implements Parcelable { } }; - /** Implement the Parcelable interface */ @Override public int describeContents() { return 0; @@ -68,13 +56,11 @@ public final class ConnectivityMetricsEvent implements Parcelable { @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 173e5fd0fbc17..aaad1fa682678 100644 --- a/core/java/android/net/metrics/IpConnectivityLog.java +++ b/core/java/android/net/metrics/IpConnectivityLog.java @@ -74,7 +74,10 @@ public class IpConnectivityLog { } 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 1f7c5f418d748..5d34c5cda345c 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 @@ public class IpConnectivityMetricsTest extends TestCase { } 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 c5965e8ea833f..5064b9bd91b9b 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 @@ abstract public class MetricsTestUtil { } 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... fs) {