diff options
Diffstat (limited to 'src/com/android/dialer/list')
-rw-r--r-- | src/com/android/dialer/list/RegularSearchFragment.java | 7 | ||||
-rw-r--r-- | src/com/android/dialer/list/RegularSearchListAdapter.java | 14 |
2 files changed, 19 insertions, 2 deletions
diff --git a/src/com/android/dialer/list/RegularSearchFragment.java b/src/com/android/dialer/list/RegularSearchFragment.java index b7e26d690..902797462 100644 --- a/src/com/android/dialer/list/RegularSearchFragment.java +++ b/src/com/android/dialer/list/RegularSearchFragment.java @@ -30,6 +30,7 @@ import com.android.contacts.commonbind.analytics.AnalyticsUtil; import com.android.dialerbind.ObjectFactory; import com.android.dialer.R; +import com.android.dialer.lookup.LookupCache; import com.android.dialer.service.CachedNumberLookupService; import com.android.dialer.widget.EmptyContentView; import com.android.dialer.widget.EmptyContentView.OnEmptyViewActionButtonClickedListener; @@ -74,12 +75,14 @@ public class RegularSearchFragment extends SearchFragment @Override protected void cacheContactInfo(int position) { - if (mCachedNumberLookupService != null) { - final RegularSearchListAdapter adapter = + final RegularSearchListAdapter adapter = (RegularSearchListAdapter) getAdapter(); + if (mCachedNumberLookupService != null) { mCachedNumberLookupService.addContact(getContext(), adapter.getContactInfo(mCachedNumberLookupService, position)); } + LookupCache.cacheContact(getActivity(), + adapter.getLookupContactInfo(position)); } @Override diff --git a/src/com/android/dialer/list/RegularSearchListAdapter.java b/src/com/android/dialer/list/RegularSearchListAdapter.java index 2be8a1dd7..944fec64f 100644 --- a/src/com/android/dialer/list/RegularSearchListAdapter.java +++ b/src/com/android/dialer/list/RegularSearchListAdapter.java @@ -39,6 +39,20 @@ public class RegularSearchListAdapter extends DialerPhoneNumberListAdapter { setShortcutEnabled(SHORTCUT_ADD_TO_EXISTING_CONTACT, false); } + public ContactInfo getLookupContactInfo(int position) { + ContactInfo info = new ContactInfo(); + final Cursor item = (Cursor) getItem(position); + if (item != null) { + info.name = item.getString(PhoneQuery.DISPLAY_NAME); + info.type = item.getInt(PhoneQuery.PHONE_TYPE); + info.label = item.getString(PhoneQuery.PHONE_LABEL); + info.number = item.getString(PhoneQuery.PHONE_NUMBER); + final String photoUriStr = item.getString(PhoneQuery.PHOTO_URI); + info.photoUri = photoUriStr == null ? null : Uri.parse(photoUriStr); + } + return info; + } + public CachedContactInfo getContactInfo( CachedNumberLookupService lookupService, int position) { ContactInfo info = new ContactInfo(); |