Merge "Use structural equality for A11yNodeInfo#mChildNodeIds"

This commit is contained in:
TreeHugger Robot
2018-02-21 20:59:21 +00:00
committed by Android (Google) Code Review
2 changed files with 20 additions and 2 deletions

View File

@@ -16,11 +16,15 @@
package android.util;
import android.annotation.Nullable;
import com.android.internal.util.ArrayUtils;
import com.android.internal.util.Preconditions;
import java.util.Arrays;
import libcore.util.EmptyArray;
import java.util.Arrays;
/**
* Implements a growing array of long primitives.
*
@@ -216,4 +220,18 @@ public class LongArray implements Cloneable {
throw new ArrayIndexOutOfBoundsException(mSize, index);
}
}
/**
* Test if each element of {@code a} equals corresponding element from {@code b}
*/
public static boolean elementsEqual(@Nullable LongArray a, @Nullable LongArray b) {
if (a == null || b == null) return a == b;
if (a.mSize != b.mSize) return false;
for (int i = 0; i < a.mSize; i++) {
if (a.get(i) != b.get(i)) {
return false;
}
}
return true;
}
}

View File

@@ -3203,7 +3203,7 @@ public class AccessibilityNodeInfo implements Parcelable {
fieldIndex++;
if (mConnectionId != DEFAULT.mConnectionId) nonDefaultFields |= bitAt(fieldIndex);
fieldIndex++;
if (!Objects.equals(mChildNodeIds, DEFAULT.mChildNodeIds)) {
if (!LongArray.elementsEqual(mChildNodeIds, DEFAULT.mChildNodeIds)) {
nonDefaultFields |= bitAt(fieldIndex);
}
fieldIndex++;