summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Steve Elliott <steell@google.com> 2020-06-02 18:52:21 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2020-06-02 18:52:21 +0000
commit4c42f40c1f47dbbce7a016cd1ca4d3b7e3694ea9 (patch)
tree947ff50e677defa733f05214a96f751a5ba74d7a
parent38379465d2b561d769bb7464e6a07a4277298658 (diff)
parentcc1937581a6f55592fa19e265b6a89aac22ded78 (diff)
Merge "Always use Shortcut Icon in conversation if available" into rvc-dev am: cc1937581a
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11662920 Change-Id: I150bd3a1810a5cc922313dd0958058338e70a721
-rw-r--r--core/java/android/app/Notification.java7
-rw-r--r--core/java/com/android/internal/widget/ConversationLayout.java23
2 files changed, 19 insertions, 11 deletions
diff --git a/core/java/android/app/Notification.java b/core/java/android/app/Notification.java
index e8ce92db62ad..980fdb87f3fb 100644
--- a/core/java/android/app/Notification.java
+++ b/core/java/android/app/Notification.java
@@ -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);
}
diff --git a/core/java/com/android/internal/widget/ConversationLayout.java b/core/java/com/android/internal/widget/ConversationLayout.java
index 688e00bc5a29..c75f72bdc765 100644
--- a/core/java/com/android/internal/widget/ConversationLayout.java
+++ b/core/java/com/android/internal/widget/ConversationLayout.java
@@ -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.
*