Pass result list in return value, not in param

Address comment in ag/10101436. Passing the result list in
listEventsAsProto() through return value not through adding to existing
param.

Bug: 146086778
Test: $ incident_report 3049, then compare the content with "dumpsys
      connmetrics"

Change-Id: Icf0c11650883172d6ffeecdf7f898b3c6fb85b27
This commit is contained in:
Mike Ma
2020-01-22 01:36:32 -08:00
parent 6bf8baead4
commit e19df93aad
3 changed files with 14 additions and 10 deletions

View File

@@ -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<IpConnectivityEvent> out) {
public synchronized List<IpConnectivityEvent> listEventsAsProto() {
List<IpConnectivityEvent> 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<IpConnectivityEvent> out) {

View File

@@ -244,9 +244,9 @@ final public class IpConnectivityMetrics extends SystemService {
private List<IpConnectivityEvent> listEventsAsProtos() {
final List<IpConnectivityEvent> events = IpConnectivityEventBuilder.toProto(getEvents());
if (mNetdListener != null) {
mNetdListener.listAsProtos(events);
events.addAll(mNetdListener.listAsProtos());
}
mDefaultNetworkMetrics.listEventsAsProto(events);
events.addAll(mDefaultNetworkMetrics.listEventsAsProto());
return events;
}

View File

@@ -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<IpConnectivityEvent> out) {
public synchronized List<IpConnectivityEvent> listAsProtos() {
List<IpConnectivityEvent> 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) {