Append entries for real
Test: manual bug:35447008 Change-Id: I8ddbd39395f5064f7797562c3a423ba555c0c933
This commit is contained in:
@@ -2691,9 +2691,9 @@ public class PackageParser {
|
||||
certSha256 = certSha256.replace(":", "").toLowerCase();
|
||||
pkg.usesStaticLibraries = ArrayUtils.add(pkg.usesStaticLibraries, lname);
|
||||
pkg.usesStaticLibrariesVersions = ArrayUtils.appendInt(
|
||||
pkg.usesStaticLibrariesVersions, version);
|
||||
pkg.usesStaticLibrariesVersions, version, true);
|
||||
pkg.usesStaticLibrariesCertDigests = ArrayUtils.appendElement(String.class,
|
||||
pkg.usesStaticLibrariesCertDigests, certSha256);
|
||||
pkg.usesStaticLibrariesCertDigests, certSha256, true);
|
||||
|
||||
XmlUtils.skipCurrentTag(parser);
|
||||
|
||||
|
||||
@@ -260,10 +260,19 @@ public class ArrayUtils {
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
public static @NonNull <T> T[] appendElement(Class<T> kind, @Nullable T[] array, T element) {
|
||||
return appendElement(kind, array, element, false);
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds value to given array.
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
public static @NonNull <T> T[] appendElement(Class<T> kind, @Nullable T[] array, T element,
|
||||
boolean allowDuplicates) {
|
||||
final T[] result;
|
||||
final int end;
|
||||
if (array != null) {
|
||||
if (contains(array, element)) return array;
|
||||
if (!allowDuplicates && contains(array, element)) return array;
|
||||
end = array.length;
|
||||
result = (T[])Array.newInstance(kind, end + 1);
|
||||
System.arraycopy(array, 0, result, 0, end);
|
||||
@@ -299,17 +308,19 @@ public class ArrayUtils {
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds value to given array if not already present, providing set-like
|
||||
* behavior.
|
||||
* Adds value to given array.
|
||||
*/
|
||||
public static @NonNull int[] appendInt(@Nullable int[] cur, int val) {
|
||||
public static @NonNull int[] appendInt(@Nullable int[] cur, int val,
|
||||
boolean allowDuplicates) {
|
||||
if (cur == null) {
|
||||
return new int[] { val };
|
||||
}
|
||||
final int N = cur.length;
|
||||
for (int i = 0; i < N; i++) {
|
||||
if (cur[i] == val) {
|
||||
return cur;
|
||||
if (!allowDuplicates) {
|
||||
for (int i = 0; i < N; i++) {
|
||||
if (cur[i] == val) {
|
||||
return cur;
|
||||
}
|
||||
}
|
||||
}
|
||||
int[] ret = new int[N + 1];
|
||||
@@ -318,6 +329,14 @@ public class ArrayUtils {
|
||||
return ret;
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds value to given array if not already present, providing set-like
|
||||
* behavior.
|
||||
*/
|
||||
public static @NonNull int[] appendInt(@Nullable int[] cur, int val) {
|
||||
return appendInt(cur, val, false);
|
||||
}
|
||||
|
||||
/**
|
||||
* Removes value from given array if present, providing set-like behavior.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user