Fix ContactsCommon tests

Remove stale testSetMask_LengthMismatch test
Update SpannedTestUtils to check for StyleSpan instead of ForegroundColorSpan
Add READ_CONTACTS permission

Bug: 13516535

Change-Id: Ibe10ca6cde42277697dc185e4cab35238d190023
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 7ab7a75..e981891 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -17,5 +17,9 @@
 
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
         package="com.android.contacts.common">
+
+    <uses-permission android:name="android.permission.READ_CONTACTS" />
+    <uses-permission android:name="android.permission.WRITE_CONTACTS" />
+
     <application/>
 </manifest>
diff --git a/src/com/android/contacts/common/format/SpannedTestUtils.java b/src/com/android/contacts/common/format/SpannedTestUtils.java
index 1fee7d1..463d7a8 100644
--- a/src/com/android/contacts/common/format/SpannedTestUtils.java
+++ b/src/com/android/contacts/common/format/SpannedTestUtils.java
@@ -21,7 +21,7 @@
 import android.text.SpannableString;
 import android.text.Spanned;
 import android.text.TextUtils;
-import android.text.style.ForegroundColorSpan;
+import android.text.style.StyleSpan;
 import android.widget.TextView;
 
 import junit.framework.Assert;
@@ -68,7 +68,7 @@
     }
 
     private static int getNumForegroundColorSpansBetween(Spanned value, int start, int end) {
-        return value.getSpans(start, end, ForegroundColorSpan.class).length;
+        return value.getSpans(start, end, StyleSpan.class).length;
     }
 
     /**
@@ -83,6 +83,6 @@
     }
 
     public static int getNextTransition(SpannableString seq, int start) {
-        return seq.nextSpanTransition(start, seq.length(), ForegroundColorSpan.class);
+        return seq.nextSpanTransition(start, seq.length(), StyleSpan.class);
     }
 }
diff --git a/src/com/android/contacts/common/list/ContactListItemView.java b/src/com/android/contacts/common/list/ContactListItemView.java
index 911ebc7..8b0594b 100644
--- a/src/com/android/contacts/common/list/ContactListItemView.java
+++ b/src/com/android/contacts/common/list/ContactListItemView.java
@@ -236,6 +236,8 @@
         super(context);
 
         mTextHighlighter = new TextHighlighter(Typeface.BOLD);
+        mNameHighlightSequence = new ArrayList<HighlightSequence>();
+        mNumberHighlightSequence = new ArrayList<HighlightSequence>();
     }
 
     public ContactListItemView(Context context, AttributeSet attrs) {
diff --git a/tests/AndroidManifest.xml b/tests/AndroidManifest.xml
index 55a6059..05db614 100644
--- a/tests/AndroidManifest.xml
+++ b/tests/AndroidManifest.xml
@@ -18,6 +18,9 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="com.android.contacts.common.unittest">
 
+    <uses-permission android:name="android.permission.READ_CONTACTS" />
+    <uses-permission android:name="android.permission.WRITE_CONTACTS" />
+
     <application>
         <uses-library android:name="android.test.runner" />
 
diff --git a/tests/src/com/android/contacts/common/format/TextHighlighterTest.java b/tests/src/com/android/contacts/common/format/TextHighlighterTest.java
index b97542d..8450697 100644
--- a/tests/src/com/android/contacts/common/format/TextHighlighterTest.java
+++ b/tests/src/com/android/contacts/common/format/TextHighlighterTest.java
@@ -14,13 +14,14 @@
  * limitations under the License.
  */
 
-package com.android.contacts.common.format;
+package src.com.android.contacts.common.format;
 
 import android.graphics.Typeface;
 import android.test.suitebuilder.annotation.SmallTest;
 import android.text.SpannableString;
 
 import com.android.contacts.common.format.SpannedTestUtils;
+import com.android.contacts.common.format.TextHighlighter;
 
 import junit.framework.TestCase;
 
@@ -87,34 +88,22 @@
         SpannedTestUtils.assertPrefixSpan(seq, 6, 7);
     }
 
-    public void testSetMask_LengthMismatch() {
-        final SpannableString testString1 = new SpannableString("atest");
-        mTextHighlighter.applyMaskingHighlight(testString1, 0, 0);
-        CharSequence seq = testString1;
-        SpannedTestUtils.assertNotSpanned(seq, "atest");
-
-        final SpannableString testString2 = new SpannableString("");
-        mTextHighlighter.applyMaskingHighlight(testString2, 0, 0);
-        seq = testString2;
-        SpannedTestUtils.assertNotSpanned(seq, "");
-    }
-
     public void testSetMask_Highlight() {
         final SpannableString testString1 = new SpannableString("alongtest");
         mTextHighlighter.applyMaskingHighlight(testString1, 2, 4);
-        assertEquals(SpannedTestUtils.getNextTransition(testString1, 0), 2);
-        assertEquals(SpannedTestUtils.getNextTransition(testString1, 2), 4);
+        assertEquals(2, SpannedTestUtils.getNextTransition(testString1, 0));
+        assertEquals(4, SpannedTestUtils.getNextTransition(testString1, 2));
 
         mTextHighlighter.applyMaskingHighlight(testString1, 3, 6);
-        assertEquals(SpannedTestUtils.getNextTransition(testString1, 0), 2);
-        assertEquals(SpannedTestUtils.getNextTransition(testString1, 2), 6);
+        assertEquals(2, SpannedTestUtils.getNextTransition(testString1, 0));
+        assertEquals(4, SpannedTestUtils.getNextTransition(testString1, 3));
 
         mTextHighlighter.applyMaskingHighlight(testString1, 4, 5);
-        assertEquals(SpannedTestUtils.getNextTransition(testString1, 2), 6);
+        assertEquals(3, SpannedTestUtils.getNextTransition(testString1, 2));
 
         mTextHighlighter.applyMaskingHighlight(testString1, 7, 8);
-        assertEquals(SpannedTestUtils.getNextTransition(testString1, 2), 6);
-        assertEquals(SpannedTestUtils.getNextTransition(testString1, 6), 7);
-        assertEquals(SpannedTestUtils.getNextTransition(testString1, 7), 8);
+        assertEquals(6, SpannedTestUtils.getNextTransition(testString1, 5));
+        assertEquals(7, SpannedTestUtils.getNextTransition(testString1, 6));
+        assertEquals(8, SpannedTestUtils.getNextTransition(testString1, 7));
     }
 }
diff --git a/tests/src/com/android/contacts/common/list/ContactListItemViewTest.java b/tests/src/com/android/contacts/common/list/ContactListItemViewTest.java
index a452460..9c69f24 100644
--- a/tests/src/com/android/contacts/common/list/ContactListItemViewTest.java
+++ b/tests/src/com/android/contacts/common/list/ContactListItemViewTest.java
@@ -24,9 +24,8 @@
 import android.test.suitebuilder.annotation.LargeTest;
 import android.widget.TextView;
 
-//import com.android.contacts.activities.PeopleActivity;
 import com.android.contacts.common.format.SpannedTestUtils;
-//import com.android.contacts.common.test.IntegrationTestUtils;
+import com.android.contacts.common.list.ContactListItemView;
 
 /**
  * Unit tests for {@link com.android.contacts.common.list.ContactListItemView}.