Loading src/com/android/dialer/CallDetailActivity.java +1 −1 Original line number Diff line number Diff line Loading @@ -616,7 +616,7 @@ public class CallDetailActivity extends AnalyticsActivity implements ProximitySe mResources.getString(R.string.description_contact_details, displayName)); mContactPhotoManager.loadDirectoryPhoto(mQuickContactBadge, photoUri, false /* darkTheme */, true /* isCircular */, request); null, false /* darkTheme */, true /* isCircular */, request); } static final class ViewEntry { Loading src/com/android/dialer/calllog/CallLogAdapter.java +18 −7 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.dialer.calllog; import android.accounts.Account; import android.content.ContentValues; import android.content.Context; import android.content.Intent; Loading Loading @@ -763,6 +764,9 @@ public class CallLogAdapter extends GroupingListAdapter } final PhoneCallDetails details; final String accountName = info.accountName; final String accountType = info.accountType; Account contactAccount; views.reported = info.isBadData; Loading Loading @@ -808,10 +812,17 @@ public class CallLogAdapter extends GroupingListAdapter nameForDefaultImage = name; } if (!TextUtils.isEmpty(accountName) && !TextUtils.isEmpty(accountType)) { contactAccount = new Account(accountName, accountType); } else { contactAccount = null; } if (photoId == 0 && photoUri != null) { setPhoto(views, photoUri, lookupUri, nameForDefaultImage, lookupKey, contactType); setPhoto(views, photoUri, lookupUri, nameForDefaultImage, lookupKey, contactType, contactAccount); } else { setPhoto(views, photoId, lookupUri, nameForDefaultImage, lookupKey, contactType); setPhoto(views, photoId, lookupUri, nameForDefaultImage, lookupKey, contactType, contactAccount); } // Listen for the first draw Loading Loading @@ -1213,22 +1224,22 @@ public class CallLogAdapter extends GroupingListAdapter } private void setPhoto(CallLogListItemViews views, long photoId, Uri contactUri, String displayName, String identifier, int contactType) { String displayName, String identifier, int contactType, Account account) { views.quickContactView.assignContactUri(contactUri); views.quickContactView.setOverlay(null); DefaultImageRequest request = new DefaultImageRequest(displayName, identifier, contactType, true /* isCircular */); mContactPhotoManager.loadThumbnail(views.quickContactView, photoId, false /* darkTheme */, true /* isCircular */, request); mContactPhotoManager.loadThumbnail(views.quickContactView, photoId, account, false /* darkTheme */, true /* isCircular */, request); } private void setPhoto(CallLogListItemViews views, Uri photoUri, Uri contactUri, String displayName, String identifier, int contactType) { String displayName, String identifier, int contactType, Account account) { views.quickContactView.assignContactUri(contactUri); views.quickContactView.setOverlay(null); DefaultImageRequest request = new DefaultImageRequest(displayName, identifier, contactType, true /* isCircular */); mContactPhotoManager.loadDirectoryPhoto(views.quickContactView, photoUri, mContactPhotoManager.loadDirectoryPhoto(views.quickContactView, photoUri, account, false /* darkTheme */, true /* isCircular */, request); } Loading src/com/android/dialer/calllog/ContactInfo.java +3 −0 Original line number Diff line number Diff line Loading @@ -41,6 +41,9 @@ public class ContactInfo { public boolean isBadData; public String objectId; public String accountType; public String accountName; public static ContactInfo EMPTY = new ContactInfo(); public static String GEOCODE_AS_LABEL = ""; Loading src/com/android/dialer/calllog/ContactInfoHelper.java +17 −0 Original line number Diff line number Diff line Loading @@ -14,6 +14,7 @@ package com.android.dialer.calllog; import android.content.ContentUris; import android.content.Context; import android.database.Cursor; import android.net.Uri; Loading @@ -22,6 +23,7 @@ import android.provider.ContactsContract.CommonDataKinds.Phone; import android.provider.ContactsContract.Contacts; import android.provider.ContactsContract.DisplayNameSources; import android.provider.ContactsContract.PhoneLookup; import android.provider.ContactsContract.RawContacts; import android.telephony.PhoneNumberUtils; import android.text.TextUtils; Loading Loading @@ -152,6 +154,7 @@ public class ContactInfoHelper { final ContactInfo info; Cursor phonesCursor = mContext.getContentResolver().query(uri, PhoneQuery._PROJECTION, null, null, null); long id = -1; if (phonesCursor != null) { try { Loading @@ -170,9 +173,23 @@ public class ContactInfoHelper { info.photoUri = UriUtils.parseUriOrNull(phonesCursor.getString(PhoneQuery.PHOTO_URI)); info.formattedNumber = null; id = contactId; } else { info = ContactInfo.EMPTY; } if (id != -1) { Uri contactUri = ContentUris.withAppendedId( Contacts.CONTENT_URI, id); Cursor cursor = mContext.getContentResolver().query( contactUri, new String[] { RawContacts.ACCOUNT_TYPE, RawContacts.ACCOUNT_NAME }, null, null, null); if (cursor != null && cursor.getCount() > 0 && cursor.moveToFirst()) { info.accountType = cursor.getString(0); info.accountName = cursor.getString(1); cursor.close(); } } } finally { phonesCursor.close(); } Loading src/com/android/dialer/list/PhoneFavoritesTileAdapter.java +18 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ import com.google.common.annotations.VisibleForTesting; import com.google.common.collect.ComparisonChain; import com.google.common.collect.Lists; import android.accounts.Account; import android.content.ContentProviderOperation; import android.content.ContentUris; import android.content.ContentValues; Loading Loading @@ -104,6 +105,9 @@ public class PhoneFavoritesTileAdapter extends BaseAdapter implements protected int mPinnedIndex; protected int mContactIdIndex; protected int mAccountTypeIndex; protected int mAccountNameIndex; /** Indicates whether a drag is in process. */ private boolean mInDragging = false; Loading Loading @@ -185,6 +189,9 @@ public class PhoneFavoritesTileAdapter extends BaseAdapter implements mIsDefaultNumberIndex = ContactTileLoaderFactory.IS_DEFAULT_NUMBER; mPinnedIndex = ContactTileLoaderFactory.PINNED; mContactIdIndex = ContactTileLoaderFactory.CONTACT_ID_FOR_DATA; mAccountTypeIndex = ContactTileLoaderFactory.ACCOUNT_TYPE; mAccountNameIndex = ContactTileLoaderFactory.ACCOUNT_NAME; } /** Loading Loading @@ -264,6 +271,8 @@ public class PhoneFavoritesTileAdapter extends BaseAdapter implements final String name = cursor.getString(mNameIndex); final boolean isStarred = cursor.getInt(mStarredIndex) > 0; final boolean isDefaultNumber = cursor.getInt(mIsDefaultNumberIndex) > 0; final String accountName = cursor.getString(mAccountNameIndex); final String accountType = cursor.getString(mAccountTypeIndex); final ContactEntry contact = new ContactEntry(); Loading @@ -285,6 +294,15 @@ public class PhoneFavoritesTileAdapter extends BaseAdapter implements contact.phoneNumber = cursor.getString(mPhoneNumberIndex); contact.pinned = pinned; Account account; if (!TextUtils.isEmpty(accountName) && !TextUtils.isEmpty(accountType)) { account = new Account(accountName, accountType); } else { account = null; } contact.account = account; mContactEntries.add(contact); duplicates.put(id, contact); Loading Loading
src/com/android/dialer/CallDetailActivity.java +1 −1 Original line number Diff line number Diff line Loading @@ -616,7 +616,7 @@ public class CallDetailActivity extends AnalyticsActivity implements ProximitySe mResources.getString(R.string.description_contact_details, displayName)); mContactPhotoManager.loadDirectoryPhoto(mQuickContactBadge, photoUri, false /* darkTheme */, true /* isCircular */, request); null, false /* darkTheme */, true /* isCircular */, request); } static final class ViewEntry { Loading
src/com/android/dialer/calllog/CallLogAdapter.java +18 −7 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.dialer.calllog; import android.accounts.Account; import android.content.ContentValues; import android.content.Context; import android.content.Intent; Loading Loading @@ -763,6 +764,9 @@ public class CallLogAdapter extends GroupingListAdapter } final PhoneCallDetails details; final String accountName = info.accountName; final String accountType = info.accountType; Account contactAccount; views.reported = info.isBadData; Loading Loading @@ -808,10 +812,17 @@ public class CallLogAdapter extends GroupingListAdapter nameForDefaultImage = name; } if (!TextUtils.isEmpty(accountName) && !TextUtils.isEmpty(accountType)) { contactAccount = new Account(accountName, accountType); } else { contactAccount = null; } if (photoId == 0 && photoUri != null) { setPhoto(views, photoUri, lookupUri, nameForDefaultImage, lookupKey, contactType); setPhoto(views, photoUri, lookupUri, nameForDefaultImage, lookupKey, contactType, contactAccount); } else { setPhoto(views, photoId, lookupUri, nameForDefaultImage, lookupKey, contactType); setPhoto(views, photoId, lookupUri, nameForDefaultImage, lookupKey, contactType, contactAccount); } // Listen for the first draw Loading Loading @@ -1213,22 +1224,22 @@ public class CallLogAdapter extends GroupingListAdapter } private void setPhoto(CallLogListItemViews views, long photoId, Uri contactUri, String displayName, String identifier, int contactType) { String displayName, String identifier, int contactType, Account account) { views.quickContactView.assignContactUri(contactUri); views.quickContactView.setOverlay(null); DefaultImageRequest request = new DefaultImageRequest(displayName, identifier, contactType, true /* isCircular */); mContactPhotoManager.loadThumbnail(views.quickContactView, photoId, false /* darkTheme */, true /* isCircular */, request); mContactPhotoManager.loadThumbnail(views.quickContactView, photoId, account, false /* darkTheme */, true /* isCircular */, request); } private void setPhoto(CallLogListItemViews views, Uri photoUri, Uri contactUri, String displayName, String identifier, int contactType) { String displayName, String identifier, int contactType, Account account) { views.quickContactView.assignContactUri(contactUri); views.quickContactView.setOverlay(null); DefaultImageRequest request = new DefaultImageRequest(displayName, identifier, contactType, true /* isCircular */); mContactPhotoManager.loadDirectoryPhoto(views.quickContactView, photoUri, mContactPhotoManager.loadDirectoryPhoto(views.quickContactView, photoUri, account, false /* darkTheme */, true /* isCircular */, request); } Loading
src/com/android/dialer/calllog/ContactInfo.java +3 −0 Original line number Diff line number Diff line Loading @@ -41,6 +41,9 @@ public class ContactInfo { public boolean isBadData; public String objectId; public String accountType; public String accountName; public static ContactInfo EMPTY = new ContactInfo(); public static String GEOCODE_AS_LABEL = ""; Loading
src/com/android/dialer/calllog/ContactInfoHelper.java +17 −0 Original line number Diff line number Diff line Loading @@ -14,6 +14,7 @@ package com.android.dialer.calllog; import android.content.ContentUris; import android.content.Context; import android.database.Cursor; import android.net.Uri; Loading @@ -22,6 +23,7 @@ import android.provider.ContactsContract.CommonDataKinds.Phone; import android.provider.ContactsContract.Contacts; import android.provider.ContactsContract.DisplayNameSources; import android.provider.ContactsContract.PhoneLookup; import android.provider.ContactsContract.RawContacts; import android.telephony.PhoneNumberUtils; import android.text.TextUtils; Loading Loading @@ -152,6 +154,7 @@ public class ContactInfoHelper { final ContactInfo info; Cursor phonesCursor = mContext.getContentResolver().query(uri, PhoneQuery._PROJECTION, null, null, null); long id = -1; if (phonesCursor != null) { try { Loading @@ -170,9 +173,23 @@ public class ContactInfoHelper { info.photoUri = UriUtils.parseUriOrNull(phonesCursor.getString(PhoneQuery.PHOTO_URI)); info.formattedNumber = null; id = contactId; } else { info = ContactInfo.EMPTY; } if (id != -1) { Uri contactUri = ContentUris.withAppendedId( Contacts.CONTENT_URI, id); Cursor cursor = mContext.getContentResolver().query( contactUri, new String[] { RawContacts.ACCOUNT_TYPE, RawContacts.ACCOUNT_NAME }, null, null, null); if (cursor != null && cursor.getCount() > 0 && cursor.moveToFirst()) { info.accountType = cursor.getString(0); info.accountName = cursor.getString(1); cursor.close(); } } } finally { phonesCursor.close(); } Loading
src/com/android/dialer/list/PhoneFavoritesTileAdapter.java +18 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ import com.google.common.annotations.VisibleForTesting; import com.google.common.collect.ComparisonChain; import com.google.common.collect.Lists; import android.accounts.Account; import android.content.ContentProviderOperation; import android.content.ContentUris; import android.content.ContentValues; Loading Loading @@ -104,6 +105,9 @@ public class PhoneFavoritesTileAdapter extends BaseAdapter implements protected int mPinnedIndex; protected int mContactIdIndex; protected int mAccountTypeIndex; protected int mAccountNameIndex; /** Indicates whether a drag is in process. */ private boolean mInDragging = false; Loading Loading @@ -185,6 +189,9 @@ public class PhoneFavoritesTileAdapter extends BaseAdapter implements mIsDefaultNumberIndex = ContactTileLoaderFactory.IS_DEFAULT_NUMBER; mPinnedIndex = ContactTileLoaderFactory.PINNED; mContactIdIndex = ContactTileLoaderFactory.CONTACT_ID_FOR_DATA; mAccountTypeIndex = ContactTileLoaderFactory.ACCOUNT_TYPE; mAccountNameIndex = ContactTileLoaderFactory.ACCOUNT_NAME; } /** Loading Loading @@ -264,6 +271,8 @@ public class PhoneFavoritesTileAdapter extends BaseAdapter implements final String name = cursor.getString(mNameIndex); final boolean isStarred = cursor.getInt(mStarredIndex) > 0; final boolean isDefaultNumber = cursor.getInt(mIsDefaultNumberIndex) > 0; final String accountName = cursor.getString(mAccountNameIndex); final String accountType = cursor.getString(mAccountTypeIndex); final ContactEntry contact = new ContactEntry(); Loading @@ -285,6 +294,15 @@ public class PhoneFavoritesTileAdapter extends BaseAdapter implements contact.phoneNumber = cursor.getString(mPhoneNumberIndex); contact.pinned = pinned; Account account; if (!TextUtils.isEmpty(accountName) && !TextUtils.isEmpty(accountType)) { account = new Account(accountName, accountType); } else { account = null; } contact.account = account; mContactEntries.add(contact); duplicates.put(id, contact); Loading