summaryrefslogtreecommitdiff
path: root/core/java/android
diff options
context:
space:
mode:
authorSiyamed Sinir <siyamed@google.com>2016-01-25 20:57:16 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2016-01-25 20:57:16 +0000
commit6feab9fb5900afae01b290175c0f7d23a7eda423 (patch)
tree62d09a6651265471d771faaa49d781281c5f8e8f /core/java/android
parentbfb94e21d3b54cf3ab57a9fe78335aa576b0ab01 (diff)
parent3a789f657b98fe82bf8febb3a0be9f6d616ce81d (diff)
Merge "SpannableStringBuilder.getSpans returns array with null values."
Diffstat (limited to 'core/java/android')
-rw-r--r--core/java/android/text/SpannableStringBuilder.java11
1 files changed, 6 insertions, 5 deletions
diff --git a/core/java/android/text/SpannableStringBuilder.java b/core/java/android/text/SpannableStringBuilder.java
index e34560b80bda..787202eded02 100644
--- a/core/java/android/text/SpannableStringBuilder.java
+++ b/core/java/android/text/SpannableStringBuilder.java
@@ -965,10 +965,10 @@ public class SpannableStringBuilder implements CharSequence, GetChars, Spannable
(spanStart != queryEnd && spanEnd != queryStart)) &&
(Object.class == kind || kind.isInstance(mSpans[i]))) {
int spanPriority = mSpanFlags[i] & SPAN_PRIORITY;
- if(sort) {
- ret[count] = (T) mSpans[i];
- priority[count] = spanPriority;
- insertionOrder[count] = mSpanOrder[i];
+ int target = count;
+ if (sort) {
+ priority[target] = spanPriority;
+ insertionOrder[target] = mSpanOrder[i];
} else if (spanPriority != 0) {
//insertion sort for elements with priority
int j = 0;
@@ -977,8 +977,9 @@ public class SpannableStringBuilder implements CharSequence, GetChars, Spannable
if (spanPriority > p) break;
}
System.arraycopy(ret, j, ret, j + 1, count - j);
- ret[j] = (T) mSpans[i];
+ target = j;
}
+ ret[target] = (T) mSpans[i];
count++;
}
if (count < ret.length && (i & 1) != 0) {