summaryrefslogtreecommitdiff
path: root/core/java
diff options
context:
space:
mode:
authorVarun Anand <vaanand@google.com>2019-06-10 22:43:52 +0000
committerVarun Anand <vaanand@google.com>2019-06-10 16:00:38 -0700
commit6a04d49ff2cdea06347e536acc498e3f9a5df1b0 (patch)
tree9b9736a1b462915e99cc7e382d628f4bbcb56b7c /core/java
parent4f16107e3cb1d6e096019eecd895e78134b5ceda (diff)
Revert "NetworkStatsService: Fix getDetailedUidStats to take VPNs into account."
This reverts commit 29d2ef2fe10ce9686b57a21aa8e10f6481c92a9a. Reason for revert: This change has been implicated in 4-way deadlocks as seen in b/134244752. Bug: 134244752 Change-Id: I37f75c2b243ea548a88ef1dae88287405c6ef55f Merged-In: I0c00e8f0e30cee987b71b561079a97bf09d4dae4
Diffstat (limited to 'core/java')
-rw-r--r--core/java/android/net/NetworkStats.java29
1 files changed, 9 insertions, 20 deletions
diff --git a/core/java/android/net/NetworkStats.java b/core/java/android/net/NetworkStats.java
index 27e041496173..9e79606a246b 100644
--- a/core/java/android/net/NetworkStats.java
+++ b/core/java/android/net/NetworkStats.java
@@ -34,7 +34,6 @@ import libcore.util.EmptyArray;
import java.io.CharArrayWriter;
import java.io.PrintWriter;
import java.util.Arrays;
-import java.util.function.Predicate;
import java.util.HashSet;
import java.util.Map;
import java.util.Objects;
@@ -995,33 +994,23 @@ public class NetworkStats implements Parcelable {
if (limitUid == UID_ALL && limitTag == TAG_ALL && limitIfaces == INTERFACES_ALL) {
return;
}
- filter(e -> (limitUid == UID_ALL || limitUid == e.uid)
- && (limitTag == TAG_ALL || limitTag == e.tag)
- && (limitIfaces == INTERFACES_ALL
- || ArrayUtils.contains(limitIfaces, e.iface)));
- }
-
- /**
- * Only keep entries with {@link #set} value less than {@link #SET_DEBUG_START}.
- *
- * <p>This mutates the original structure in place.
- */
- public void filterDebugEntries() {
- filter(e -> e.set < SET_DEBUG_START);
- }
- private void filter(Predicate<Entry> predicate) {
Entry entry = new Entry();
int nextOutputEntry = 0;
for (int i = 0; i < size; i++) {
entry = getValues(i, entry);
- if (predicate.test(entry)) {
- if (nextOutputEntry != i) {
- setValues(nextOutputEntry, entry);
- }
+ final boolean matches =
+ (limitUid == UID_ALL || limitUid == entry.uid)
+ && (limitTag == TAG_ALL || limitTag == entry.tag)
+ && (limitIfaces == INTERFACES_ALL
+ || ArrayUtils.contains(limitIfaces, entry.iface));
+
+ if (matches) {
+ setValues(nextOutputEntry, entry);
nextOutputEntry++;
}
}
+
size = nextOutputEntry;
}