summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/voicemail
diff options
context:
space:
mode:
authorlinyuh <linyuh@google.com>2018-02-08 10:44:50 -0800
committerCopybara-Service <copybara-piper@google.com>2018-02-09 16:46:38 -0800
commit21b13e2975180744020b0fb8c150e4a74c45e30c (patch)
tree398fb87ed742538e427373e6928822ce1747387f /java/com/android/dialer/voicemail
parentd4264575756e50c249ce26e8e12206aa3b4257a6 (diff)
Show icon and label for a spam number in the new call log.
Bug: 73077158 Test: CallLogEntryTextTest, GlidePhotoManagerImplTest, PhoneLookupInfoConsolidatorTest PiperOrigin-RevId: 185017362 Change-Id: I113472482da2213d17a847054272a22249edc578
Diffstat (limited to 'java/com/android/dialer/voicemail')
-rw-r--r--java/com/android/dialer/voicemail/listui/NewVoicemailAdapter.java11
-rw-r--r--java/com/android/dialer/voicemail/listui/NewVoicemailFragment.java6
-rw-r--r--java/com/android/dialer/voicemail/listui/NewVoicemailViewHolder.java34
-rw-r--r--java/com/android/dialer/voicemail/listui/menu/NewVoicemailMenu.java6
-rw-r--r--java/com/android/dialer/voicemail/listui/menu/PrimaryAction.java15
5 files changed, 36 insertions, 36 deletions
diff --git a/java/com/android/dialer/voicemail/listui/NewVoicemailAdapter.java b/java/com/android/dialer/voicemail/listui/NewVoicemailAdapter.java
index 318f79783..05a3bc951 100644
--- a/java/com/android/dialer/voicemail/listui/NewVoicemailAdapter.java
+++ b/java/com/android/dialer/voicemail/listui/NewVoicemailAdapter.java
@@ -42,6 +42,7 @@ import com.android.dialer.common.concurrent.DialerExecutor.SuccessListener;
import com.android.dialer.common.concurrent.DialerExecutor.Worker;
import com.android.dialer.common.concurrent.DialerExecutorComponent;
import com.android.dialer.common.concurrent.ThreadUtil;
+import com.android.dialer.glidephotomanager.GlidePhotoManager;
import com.android.dialer.time.Clock;
import com.android.dialer.voicemail.listui.NewVoicemailViewHolder.NewVoicemailViewHolderListener;
import com.android.dialer.voicemail.listui.error.VoicemailErrorMessage;
@@ -75,6 +76,7 @@ final class NewVoicemailAdapter extends RecyclerView.Adapter<ViewHolder>
private Cursor cursor;
private Cursor voicemailStatusCursor;
private final Clock clock;
+ private final GlidePhotoManager glidePhotoManager;
/** {@link Integer#MAX_VALUE} when the "Today" header should not be displayed. */
private int todayHeaderPosition = Integer.MAX_VALUE;
@@ -117,11 +119,16 @@ final class NewVoicemailAdapter extends RecyclerView.Adapter<ViewHolder>
new NewVoicemailMediaPlayer(new MediaPlayer());
/** @param cursor whose projection is {@link VoicemailCursorLoader#VOICEMAIL_COLUMNS} */
- NewVoicemailAdapter(Cursor cursor, Clock clock, FragmentManager fragmentManager) {
+ NewVoicemailAdapter(
+ Cursor cursor,
+ Clock clock,
+ FragmentManager fragmentManager,
+ GlidePhotoManager glidePhotoManager) {
LogUtil.enterBlock("NewVoicemailAdapter");
this.cursor = cursor;
this.clock = clock;
this.fragmentManager = fragmentManager;
+ this.glidePhotoManager = glidePhotoManager;
initializeMediaPlayerListeners();
updateHeaderPositions();
}
@@ -223,7 +230,7 @@ final class NewVoicemailAdapter extends RecyclerView.Adapter<ViewHolder>
case NewVoicemailAdapter.RowType.VOICEMAIL_ENTRY:
view = inflater.inflate(R.layout.new_voicemail_entry, viewGroup, false);
NewVoicemailViewHolder newVoicemailViewHolder =
- new NewVoicemailViewHolder(view, clock, this);
+ new NewVoicemailViewHolder(view, clock, this, glidePhotoManager);
newVoicemailViewHolderSet.add(newVoicemailViewHolder);
return newVoicemailViewHolder;
default:
diff --git a/java/com/android/dialer/voicemail/listui/NewVoicemailFragment.java b/java/com/android/dialer/voicemail/listui/NewVoicemailFragment.java
index 8812bcc2f..45a544323 100644
--- a/java/com/android/dialer/voicemail/listui/NewVoicemailFragment.java
+++ b/java/com/android/dialer/voicemail/listui/NewVoicemailFragment.java
@@ -37,6 +37,7 @@ import com.android.dialer.common.concurrent.ThreadUtil;
import com.android.dialer.common.concurrent.UiListener;
import com.android.dialer.database.CallLogQueryHandler;
import com.android.dialer.database.CallLogQueryHandler.Listener;
+import com.android.dialer.glidephotomanager.GlidePhotoManagerComponent;
import com.google.common.util.concurrent.ListenableFuture;
// TODO(uabdullah): Register content observer for VoicemailContract.Status.CONTENT_URI in onStart
@@ -175,7 +176,10 @@ public final class NewVoicemailFragment extends Fragment
// TODO(uabdullah): Replace getActivity().getFragmentManager() with getChildFragment()
recyclerView.setAdapter(
new NewVoicemailAdapter(
- data, System::currentTimeMillis, getActivity().getFragmentManager()));
+ data,
+ System::currentTimeMillis,
+ getActivity().getFragmentManager(),
+ GlidePhotoManagerComponent.get(getContext()).glidePhotoManager()));
} else {
// This would only be called in cases such as when voicemail has been fetched from the server
// or a changed occurred in the annotated table changed (e.g deletes). To check if the change
diff --git a/java/com/android/dialer/voicemail/listui/NewVoicemailViewHolder.java b/java/com/android/dialer/voicemail/listui/NewVoicemailViewHolder.java
index b0c07df66..5328dd33e 100644
--- a/java/com/android/dialer/voicemail/listui/NewVoicemailViewHolder.java
+++ b/java/com/android/dialer/voicemail/listui/NewVoicemailViewHolder.java
@@ -27,7 +27,6 @@ import android.graphics.Typeface;
import android.net.Uri;
import android.provider.VoicemailContract.Voicemails;
import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
import android.support.annotation.WorkerThread;
import android.support.v7.widget.RecyclerView;
import android.text.TextUtils;
@@ -38,15 +37,14 @@ import android.widget.ImageView;
import android.widget.QuickContactBadge;
import android.widget.TextView;
import com.android.dialer.calllog.database.contract.AnnotatedCallLogContract.AnnotatedCallLog;
+import com.android.dialer.calllogutils.NumberAttributesConverter;
import com.android.dialer.common.Assert;
import com.android.dialer.common.LogUtil;
import com.android.dialer.common.concurrent.DialerExecutor.SuccessListener;
import com.android.dialer.common.concurrent.DialerExecutor.Worker;
import com.android.dialer.common.concurrent.DialerExecutorComponent;
import com.android.dialer.compat.android.provider.VoicemailCompat;
-import com.android.dialer.contactphoto.ContactPhotoManager;
-import com.android.dialer.contactphoto.NumberAttributeConverter;
-import com.android.dialer.lettertile.LetterTileDrawable;
+import com.android.dialer.glidephotomanager.GlidePhotoManager;
import com.android.dialer.time.Clock;
import com.android.dialer.voicemail.listui.menu.NewVoicemailMenu;
import com.android.dialer.voicemail.model.VoicemailEntry;
@@ -69,9 +67,13 @@ final class NewVoicemailViewHolder extends RecyclerView.ViewHolder implements On
private VoicemailEntry voicemailEntryOfViewHolder;
@NonNull private Uri viewHolderVoicemailUri;
private final NewVoicemailViewHolderListener voicemailViewHolderListener;
+ private final GlidePhotoManager glidePhotoManager;
NewVoicemailViewHolder(
- View view, Clock clock, NewVoicemailViewHolderListener newVoicemailViewHolderListener) {
+ View view,
+ Clock clock,
+ NewVoicemailViewHolderListener newVoicemailViewHolderListener,
+ GlidePhotoManager glidePhotoManager) {
super(view);
LogUtil.enterBlock("NewVoicemailViewHolder");
this.context = view.getContext();
@@ -84,6 +86,7 @@ final class NewVoicemailViewHolder extends RecyclerView.ViewHolder implements On
menuButton = view.findViewById(R.id.menu_button);
this.clock = clock;
voicemailViewHolderListener = newVoicemailViewHolderListener;
+ this.glidePhotoManager = glidePhotoManager;
viewHolderId = -1;
isViewHolderExpanded = false;
@@ -144,7 +147,8 @@ final class NewVoicemailViewHolder extends RecyclerView.ViewHolder implements On
itemView.setOnClickListener(this);
menuButton.setOnClickListener(
- NewVoicemailMenu.createOnClickListener(context, voicemailEntryOfViewHolder));
+ NewVoicemailMenu.createOnClickListener(
+ context, voicemailEntryOfViewHolder, glidePhotoManager));
setPhoto(voicemailEntryOfViewHolder);
@@ -206,19 +210,11 @@ final class NewVoicemailViewHolder extends RecyclerView.ViewHolder implements On
}
private void setPhoto(VoicemailEntry voicemailEntry) {
- ContactPhotoManager.getInstance(context)
- .loadDialerThumbnailOrPhoto(
- quickContactBadge,
- parseUri(voicemailEntry.numberAttributes().getLookupUri()),
- voicemailEntry.numberAttributes().getPhotoId(),
- NumberAttributeConverter.getPhotoUri(context, voicemailEntry.numberAttributes()),
- VoicemailEntryText.buildPrimaryVoicemailText(context, voicemailEntry),
- LetterTileDrawable.TYPE_DEFAULT);
- }
-
- @Nullable
- private static Uri parseUri(@Nullable String string) {
- return TextUtils.isEmpty(string) ? null : Uri.parse(string);
+ glidePhotoManager.loadQuickContactBadge(
+ quickContactBadge,
+ NumberAttributesConverter.toPhotoInfoBuilder(voicemailEntry.numberAttributes())
+ .setFormattedNumber(voicemailEntry.formattedNumber())
+ .build());
}
void collapseViewHolder() {
diff --git a/java/com/android/dialer/voicemail/listui/menu/NewVoicemailMenu.java b/java/com/android/dialer/voicemail/listui/menu/NewVoicemailMenu.java
index 9af8de6f5..fbd7fe854 100644
--- a/java/com/android/dialer/voicemail/listui/menu/NewVoicemailMenu.java
+++ b/java/com/android/dialer/voicemail/listui/menu/NewVoicemailMenu.java
@@ -19,6 +19,7 @@ package com.android.dialer.voicemail.listui.menu;
import android.content.Context;
import android.view.View;
import com.android.dialer.contactactions.ContactActionBottomSheet;
+import com.android.dialer.glidephotomanager.GlidePhotoManager;
import com.android.dialer.voicemail.model.VoicemailEntry;
/** Handles configuration of the bottom sheet menus for voicemail entries. */
@@ -26,11 +27,12 @@ public final class NewVoicemailMenu {
/** Creates and returns the OnClickListener which opens the menu for the provided row. */
public static View.OnClickListener createOnClickListener(
- Context context, VoicemailEntry voicemailEntry) {
+ Context context, VoicemailEntry voicemailEntry, GlidePhotoManager glidePhotoManager) {
return (view) ->
ContactActionBottomSheet.show(
context,
PrimaryAction.fromVoicemailEntry(context, voicemailEntry),
- Modules.fromVoicemailEntry(context, voicemailEntry));
+ Modules.fromVoicemailEntry(context, voicemailEntry),
+ glidePhotoManager);
}
}
diff --git a/java/com/android/dialer/voicemail/listui/menu/PrimaryAction.java b/java/com/android/dialer/voicemail/listui/menu/PrimaryAction.java
index ffc53e779..91f505cb0 100644
--- a/java/com/android/dialer/voicemail/listui/menu/PrimaryAction.java
+++ b/java/com/android/dialer/voicemail/listui/menu/PrimaryAction.java
@@ -18,10 +18,8 @@ package com.android.dialer.voicemail.listui.menu;
import android.content.Context;
import android.text.TextUtils;
+import com.android.dialer.calllogutils.NumberAttributesConverter;
import com.android.dialer.contactactions.ContactPrimaryActionInfo;
-import com.android.dialer.contactactions.ContactPrimaryActionInfo.PhotoInfo;
-import com.android.dialer.contactphoto.NumberAttributeConverter;
-import com.android.dialer.lettertile.LetterTileDrawable;
import com.android.dialer.voicemail.model.VoicemailEntry;
/** Configures the primary action row (top row) for theottom sheet for the Voicemail Tab */
@@ -38,15 +36,8 @@ final class PrimaryAction {
return ContactPrimaryActionInfo.builder()
.setNumber(voicemailEntry.number())
.setPhotoInfo(
- PhotoInfo.builder()
- .setPhotoId(voicemailEntry.numberAttributes().getPhotoId())
- .setPhotoUri(
- NumberAttributeConverter.getPhotoUri(
- context, voicemailEntry.numberAttributes()))
- .setIsVideo(false)
- .setContactType(
- LetterTileDrawable.TYPE_DEFAULT) // TODO(uabdullah): Use proper type.
- .setDisplayName(voicemailEntry.numberAttributes().getName())
+ NumberAttributesConverter.toPhotoInfoBuilder(voicemailEntry.numberAttributes())
+ .setFormattedNumber(voicemailEntry.formattedNumber())
.build())
.setPrimaryText(buildPrimaryVoicemailText(context, voicemailEntry))
.setSecondaryText(buildSecondaryVoicemailText(voicemailEntry))