From f3fe279f50659693762bbeec438d28dfd32286c9 Mon Sep 17 00:00:00 2001 From: Hugo Benichi Date: Wed, 11 Jan 2017 10:11:26 +0900 Subject: [PATCH] IP connectivity metrics: cleanup obsolete code This patch cleans obsolete code related to IP connectivity metrics: - remove @SystemApi on android.net.metrics: now that metrics events are processed and serialized in the frameworks only, event classes should not appear in the system apis. - remove obsolete Logger classes: ConnectivityMetrics app was the unique user of ConnectivityMetricsLogger until nyc-mr1. From nyc-mr1 the app started using dumpsys to get metrics for IpConnectivity and Telephony, which made ConnectivityMetricsLogger obsolete. - simplifications in MetricsTestUtil Test: - runtest frameworks-net - manually verified $ adb shell dumpsys connmetrics Bug: 30054585 Bug: 32648597 Change-Id: I85ef65f7f69eb9299e4636cc7af54067201d9daf --- .../server/connectivity/MetricsTestUtil.java | 88 +++++-------------- 1 file changed, 23 insertions(+), 65 deletions(-) diff --git a/tests/net/java/com/android/server/connectivity/MetricsTestUtil.java b/tests/net/java/com/android/server/connectivity/MetricsTestUtil.java index e201012781..c5965e8ea8 100644 --- a/tests/net/java/com/android/server/connectivity/MetricsTestUtil.java +++ b/tests/net/java/com/android/server/connectivity/MetricsTestUtil.java @@ -17,101 +17,59 @@ package com.android.server.connectivity; import android.net.ConnectivityMetricsEvent; -import android.net.ConnectivityMetricsLogger; import android.os.Bundle; import android.os.Parcel; import android.os.Parcelable; +import java.util.function.Consumer; + abstract public class MetricsTestUtil { private MetricsTestUtil() { } - static ConnectivityMetricsEvent ipEv(Parcelable p) { - return ev(ConnectivityMetricsLogger.COMPONENT_TAG_CONNECTIVITY, p); + static ConnectivityMetricsEvent ev(Parcelable p) { + return new ConnectivityMetricsEvent(1L, 0, 0, p); } - static ConnectivityMetricsEvent telephonyEv() { - return ev(ConnectivityMetricsLogger.COMPONENT_TAG_TELEPHONY, new Bundle()); - } - - static ConnectivityMetricsEvent ev(int tag, Parcelable p) { - return new ConnectivityMetricsEvent(1L, tag, 0, p); - } - - // Utiliy interface for describing the content of a Parcel. This relies on - // the implementation defails of Parcelable and on the fact that the fully - // qualified Parcelable class names are written as string in the Parcels. - interface ParcelField { - void write(Parcel p); - } - - static ConnectivityMetricsEvent describeIpEvent(ParcelField... fs) { + static ConnectivityMetricsEvent describeIpEvent(Consumer... fs) { Parcel p = Parcel.obtain(); - for (ParcelField f : fs) { - f.write(p); + for (Consumer f : fs) { + f.accept(p); } p.setDataPosition(0); - return ipEv(p.readParcelable(ClassLoader.getSystemClassLoader())); + return ev(p.readParcelable(ClassLoader.getSystemClassLoader())); } - static ParcelField aType(Class c) { - return new ParcelField() { - public void write(Parcel p) { - p.writeString(c.getName()); - } - }; + static Consumer aType(Class c) { + return aString(c.getName()); } - static ParcelField aBool(boolean b) { + static Consumer aBool(boolean b) { return aByte((byte) (b ? 1 : 0)); } - static ParcelField aByte(byte b) { - return new ParcelField() { - public void write(Parcel p) { - p.writeByte(b); - } - }; + static Consumer aByte(byte b) { + return (p) -> p.writeByte(b); } - static ParcelField anInt(int i) { - return new ParcelField() { - public void write(Parcel p) { - p.writeInt(i); - } - }; + static Consumer anInt(int i) { + return (p) -> p.writeInt(i); } - static ParcelField aLong(long l) { - return new ParcelField() { - public void write(Parcel p) { - p.writeLong(l); - } - }; + static Consumer aLong(long l) { + return (p) -> p.writeLong(l); } - static ParcelField aString(String s) { - return new ParcelField() { - public void write(Parcel p) { - p.writeString(s); - } - }; + static Consumer aString(String s) { + return (p) -> p.writeString(s); } - static ParcelField aByteArray(byte... ary) { - return new ParcelField() { - public void write(Parcel p) { - p.writeByteArray(ary); - } - }; + static Consumer aByteArray(byte... ary) { + return (p) -> p.writeByteArray(ary); } - static ParcelField anIntArray(int... ary) { - return new ParcelField() { - public void write(Parcel p) { - p.writeIntArray(ary); - } - }; + static Consumer anIntArray(int... ary) { + return (p) -> p.writeIntArray(ary); } static byte b(int i) {