From e854a00c98aa05ab114216e9802b543479d308a4 Mon Sep 17 00:00:00 2001 From: Andrew Lee Date: Tue, 6 Oct 2015 16:12:58 -0700 Subject: Consolidate setPhoto logic. This makes the ViewHolder self-capable of updating/setting its photo, so if we want to update the photo in the future (either in teh scope of a listener, or in the ViewHolder itself), we don't need to worry about configuring and passing around a bunch of commands. Bug: 23943480 Change-Id: I17653014dd81fcb9ae7a667539e40a9310a72d36 --- src/com/android/dialer/calllog/CallLogAdapter.java | 10 +--------- .../dialer/calllog/CallLogListItemViewHolder.java | 22 ++++++++++------------ 2 files changed, 11 insertions(+), 21 deletions(-) diff --git a/src/com/android/dialer/calllog/CallLogAdapter.java b/src/com/android/dialer/calllog/CallLogAdapter.java index 90985af42..316864fe2 100644 --- a/src/com/android/dialer/calllog/CallLogAdapter.java +++ b/src/com/android/dialer/calllog/CallLogAdapter.java @@ -493,15 +493,7 @@ public class CallLogAdapter extends GroupingListAdapter } views.showActions(mCurrentlyExpandedPosition == position); - - String nameForDefaultImage = null; - if (TextUtils.isEmpty(info.name)) { - nameForDefaultImage = details.displayNumber; - } else { - nameForDefaultImage = info.name; - } - views.setPhoto(info.photoId, info.photoUri, info.lookupUri, nameForDefaultImage, - isVoicemailNumber, views.isBusiness); + views.updatePhoto(); mCallLogListItemHelper.setPhoneCallDetails(views, details); } diff --git a/src/com/android/dialer/calllog/CallLogListItemViewHolder.java b/src/com/android/dialer/calllog/CallLogListItemViewHolder.java index 30aaee087..5b47d4477 100644 --- a/src/com/android/dialer/calllog/CallLogListItemViewHolder.java +++ b/src/com/android/dialer/calllog/CallLogListItemViewHolder.java @@ -527,11 +527,11 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder view.setSingleLine(!isExpanded); } - public void setPhoto(long photoId, Uri photoUri, Uri contactUri, String displayName, - boolean isVoicemail, boolean isBusiness) { - quickContactView.assignContactUri(contactUri); + public void updatePhoto() { + quickContactView.assignContactUri(info.lookupUri); quickContactView.setOverlay(null); + final boolean isVoicemail = mTelecomCallLogCache.isVoicemailNumber(accountHandle, number); int contactType = ContactPhotoManager.TYPE_DEFAULT; if (isVoicemail) { contactType = ContactPhotoManager.TYPE_VOICEMAIL; @@ -539,19 +539,17 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder contactType = ContactPhotoManager.TYPE_BUSINESS; } - String lookupKey = null; - if (contactUri != null) { - lookupKey = UriUtils.getLookupKeyFromUri(contactUri); - } - - DefaultImageRequest request = new DefaultImageRequest( + final String lookupKey = info.lookupUri != null + ? UriUtils.getLookupKeyFromUri(info.lookupUri) : null; + final String displayName = TextUtils.isEmpty(info.name) ? displayNumber : info.name; + final DefaultImageRequest request = new DefaultImageRequest( displayName, lookupKey, contactType, true /* isCircular */); - if (photoId == 0 && photoUri != null) { - ContactPhotoManager.getInstance(mContext).loadPhoto(quickContactView, photoUri, + if (info.photoId == 0 && info.photoUri != null) { + ContactPhotoManager.getInstance(mContext).loadPhoto(quickContactView, info.photoUri, mPhotoSize, false /* darkTheme */, true /* isCircular */, request); } else { - ContactPhotoManager.getInstance(mContext).loadThumbnail(quickContactView, photoId, + ContactPhotoManager.getInstance(mContext).loadThumbnail(quickContactView, info.photoId, false /* darkTheme */, true /* isCircular */, request); } } -- cgit v1.2.3