diff --git a/packages/SystemUI/res/layout/notification_conversation_info.xml b/packages/SystemUI/res/layout/notification_conversation_info.xml
index fcc1aed654702..112509272e58e 100644
--- a/packages/SystemUI/res/layout/notification_conversation_info.xml
+++ b/packages/SystemUI/res/layout/notification_conversation_info.xml
@@ -36,13 +36,62 @@
android:clipChildren="false"
android:paddingTop="@dimen/notification_guts_header_top_padding"
android:clipToPadding="true">
-
+ android:layout_marginEnd="12dp"
+ >
+
+
+
+
+
+
+
+
+
+
32dp
6dp
- 11dp
+ 12dp
24dp
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationConversationInfo.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationConversationInfo.java
index b4ab8cf817ddb..8ba036ce03c3c 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationConversationInfo.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationConversationInfo.java
@@ -346,9 +346,22 @@ public class NotificationConversationInfo extends LinearLayout implements
}
private void bindIcon(boolean important) {
+ Drawable person = mIconFactory.getBaseIconDrawable(mShortcutInfo);
+ if (person == null) {
+ person = mContext.getDrawable(R.drawable.ic_person).mutate();
+ TypedArray ta = mContext.obtainStyledAttributes(new int[]{android.R.attr.colorAccent});
+ int colorAccent = ta.getColor(0, 0);
+ ta.recycle();
+ person.setTint(colorAccent);
+ }
ImageView image = findViewById(R.id.conversation_icon);
- image.setImageDrawable(mIconFactory.getConversationDrawable(
- mShortcutInfo, mPackageName, mAppUid, important));
+ image.setImageDrawable(person);
+
+ ImageView app = findViewById(R.id.conversation_icon_badge_icon);
+ app.setImageDrawable(mIconFactory.getAppBadge(
+ mPackageName, UserHandle.getUserId(mSbn.getUid())));
+
+ findViewById(R.id.conversation_icon_badge_ring).setVisibility(important ? VISIBLE : GONE);
}
private void bindPackage() {
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationConversationInfoTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationConversationInfoTest.java
index d4b21c6f69496..12e341a5f135b 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationConversationInfoTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationConversationInfoTest.java
@@ -199,8 +199,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
when(mShortcutInfo.getLabel()).thenReturn("Convo name");
List shortcuts = Arrays.asList(mShortcutInfo);
when(mLauncherApps.getShortcuts(any(), any())).thenReturn(shortcuts);
- when(mIconFactory.getConversationDrawable(
- any(ShortcutInfo.class), anyString(), anyInt(), anyBoolean()))
+ when(mIconFactory.getBaseIconDrawable(any(ShortcutInfo.class)))
.thenReturn(mIconDrawable);
mNotificationChannel = new NotificationChannel(