summaryrefslogtreecommitdiffstats
path: root/src/com/android/contacts/T9Search.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/contacts/T9Search.java')
-rw-r--r--src/com/android/contacts/T9Search.java26
1 files changed, 22 insertions, 4 deletions
diff --git a/src/com/android/contacts/T9Search.java b/src/com/android/contacts/T9Search.java
index 5cba2888a..a4913a5ce 100644
--- a/src/com/android/contacts/T9Search.java
+++ b/src/com/android/contacts/T9Search.java
@@ -26,6 +26,7 @@ import java.util.Set;
import android.content.ContentUris;
import android.content.Context;
+import android.graphics.Color;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
@@ -34,6 +35,8 @@ import android.preference.PreferenceManager;
import android.provider.ContactsContract.CommonDataKinds.Phone;
import android.provider.ContactsContract.Contacts;
import android.telephony.PhoneNumberUtils;
+import android.text.Spannable;
+import android.text.style.ForegroundColorSpan;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -280,7 +283,7 @@ class T9Search {
return sb.toString();
}
- protected static class T9Adapter extends ArrayAdapter<ContactItem> {
+ protected class T9Adapter extends ArrayAdapter<ContactItem> {
private ArrayList<ContactItem> mItems;
private LayoutInflater mMenuInflate;
@@ -309,8 +312,23 @@ class T9Search {
}
ContactItem o = mItems.get(position);
- holder.name.setText(o.name);
- holder.number.setText(o.number + " (" + o.groupType + ")");
+
+ holder.name.setText(o.name, TextView.BufferType.SPANNABLE);
+ holder.number.setText(o.number + " (" + o.groupType + ")", TextView.BufferType.SPANNABLE);
+ if (o.nameMatchId != -1) {
+ Spannable s = (Spannable) holder.name.getText();
+ int nameStart = o.normalName.indexOf(mPrevInput);
+ s.setSpan(new ForegroundColorSpan(Color.WHITE),
+ nameStart, nameStart + mPrevInput.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE);
+ holder.name.setText(s);
+ }
+ if (o.numberMatchId != -1) {
+ Spannable s = (Spannable) holder.number.getText();
+ int numberStart = o.numberMatchId;
+ s.setSpan(new ForegroundColorSpan(Color.WHITE),
+ numberStart, numberStart + mPrevInput.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE);
+ holder.number.setText(s);
+ }
if (o.photo != null)
holder.icon.setImageBitmap(o.photo);
else
@@ -320,7 +338,7 @@ class T9Search {
return convertView;
}
- static class ViewHolder {
+ class ViewHolder {
TextView name;
TextView number;
QuickContactBadge icon;