am 0d3a5e4c: am 67d54ac0: Merge "NPE in GMail / TextLine" into ics-mr1

* commit '0d3a5e4cbddc9a6a0a551698b5152c815842952a':
  NPE in GMail / TextLine
diff --git a/core/java/android/text/TextLine.java b/core/java/android/text/TextLine.java
index 303a30e..1e8a2f7 100644
--- a/core/java/android/text/TextLine.java
+++ b/core/java/android/text/TextLine.java
@@ -886,7 +886,7 @@
                 spanFlags = new int[length];
             }
 
-            int count = 0;
+            numberOfSpans = 0;
             for (int i = 0; i < length; i++) {
                 final E span = allSpans[i];
 
@@ -896,14 +896,13 @@
 
                 final int spanFlag = spanned.getSpanFlags(span);
 
-                spans[i] = span;
-                spanStarts[i] = spanStart;
-                spanEnds[i] = spanEnd;
-                spanFlags[i] = spanFlag;
+                spans[numberOfSpans] = span;
+                spanStarts[numberOfSpans] = spanStart;
+                spanEnds[numberOfSpans] = spanEnd;
+                spanFlags[numberOfSpans] = spanFlag;
 
-                count++;
+                numberOfSpans++;
             }
-            numberOfSpans = count;
         }
 
         public boolean hasSpansIntersecting(int start, int end) {
@@ -926,6 +925,7 @@
         }
 
         public void recycle() {
+            // The spans array is guaranteed to be not null when numberOfSpans is > 0
             for (int i = 0; i < numberOfSpans; i++) {
                 spans[i] = null; // prevent a leak: no reference kept when TextLine is recycled
             }