summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCassie(Yitong) Wang <cassieyw@google.com>2019-10-31 17:23:09 -0700
committerCassie(Yitong) Wang <cassieyw@google.com>2019-11-14 15:58:56 -0800
commit44bd972d8fefb1b5ae80a79dc41ab3c4fa9dcbce (patch)
treea3efb121b92934b8a7b60e82c29e5291a5545c8e
parentfed92cafce7e07ef57b8f4ffac3e7a194b98009f (diff)
downloadplatform_packages_apps_Car_Dialer-44bd972d8fefb1b5ae80a79dc41ab3c4fa9dcbce.tar.gz
platform_packages_apps_Car_Dialer-44bd972d8fefb1b5ae80a79dc41ab3c4fa9dcbce.tar.bz2
platform_packages_apps_Car_Dialer-44bd972d8fefb1b5ae80a79dc41ab3c4fa9dcbce.zip
Update parameters for creating letter tile avatar
Bug: 142914836 Test: Manually Change-Id: I06803dec593a1f3928cd81260ce83393ac4bdc69
-rw-r--r--src/com/android/car/dialer/notification/NotificationUtils.java9
-rw-r--r--src/com/android/car/dialer/ui/activecall/InCallFragment.java4
-rw-r--r--src/com/android/car/dialer/ui/activecall/OnHoldCallUserProfileFragment.java5
-rw-r--r--src/com/android/car/dialer/ui/calllog/CallLogViewHolder.java1
-rw-r--r--src/com/android/car/dialer/ui/common/UiCallLogLiveData.java5
-rw-r--r--src/com/android/car/dialer/ui/common/entity/UiCallLog.java18
-rw-r--r--src/com/android/car/dialer/ui/contact/ContactDetailsFragment.java2
-rw-r--r--src/com/android/car/dialer/ui/contact/ContactDetailsViewHolder.java4
-rw-r--r--src/com/android/car/dialer/ui/contact/ContactListViewHolder.java2
-rw-r--r--src/com/android/car/dialer/ui/dialpad/DialpadFragment.java4
-rw-r--r--src/com/android/car/dialer/ui/favorite/FavoriteContactViewHolder.java2
-rw-r--r--src/com/android/car/dialer/ui/search/ContactResultViewHolder.java3
-rw-r--r--tests/robotests/src/com/android/car/dialer/ui/calllog/CallHistoryFragmentTest.java4
13 files changed, 40 insertions, 23 deletions
diff --git a/src/com/android/car/dialer/notification/NotificationUtils.java b/src/com/android/car/dialer/notification/NotificationUtils.java
index 1812c3fc..b185911d 100644
--- a/src/com/android/car/dialer/notification/NotificationUtils.java
+++ b/src/com/android/car/dialer/notification/NotificationUtils.java
@@ -48,7 +48,8 @@ final class NotificationUtils {
.getDimensionPixelSize(R.dimen.avatar_icon_size);
Icon largeIcon = loadContactAvatar(context, info.getAvatarUri(), size);
if (largeIcon == null) {
- largeIcon = createLetterTile(context, info.getDisplayName(), size);
+ largeIcon = createLetterTile(context, info.getInitials(),
+ /* identifier */ info.getDisplayName(), size);
}
return new Pair<>(info.getDisplayName(), largeIcon);
@@ -74,8 +75,10 @@ final class NotificationUtils {
return null;
}
- private static Icon createLetterTile(Context context, String displayName, int avatarSize) {
- LetterTileDrawable letterTileDrawable = TelecomUtils.createLetterTile(context, displayName);
+ private static Icon createLetterTile(Context context, @Nullable String initials,
+ String identifier, int avatarSize) {
+ LetterTileDrawable letterTileDrawable = TelecomUtils.createLetterTile(context, initials,
+ identifier);
RoundedBitmapDrawable roundedBitmapDrawable = RoundedBitmapDrawableFactory.create(
context.getResources(), letterTileDrawable.toBitmap(avatarSize));
return createFromRoundedBitmapDrawable(context, roundedBitmapDrawable, avatarSize);
diff --git a/src/com/android/car/dialer/ui/activecall/InCallFragment.java b/src/com/android/car/dialer/ui/activecall/InCallFragment.java
index 81e2b68d..b16fe067 100644
--- a/src/com/android/car/dialer/ui/activecall/InCallFragment.java
+++ b/src/com/android/car/dialer/ui/activecall/InCallFragment.java
@@ -63,7 +63,7 @@ public abstract class InCallFragment extends Fragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- mDefaultAvatar = TelecomUtils.createLetterTile(getContext(), null);
+ mDefaultAvatar = TelecomUtils.createLetterTile(getContext(), null, null);
}
/**
@@ -125,7 +125,7 @@ public abstract class InCallFragment extends Fragment {
}
LetterTileDrawable letterTile = TelecomUtils.createLetterTile(
- getContext(), info.getDisplayName());
+ getContext(), info.getInitials(), info.getDisplayName());
Glide.with(this)
.load(info.getAvatarUri())
diff --git a/src/com/android/car/dialer/ui/activecall/OnHoldCallUserProfileFragment.java b/src/com/android/car/dialer/ui/activecall/OnHoldCallUserProfileFragment.java
index 1ffebe27..9d6e38e0 100644
--- a/src/com/android/car/dialer/ui/activecall/OnHoldCallUserProfileFragment.java
+++ b/src/com/android/car/dialer/ui/activecall/OnHoldCallUserProfileFragment.java
@@ -54,7 +54,7 @@ public class OnHoldCallUserProfileFragment extends Fragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- mDefaultAvatar = TelecomUtils.createLetterTile(getContext(), null);
+ mDefaultAvatar = TelecomUtils.createLetterTile(getContext(), null, null);
}
@Nullable
@@ -91,11 +91,12 @@ public class OnHoldCallUserProfileFragment extends Fragment {
String number = callDetail.getNumber();
mTitle.setText(TelecomUtils.getFormattedNumber(getContext(), number));
mAvatarView.setImageDrawable(mDefaultAvatar);
+
mPhoneNumberInfoFuture = TelecomUtils.getPhoneNumberInfo(getContext(), number)
.thenAcceptAsync((info) -> {
mTitle.setText(info.getDisplayName());
TelecomUtils.setContactBitmapAsync(getContext(), mAvatarView,
- info.getAvatarUri(), info.getDisplayName());
+ info.getAvatarUri(), info.getInitials(), info.getDisplayName());
}, getContext().getMainExecutor());
}
diff --git a/src/com/android/car/dialer/ui/calllog/CallLogViewHolder.java b/src/com/android/car/dialer/ui/calllog/CallLogViewHolder.java
index f28761a2..677f7503 100644
--- a/src/com/android/car/dialer/ui/calllog/CallLogViewHolder.java
+++ b/src/com/android/car/dialer/ui/calllog/CallLogViewHolder.java
@@ -74,6 +74,7 @@ public class CallLogViewHolder extends RecyclerView.ViewHolder {
mAvatarView.getContext(),
mAvatarView,
uiCallLog.getAvatarUri(),
+ uiCallLog.getInitials(),
uiCallLog.getTitle());
mTitleView.setText(uiCallLog.getTitle());
diff --git a/src/com/android/car/dialer/ui/common/UiCallLogLiveData.java b/src/com/android/car/dialer/ui/common/UiCallLogLiveData.java
index d200b602..ab76514c 100644
--- a/src/com/android/car/dialer/ui/common/UiCallLogLiveData.java
+++ b/src/com/android/car/dialer/ui/common/UiCallLogLiveData.java
@@ -134,8 +134,8 @@ public class UiCallLogLiveData extends MediatorLiveData<List<Object>> {
String relativeTime = getRelativeTime(phoneCallLog.getLastCallEndTimestamp());
if (TelecomUtils.isVoicemailNumber(mContext, number)) {
String title = mContext.getString(R.string.voicemail);
- UiCallLog uiCallLog = new UiCallLog(title,
- relativeTime, number, null, phoneCallLog.getAllCallRecords());
+ UiCallLog uiCallLog = new UiCallLog(title, relativeTime, number, null, null,
+ phoneCallLog.getAllCallRecords());
uiCallLogs.add(uiCallLog);
continue;
}
@@ -156,6 +156,7 @@ public class UiCallLogLiveData extends MediatorLiveData<List<Object>> {
title,
getSecondaryText(getType(phoneNumber), relativeTime),
number,
+ contact != null ? contact.getInitials() : null,
contact != null ? contact.getAvatarUri() : null,
phoneCallLog.getAllCallRecords());
diff --git a/src/com/android/car/dialer/ui/common/entity/UiCallLog.java b/src/com/android/car/dialer/ui/common/entity/UiCallLog.java
index 999d66e1..9de97309 100644
--- a/src/com/android/car/dialer/ui/common/entity/UiCallLog.java
+++ b/src/com/android/car/dialer/ui/common/entity/UiCallLog.java
@@ -18,6 +18,8 @@ package com.android.car.dialer.ui.common.entity;
import android.net.Uri;
+import androidx.annotation.Nullable;
+
import com.android.car.dialer.livedata.CallHistoryLiveData;
import com.android.car.telephony.common.PhoneCallLog;
@@ -31,20 +33,31 @@ import java.util.List;
public class UiCallLog {
private final String mTitle;
private final String mNumber;
+ @Nullable
+ private final String mInitials;
private final Uri mAvatarUri;
private final List<PhoneCallLog.Record> mCallRecords;
private String mText;
- public UiCallLog(String title, String text, String number, Uri avatarUri,
- List<PhoneCallLog.Record> callRecords) {
+ public UiCallLog(String title, String text, String number, @Nullable String initials,
+ Uri avatarUri, List<PhoneCallLog.Record> callRecords) {
mTitle = title;
mText = text;
mNumber = number;
+ mInitials = initials;
mAvatarUri = avatarUri;
mCallRecords = new ArrayList<>(callRecords);
}
/**
+ * Returns the initials of a call log item. Returns null if this item is not a contact.
+ */
+ @Nullable
+ public String getInitials() {
+ return mInitials;
+ }
+
+ /**
* Returns the title of a call log item.
*/
public String getTitle() {
@@ -73,6 +86,7 @@ public class UiCallLog {
}
/** Returns the avatar of the contact associated with the number. */
+ @Nullable
public Uri getAvatarUri() {
return mAvatarUri;
}
diff --git a/src/com/android/car/dialer/ui/contact/ContactDetailsFragment.java b/src/com/android/car/dialer/ui/contact/ContactDetailsFragment.java
index 9d0c63bc..dcab2aab 100644
--- a/src/com/android/car/dialer/ui/contact/ContactDetailsFragment.java
+++ b/src/com/android/car/dialer/ui/contact/ContactDetailsFragment.java
@@ -109,7 +109,7 @@ public class ContactDetailsFragment extends DialerListBaseFragment implements
getArguments().clear();
if (mAvatarView != null) {
mAvatarView.setOutlineProvider(ContactAvatarOutputlineProvider.get());
- TelecomUtils.setContactBitmapAsync(getContext(), mAvatarView, contact, null);
+ TelecomUtils.setContactBitmapAsync(getContext(), mAvatarView, contact);
}
if (mNameView != null) {
diff --git a/src/com/android/car/dialer/ui/contact/ContactDetailsViewHolder.java b/src/com/android/car/dialer/ui/contact/ContactDetailsViewHolder.java
index 44e64052..fb90eee8 100644
--- a/src/com/android/car/dialer/ui/contact/ContactDetailsViewHolder.java
+++ b/src/com/android/car/dialer/ui/contact/ContactDetailsViewHolder.java
@@ -84,7 +84,7 @@ class ContactDetailsViewHolder extends RecyclerView.ViewHolder {
public void bind(Context context, Contact contact) {
if (contact == null) {
ViewUtils.setText(mTitle, R.string.error_contact_deleted);
- LetterTileDrawable letterTile = TelecomUtils.createLetterTile(context, null);
+ LetterTileDrawable letterTile = TelecomUtils.createLetterTile(context, null, null);
if (mAvatarView != null) {
mAvatarView.setImageDrawable(letterTile);
}
@@ -103,7 +103,7 @@ class ContactDetailsViewHolder extends RecyclerView.ViewHolder {
}
LetterTileDrawable letterTile = TelecomUtils.createLetterTile(context,
- contact.getDisplayName());
+ contact.getInitials(), contact.getDisplayName());
Glide.with(context)
.load(contact.getAvatarUri())
.apply(new RequestOptions().centerCrop().error(letterTile))
diff --git a/src/com/android/car/dialer/ui/contact/ContactListViewHolder.java b/src/com/android/car/dialer/ui/contact/ContactListViewHolder.java
index 0596b766..60d909ff 100644
--- a/src/com/android/car/dialer/ui/contact/ContactListViewHolder.java
+++ b/src/com/android/car/dialer/ui/contact/ContactListViewHolder.java
@@ -65,7 +65,7 @@ public class ContactListViewHolder extends RecyclerView.ViewHolder {
* Binds the view holder with relevant data.
*/
public void onBind(Contact contact, boolean showHeader, String header) {
- TelecomUtils.setContactBitmapAsync(mAvatarView.getContext(), mAvatarView, contact, null);
+ TelecomUtils.setContactBitmapAsync(mAvatarView.getContext(), mAvatarView, contact);
ViewUtils.setVisible(mHeaderView, showHeader);
if (showHeader) {
ViewUtils.setText(mHeaderView, header);
diff --git a/src/com/android/car/dialer/ui/dialpad/DialpadFragment.java b/src/com/android/car/dialer/ui/dialpad/DialpadFragment.java
index aa22ba2e..e8f22e2c 100644
--- a/src/com/android/car/dialer/ui/dialpad/DialpadFragment.java
+++ b/src/com/android/car/dialer/ui/dialpad/DialpadFragment.java
@@ -258,9 +258,7 @@ public class DialpadFragment extends AbstractDialpadFragment {
R.string.primary_number_description, readableLabel) : readableLabel);
ViewUtils.setVisible(mLabel, true);
- if (mAvatar != null) {
- TelecomUtils.setContactBitmapAsync(getContext(), mAvatar, contact, null);
- }
+ TelecomUtils.setContactBitmapAsync(getContext(), mAvatar, contact);
ViewUtils.setVisible(mAvatar, true);
}
diff --git a/src/com/android/car/dialer/ui/favorite/FavoriteContactViewHolder.java b/src/com/android/car/dialer/ui/favorite/FavoriteContactViewHolder.java
index 93d36e2c..137a150f 100644
--- a/src/com/android/car/dialer/ui/favorite/FavoriteContactViewHolder.java
+++ b/src/com/android/car/dialer/ui/favorite/FavoriteContactViewHolder.java
@@ -83,6 +83,6 @@ class FavoriteContactViewHolder extends RecyclerView.ViewHolder {
}
mText.setText(secondaryText);
- TelecomUtils.setContactBitmapAsync(context, mIcon, contact, null);
+ TelecomUtils.setContactBitmapAsync(context, mIcon, contact);
}
}
diff --git a/src/com/android/car/dialer/ui/search/ContactResultViewHolder.java b/src/com/android/car/dialer/ui/search/ContactResultViewHolder.java
index 121be99a..ad1d1391 100644
--- a/src/com/android/car/dialer/ui/search/ContactResultViewHolder.java
+++ b/src/com/android/car/dialer/ui/search/ContactResultViewHolder.java
@@ -59,7 +59,6 @@ public class ContactResultViewHolder extends RecyclerView.ViewHolder {
v -> mOnShowContactDetailListener.onShowContactDetail(contact));
mContactName.setText(contact.getDisplayName());
- TelecomUtils.setContactBitmapAsync(mContext, mContactPicture, contact.getAvatarUri(),
- contact.getDisplayName());
+ TelecomUtils.setContactBitmapAsync(mContext, mContactPicture, contact);
}
}
diff --git a/tests/robotests/src/com/android/car/dialer/ui/calllog/CallHistoryFragmentTest.java b/tests/robotests/src/com/android/car/dialer/ui/calllog/CallHistoryFragmentTest.java
index d249e4b4..7dd42b9a 100644
--- a/tests/robotests/src/com/android/car/dialer/ui/calllog/CallHistoryFragmentTest.java
+++ b/tests/robotests/src/com/android/car/dialer/ui/calllog/CallHistoryFragmentTest.java
@@ -86,8 +86,8 @@ public class CallHistoryFragmentTest {
CallHistoryLiveData.CallType.INCOMING_TYPE);
PhoneCallLog.Record record2 = new PhoneCallLog.Record(TIME_STAMP_2,
CallHistoryLiveData.CallType.OUTGOING_TYPE);
- UiCallLog uiCallLog = new UiCallLog(UI_CALLOG_TITLE, UI_CALLOG_TEXT, PHONE_NUMBER, mMockUri,
- Arrays.asList(record1, record2));
+ UiCallLog uiCallLog = new UiCallLog(UI_CALLOG_TITLE, UI_CALLOG_TEXT, PHONE_NUMBER, null,
+ mMockUri, Arrays.asList(record1, record2));
MutableLiveData<List<Object>> callLog = new MutableLiveData<>();
callLog.setValue(Arrays.asList(HEADER, uiCallLog));