Merge "Move appendBoolean to ArrayUtils" into main
diff --git a/core/java/com/android/internal/pm/parsing/pkg/PackageImpl.java b/core/java/com/android/internal/pm/parsing/pkg/PackageImpl.java
index f7e1f72..83acc47 100644
--- a/core/java/com/android/internal/pm/parsing/pkg/PackageImpl.java
+++ b/core/java/com/android/internal/pm/parsing/pkg/PackageImpl.java
@@ -726,26 +726,11 @@
this.usesSdkLibrariesVersionsMajor, versionMajor, true);
this.usesSdkLibrariesCertDigests = ArrayUtils.appendElement(String[].class,
this.usesSdkLibrariesCertDigests, certSha256Digests, true);
- this.usesSdkLibrariesOptional = appendBoolean(this.usesSdkLibrariesOptional,
+ this.usesSdkLibrariesOptional = ArrayUtils.appendBoolean(this.usesSdkLibrariesOptional,
usesSdkLibrariesOptional);
return this;
}
- /**
- * Adds value to given array if not already present, providing set-like
- * behavior.
- */
- public static boolean[] appendBoolean(@Nullable boolean[] cur, boolean val) {
- if (cur == null) {
- return new boolean[] { val };
- }
- final int N = cur.length;
- boolean[] ret = new boolean[N + 1];
- System.arraycopy(cur, 0, ret, 0, N);
- ret[N] = val;
- return ret;
- }
-
@Override
public PackageImpl addUsesStaticLibrary(String libraryName, long version,
String[] certSha256Digests) {
diff --git a/core/java/com/android/internal/util/ArrayUtils.java b/core/java/com/android/internal/util/ArrayUtils.java
index 9d0be4b..8f00f79 100644
--- a/core/java/com/android/internal/util/ArrayUtils.java
+++ b/core/java/com/android/internal/util/ArrayUtils.java
@@ -623,6 +623,21 @@
* Adds value to given array if not already present, providing set-like
* behavior.
*/
+ public static boolean[] appendBoolean(@Nullable boolean[] cur, boolean val) {
+ if (cur == null) {
+ return new boolean[] { val };
+ }
+ final int N = cur.length;
+ boolean[] ret = new boolean[N + 1];
+ System.arraycopy(cur, 0, ret, 0, N);
+ ret[N] = val;
+ return ret;
+ }
+
+ /**
+ * Adds value to given array if not already present, providing set-like
+ * behavior.
+ */
public static @NonNull long[] appendLong(@Nullable long[] cur, long val) {
return appendLong(cur, val, false);
}
diff --git a/core/tests/utiltests/src/com/android/internal/util/ArrayUtilsTest.java b/core/tests/utiltests/src/com/android/internal/util/ArrayUtilsTest.java
index 0c5e966..fc233fb 100644
--- a/core/tests/utiltests/src/com/android/internal/util/ArrayUtilsTest.java
+++ b/core/tests/utiltests/src/com/android/internal/util/ArrayUtilsTest.java
@@ -161,6 +161,18 @@
}
@Test
+ public void testAppendBoolean() throws Exception {
+ assertArrayEquals(new boolean[] { true },
+ ArrayUtils.appendBoolean(null, true));
+ assertArrayEquals(new boolean[] { true },
+ ArrayUtils.appendBoolean(new boolean[] { }, true));
+ assertArrayEquals(new boolean[] { true, false },
+ ArrayUtils.appendBoolean(new boolean[] { true }, false));
+ assertArrayEquals(new boolean[] { true, true },
+ ArrayUtils.appendBoolean(new boolean[] { true }, true));
+ }
+
+ @Test
public void testRemoveLong() throws Exception {
assertNull(ArrayUtils.removeLong(null, 1));
assertArrayEquals(new long[] { },
diff --git a/services/core/java/com/android/server/pm/Settings.java b/services/core/java/com/android/server/pm/Settings.java
index d695226..cdf1f94 100644
--- a/services/core/java/com/android/server/pm/Settings.java
+++ b/services/core/java/com/android/server/pm/Settings.java
@@ -2570,7 +2570,7 @@
outPs.getUsesSdkLibraries(), libName));
outPs.setUsesSdkLibrariesVersionsMajor(ArrayUtils.appendLong(
outPs.getUsesSdkLibrariesVersionsMajor(), libVersion));
- outPs.setUsesSdkLibrariesOptional(PackageImpl.appendBoolean(
+ outPs.setUsesSdkLibrariesOptional(ArrayUtils.appendBoolean(
outPs.getUsesSdkLibrariesOptional(), optional));
}