diff --git a/core/java/android/util/LongArray.java b/core/java/android/util/LongArray.java index 9b0489ca5c6ed..fa980966802f6 100644 --- a/core/java/android/util/LongArray.java +++ b/core/java/android/util/LongArray.java @@ -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; + } } diff --git a/core/java/android/view/accessibility/AccessibilityNodeInfo.java b/core/java/android/view/accessibility/AccessibilityNodeInfo.java index 417a72530b724..5b1dd5c88cae4 100644 --- a/core/java/android/view/accessibility/AccessibilityNodeInfo.java +++ b/core/java/android/view/accessibility/AccessibilityNodeInfo.java @@ -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++;