diff options
Diffstat (limited to 'java/com/android/dialer/contactactions')
-rw-r--r-- | java/com/android/dialer/contactactions/ContactActionBottomSheet.java | 25 | ||||
-rw-r--r-- | java/com/android/dialer/contactactions/ContactPrimaryActionInfo.java | 47 |
2 files changed, 11 insertions, 61 deletions
diff --git a/java/com/android/dialer/contactactions/ContactActionBottomSheet.java b/java/com/android/dialer/contactactions/ContactActionBottomSheet.java index 27e318786..98a5dd115 100644 --- a/java/com/android/dialer/contactactions/ContactActionBottomSheet.java +++ b/java/com/android/dialer/contactactions/ContactActionBottomSheet.java @@ -17,7 +17,6 @@ package com.android.dialer.contactactions; import android.content.Context; -import android.net.Uri; import android.os.Bundle; import android.support.design.widget.BottomSheetDialog; import android.text.TextUtils; @@ -29,8 +28,7 @@ import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import com.android.dialer.common.Assert; -import com.android.dialer.contactactions.ContactPrimaryActionInfo.PhotoInfo; -import com.android.dialer.contactphoto.ContactPhotoManager; +import com.android.dialer.glidephotomanager.GlidePhotoManager; import java.util.List; /** @@ -44,23 +42,27 @@ public class ContactActionBottomSheet extends BottomSheetDialog implements OnCli private final List<ContactActionModule> modules; private final ContactPrimaryActionInfo contactPrimaryActionInfo; + private final GlidePhotoManager glidePhotoManager; private ContactActionBottomSheet( Context context, ContactPrimaryActionInfo contactPrimaryActionInfo, - List<ContactActionModule> modules) { + List<ContactActionModule> modules, + GlidePhotoManager glidePhotoManager) { super(context); this.modules = modules; this.contactPrimaryActionInfo = contactPrimaryActionInfo; + this.glidePhotoManager = glidePhotoManager; setContentView(LayoutInflater.from(context).inflate(R.layout.sheet_layout, null)); } public static ContactActionBottomSheet show( Context context, ContactPrimaryActionInfo contactPrimaryActionInfo, - List<ContactActionModule> modules) { + List<ContactActionModule> modules, + GlidePhotoManager glidePhotoManager) { ContactActionBottomSheet sheet = - new ContactActionBottomSheet(context, contactPrimaryActionInfo, modules); + new ContactActionBottomSheet(context, contactPrimaryActionInfo, modules, glidePhotoManager); sheet.show(); return sheet; } @@ -85,15 +87,8 @@ public class ContactActionBottomSheet extends BottomSheetDialog implements OnCli View contactView = inflater.inflate(R.layout.contact_layout, container, false); // TODO(zachh): The contact image should be badged with a video icon if it is for a video call. - PhotoInfo photoInfo = contactPrimaryActionInfo.photoInfo(); - ContactPhotoManager.getInstance(getContext()) - .loadDialerThumbnailOrPhoto( - contactView.findViewById(R.id.quick_contact_photo), - !TextUtils.isEmpty(photoInfo.lookupUri()) ? Uri.parse(photoInfo.lookupUri()) : null, - photoInfo.photoId(), - photoInfo.photoUri(), - photoInfo.displayName(), - photoInfo.contactType()); + glidePhotoManager.loadQuickContactBadge( + contactView.findViewById(R.id.quick_contact_photo), contactPrimaryActionInfo.photoInfo()); TextView primaryTextView = contactView.findViewById(R.id.primary_text); TextView secondaryTextView = contactView.findViewById(R.id.secondary_text); diff --git a/java/com/android/dialer/contactactions/ContactPrimaryActionInfo.java b/java/com/android/dialer/contactactions/ContactPrimaryActionInfo.java index f19fd282c..5017d83b9 100644 --- a/java/com/android/dialer/contactactions/ContactPrimaryActionInfo.java +++ b/java/com/android/dialer/contactactions/ContactPrimaryActionInfo.java @@ -16,11 +16,10 @@ package com.android.dialer.contactactions; import android.content.Intent; -import android.net.Uri; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import com.android.dialer.DialerPhoneNumber; -import com.android.dialer.lettertile.LetterTileDrawable; +import com.android.dialer.glidephotomanager.PhotoInfo; import com.google.auto.value.AutoValue; /** @@ -35,50 +34,6 @@ public abstract class ContactPrimaryActionInfo { @Nullable public abstract DialerPhoneNumber number(); - /** Information used to construct the photo for the contact. */ - @AutoValue - public abstract static class PhotoInfo { - public abstract long photoId(); - - @Nullable - public abstract Uri photoUri(); - - @Nullable - public abstract String lookupUri(); - - /** Badges the photo with a video icon if true. */ - public abstract boolean isVideo(); - - @LetterTileDrawable.ContactType - public abstract int contactType(); - - /** Used to generate letter tile if there is no photo. */ - @Nullable - public abstract String displayName(); - - /** Builder for {@link PhotoInfo}. */ - @AutoValue.Builder - public abstract static class Builder { - public abstract Builder setPhotoId(long photoId); - - public abstract Builder setPhotoUri(@Nullable Uri photoUri); - - public abstract Builder setLookupUri(@Nullable String lookupUri); - - public abstract Builder setIsVideo(boolean isVideo); - - public abstract Builder setContactType(@LetterTileDrawable.ContactType int contactType); - - public abstract Builder setDisplayName(@Nullable String displayName); - - public abstract PhotoInfo build(); - } - - public static Builder builder() { - return new AutoValue_ContactPrimaryActionInfo_PhotoInfo.Builder(); - } - } - @NonNull public abstract PhotoInfo photoInfo(); |