[SP26.2] add a method in NetworkStats that removes empty entries
In current design, entries with zeros are preserved after addition/subtraction. These entries are not very useful and lead to difficulty of verifying the result of addition/subtraction. However, change the behavior in the original NetworkStats is considered risky in current stage. Thus, this change provide a function that could remove these empty entries in tests. Test: atest FrameworksNetTests Bug: 152827872 Bug: 150644692 Change-Id: I40a76935d55712b8083ee1e17e137a8a4ef5e029
This commit is contained in:
@@ -1195,18 +1195,24 @@ public final class NetworkStats implements Parcelable {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Remove all rows that match one of specified UIDs.
|
* Remove all rows that match one of specified UIDs.
|
||||||
|
* This mutates the original structure in place.
|
||||||
* @hide
|
* @hide
|
||||||
*/
|
*/
|
||||||
public void removeUids(int[] uids) {
|
public void removeUids(int[] uids) {
|
||||||
int nextOutputEntry = 0;
|
filter(e -> !ArrayUtils.contains(uids, e.uid));
|
||||||
for (int i = 0; i < size; i++) {
|
}
|
||||||
if (!ArrayUtils.contains(uids, uid[i])) {
|
|
||||||
maybeCopyEntry(nextOutputEntry, i);
|
|
||||||
nextOutputEntry++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
size = nextOutputEntry;
|
/**
|
||||||
|
* Remove all rows that match one of specified UIDs.
|
||||||
|
* @return the result object.
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
|
@NonNull
|
||||||
|
public NetworkStats removeEmptyEntries() {
|
||||||
|
final NetworkStats ret = this.clone();
|
||||||
|
ret.filter(e -> e.rxBytes != 0 || e.rxPackets != 0 || e.txBytes != 0 || e.txPackets != 0
|
||||||
|
|| e.operations != 0);
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user