Merge "Always use Shortcut Icon in conversation if available" into rvc-dev

This commit is contained in:
Steve Elliott
2020-06-02 18:46:38 +00:00
committed by Android (Google) Code Review
2 changed files with 19 additions and 11 deletions

View File

@@ -7625,9 +7625,8 @@ public class Notification implements Parcelable
}
boolean isConversationLayout = mConversationType != CONVERSATION_TYPE_LEGACY;
boolean isImportantConversation = mConversationType == CONVERSATION_TYPE_IMPORTANT;
Icon largeIcon = isConversationLayout && mShortcutIcon != null
? mShortcutIcon
: mBuilder.mN.mLargeIcon;
Icon conversationIcon = mShortcutIcon;
Icon largeIcon = mBuilder.mN.mLargeIcon;
TemplateBindResult bindResult = new TemplateBindResult();
StandardTemplateParams p = mBuilder.mParams.reset()
.hasProgress(false)
@@ -7671,6 +7670,8 @@ public class Notification implements Parcelable
contentView.setCharSequence(R.id.status_bar_latest_event_content,
"setConversationTitle", conversationTitle);
if (isConversationLayout) {
contentView.setIcon(R.id.status_bar_latest_event_content,
"setConversationIcon", conversationIcon);
contentView.setBoolean(R.id.status_bar_latest_event_content,
"setIsImportantConversation", isImportantConversation);
}

View File

@@ -480,23 +480,25 @@ public class ConversationLayout extends FrameLayout
// (This usually happens for most 1:1 conversations)
conversationText = messagingGroup.getSenderName();
}
Icon avatarIcon = messagingGroup.getAvatarIcon();
if (avatarIcon == null) {
avatarIcon = createAvatarSymbol(conversationText, "", mLayoutColor);
if (mConversationIcon == null) {
Icon avatarIcon = messagingGroup.getAvatarIcon();
if (avatarIcon == null) {
avatarIcon = createAvatarSymbol(conversationText, "", mLayoutColor);
}
mConversationIcon = avatarIcon;
}
mConversationIcon = avatarIcon;
mConversationIconView.setImageIcon(mConversationIcon);
break;
}
}
} else {
if (mLargeIcon != null) {
if (mConversationIcon == null && mLargeIcon != null) {
mConversationIcon = mLargeIcon;
}
if (mConversationIcon != null) {
mConversationIconView.setVisibility(VISIBLE);
mConversationFacePile.setVisibility(GONE);
mConversationIconView.setImageIcon(mLargeIcon);
mConversationIconView.setImageIcon(mConversationIcon);
} else {
mConversationIcon = null;
mConversationIconView.setVisibility(GONE);
// This will also inflate it!
mConversationFacePile.setVisibility(VISIBLE);
@@ -709,6 +711,11 @@ public class ConversationLayout extends FrameLayout
mLargeIcon = largeIcon;
}
@RemotableViewMethod
public void setConversationIcon(Icon conversationIcon) {
mConversationIcon = conversationIcon;
}
/**
* Sets the conversation title of this conversation.
*