Merge "Fix missing icon for one-to-one convos" into rvc-dev am: 05e10b59af am: ce90e8037d am: 1557f3e094

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11727185

Change-Id: I3f78ad497da5dea05a405782c3a267aa73f6fe99
This commit is contained in:
Steve Elliott
2020-06-06 15:56:28 +00:00
committed by Automerger Merge Worker
2 changed files with 18 additions and 20 deletions

View File

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

View File

@@ -161,6 +161,7 @@ public class ConversationLayout extends FrameLayout
private Rect mAppOpsTouchRect = new Rect();
private float mMinTouchSize;
private Icon mConversationIcon;
private Icon mShortcutIcon;
private View mAppNameDivider;
public ConversationLayout(@NonNull Context context) {
@@ -465,10 +466,9 @@ public class ConversationLayout extends FrameLayout
private void updateConversationLayout() {
// Set avatar and name
CharSequence conversationText = mConversationTitle;
mConversationIcon = mShortcutIcon;
if (mIsOneToOne) {
// Let's resolve the icon / text from the last sender
mConversationIconView.setVisibility(VISIBLE);
mConversationFacePile.setVisibility(GONE);
CharSequence userKey = getKey(mUser);
for (int i = mGroups.size() - 1; i >= 0; i--) {
MessagingGroup messagingGroup = mGroups.get(i);
@@ -490,22 +490,21 @@ public class ConversationLayout extends FrameLayout
break;
}
}
}
if (mConversationIcon == null) {
mConversationIcon = mLargeIcon;
}
if (mIsOneToOne || mConversationIcon != null) {
mConversationIconView.setVisibility(VISIBLE);
mConversationFacePile.setVisibility(GONE);
mConversationIconView.setImageIcon(mConversationIcon);
} else {
if (mConversationIcon == null && mLargeIcon != null) {
mConversationIcon = mLargeIcon;
}
if (mConversationIcon != null) {
mConversationIconView.setVisibility(VISIBLE);
mConversationFacePile.setVisibility(GONE);
mConversationIconView.setImageIcon(mConversationIcon);
} else {
mConversationIconView.setVisibility(GONE);
// This will also inflate it!
mConversationFacePile.setVisibility(VISIBLE);
// rebind the value to the inflated view instead of the stub
mConversationFacePile = findViewById(R.id.conversation_face_pile);
bindFacePile();
}
mConversationIconView.setVisibility(GONE);
// This will also inflate it!
mConversationFacePile.setVisibility(VISIBLE);
// rebind the value to the inflated view instead of the stub
mConversationFacePile = findViewById(R.id.conversation_face_pile);
bindFacePile();
}
if (TextUtils.isEmpty(conversationText)) {
conversationText = mIsOneToOne ? mFallbackChatName : mFallbackGroupChatName;
@@ -712,7 +711,7 @@ public class ConversationLayout extends FrameLayout
}
@RemotableViewMethod
public void setConversationIcon(Icon conversationIcon) {
public void setShortcutIcon(Icon conversationIcon) {
mConversationIcon = conversationIcon;
}