diff options
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/android/text/TextUtils.java | 7 | ||||
| -rw-r--r-- | core/java/com/android/internal/util/ArrayUtils.java | 13 |
2 files changed, 20 insertions, 0 deletions
diff --git a/core/java/android/text/TextUtils.java b/core/java/android/text/TextUtils.java index 44353b1609b7..81643e90428f 100644 --- a/core/java/android/text/TextUtils.java +++ b/core/java/android/text/TextUtils.java @@ -2182,6 +2182,13 @@ public class TextUtils { return Character.isWhitespace(codePoint) || codePoint == NBSP_CODE_POINT; } + /** @hide */ + @Nullable + public static String withoutPrefix(@Nullable String prefix, @Nullable String str) { + if (prefix == null || str == null) return str; + return str.startsWith(prefix) ? str.substring(prefix.length()) : str; + } + /** * Remove html, remove bad characters, and truncate string. * diff --git a/core/java/com/android/internal/util/ArrayUtils.java b/core/java/com/android/internal/util/ArrayUtils.java index 226b8db1540b..397df56a809c 100644 --- a/core/java/com/android/internal/util/ArrayUtils.java +++ b/core/java/com/android/internal/util/ArrayUtils.java @@ -690,4 +690,17 @@ public class ArrayUtils { } return result; } + + /** + * Returns the first element from the array for which + * condition {@code predicate} is true, or null if there is no such element + */ + public static @Nullable <T> T find(@Nullable T[] items, + @NonNull java.util.function.Predicate<T> predicate) { + if (isEmpty(items)) return null; + for (final T item : items) { + if (predicate.test(item)) return item; + } + return null; + } } |
