From bacde59fb7e5dbf6276d852abb5686d9b263dde4 Mon Sep 17 00:00:00 2001 From: Aaron Huang Date: Wed, 20 Feb 2019 17:14:02 +0800 Subject: apf: Documentation improvements and code optimizations for keepalive filters Optimizing instruction to reduce code size of keepalive filters. Bug: 123992088 Test: atest NetworkStackTests Change-Id: I9ae55977c6d6740277ba55603ee957f33a97ecaa --- src/android/net/util/NetworkStackUtils.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/android/net/util/NetworkStackUtils.java') diff --git a/src/android/net/util/NetworkStackUtils.java b/src/android/net/util/NetworkStackUtils.java index 481dbda..fedb8d1 100644 --- a/src/android/net/util/NetworkStackUtils.java +++ b/src/android/net/util/NetworkStackUtils.java @@ -17,10 +17,13 @@ package android.net.util; import android.annotation.NonNull; +import android.util.SparseArray; import java.io.FileDescriptor; import java.io.IOException; import java.util.List; +import java.util.function.Predicate; + /** * Collection of utilities for the network stack. @@ -65,4 +68,17 @@ public class NetworkStackUtils { } return array; } + + /** + * @return True if there exists at least one element in the sparse array for which + * condition {@code predicate} + */ + public static boolean any(SparseArray array, Predicate predicate) { + for (int i = 0; i < array.size(); ++i) { + if (predicate.test(array.valueAt(i))) { + return true; + } + } + return false; + } } -- cgit v1.2.3