From 7709041c99a213af4209fba08f6cb5acc3387307 Mon Sep 17 00:00:00 2001 From: Felipe Leme Date: Thu, 30 Jun 2016 16:09:13 -0700 Subject: Removed warning when objects are added on wrong order. append() is used to optimized insertions in the array, but it must preserve the order of the hashcode array; when it doesn't, it falls back to append(), but it should not log a warning message In particular, PendingIntentRecords might have different hashcodes across different processes. Fixes: 29912192 Change-Id: I0ab566249829ddb934fd51cf21399b68cb286bd5 --- core/java/android/util/ArraySet.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'core/java/android/util/ArraySet.java') diff --git a/core/java/android/util/ArraySet.java b/core/java/android/util/ArraySet.java index d39e91fd98b2..1e765b62e131 100644 --- a/core/java/android/util/ArraySet.java +++ b/core/java/android/util/ArraySet.java @@ -402,11 +402,14 @@ public final class ArraySet implements Collection, Set { throw new IllegalStateException("Array is full"); } if (index > 0 && mHashes[index - 1] > hash) { - RuntimeException e = new RuntimeException("here"); - e.fillInStackTrace(); - Log.w(TAG, "New hash " + hash - + " is before end of array hash " + mHashes[index - 1] - + " at index " + index, e); + // Cannot optimize since it would break the sorted order - fallback to add() + if (DEBUG) { + RuntimeException e = new RuntimeException("here"); + e.fillInStackTrace(); + Log.w(TAG, "New hash " + hash + + " is before end of array hash " + mHashes[index - 1] + + " at index " + index, e); + } add(value); return; } -- cgit v1.2.3