Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ec27c4d9 authored by Hugo Benichi's avatar Hugo Benichi
Browse files

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
parent dc159ee5
Loading
Loading
Loading
Loading
+11 −25
Original line number Diff line number Diff line
@@ -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() {
    }

    public ConnectivityMetricsEvent(long timestamp, int componentTag,
                                    int eventTag, Parcelable data) {
        this.timestamp = timestamp;
        this.componentTag = componentTag;
        this.eventTag = eventTag;
        this.data = data;
    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 @@ 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);
    }
}
+4 −1
Original line number Diff line number Diff line
@@ -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);
+4 −3
Original line number Diff line number Diff line
@@ -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);
    }

+4 −1
Original line number Diff line number Diff line
@@ -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<Parcel>... fs) {