diff --git a/services/core/java/com/android/server/connectivity/DefaultNetworkMetrics.java b/services/core/java/com/android/server/connectivity/DefaultNetworkMetrics.java index 299cb66faf0c0..4fb6607a6b08f 100644 --- a/services/core/java/com/android/server/connectivity/DefaultNetworkMetrics.java +++ b/services/core/java/com/android/server/connectivity/DefaultNetworkMetrics.java @@ -82,12 +82,14 @@ public class DefaultNetworkMetrics { } /** - * Convert events in the ring buffer to protos and add to the given list + * Convert events in the ring buffer to a list of IpConnectivityEvent protos */ - public synchronized void listEventsAsProto(List out) { + public synchronized List listEventsAsProto() { + List list = new ArrayList<>(); for (DefaultNetworkEvent ev : mEventsLog.toArray()) { - out.add(IpConnectivityEventBuilder.toProto(ev)); + list.add(IpConnectivityEventBuilder.toProto(ev)); } + return list; } public synchronized void flushEvents(List out) { diff --git a/services/core/java/com/android/server/connectivity/IpConnectivityMetrics.java b/services/core/java/com/android/server/connectivity/IpConnectivityMetrics.java index 1337a93476bc2..2c06d8230f134 100644 --- a/services/core/java/com/android/server/connectivity/IpConnectivityMetrics.java +++ b/services/core/java/com/android/server/connectivity/IpConnectivityMetrics.java @@ -244,9 +244,9 @@ final public class IpConnectivityMetrics extends SystemService { private List listEventsAsProtos() { final List events = IpConnectivityEventBuilder.toProto(getEvents()); if (mNetdListener != null) { - mNetdListener.listAsProtos(events); + events.addAll(mNetdListener.listAsProtos()); } - mDefaultNetworkMetrics.listEventsAsProto(events); + events.addAll(mDefaultNetworkMetrics.listEventsAsProto()); return events; } diff --git a/services/core/java/com/android/server/connectivity/NetdEventListenerService.java b/services/core/java/com/android/server/connectivity/NetdEventListenerService.java index 0d3105139b883..f2892cc81951a 100644 --- a/services/core/java/com/android/server/connectivity/NetdEventListenerService.java +++ b/services/core/java/com/android/server/connectivity/NetdEventListenerService.java @@ -367,18 +367,20 @@ public class NetdEventListenerService extends INetdEventListener.Stub { } /** - * Convert events in the buffer to protos and add to the given list + * Convert events in the buffer to a list of IpConnectivityEvent protos */ - public synchronized void listAsProtos(List out) { + public synchronized List listAsProtos() { + List list = new ArrayList<>(); for (int i = 0; i < mNetworkMetrics.size(); i++) { - out.add(IpConnectivityEventBuilder.toProto(mNetworkMetrics.valueAt(i).connectMetrics)); + list.add(IpConnectivityEventBuilder.toProto(mNetworkMetrics.valueAt(i).connectMetrics)); } for (int i = 0; i < mNetworkMetrics.size(); i++) { - out.add(IpConnectivityEventBuilder.toProto(mNetworkMetrics.valueAt(i).dnsMetrics)); + list.add(IpConnectivityEventBuilder.toProto(mNetworkMetrics.valueAt(i).dnsMetrics)); } for (int i = 0; i < mWakeupStats.size(); i++) { - out.add(IpConnectivityEventBuilder.toProto(mWakeupStats.valueAt(i))); + list.add(IpConnectivityEventBuilder.toProto(mWakeupStats.valueAt(i))); } + return list; } private long getTransports(int netId) {