Loading core/java/com/android/internal/widget/ConversationLayout.java +7 −6 Original line number Diff line number Diff line Loading @@ -476,13 +476,14 @@ public class ConversationLayout extends FrameLayout if (!TextUtils.isEmpty(mSummarizedContent) && mIsCollapsed) { Notification.MessagingStyle.Message summary = new Notification.MessagingStyle.Message(mSummarizedContent, 0, ""); newMessagingMessages = createMessages(List.of(summary), false, usePrecomputedText); newMessagingMessages = createMessages(List.of(summary), false, usePrecomputedText, true); } else { newMessagingMessages = createMessages(newMessages, /* isHistoric= */false, usePrecomputedText); createMessages(newMessages, /* isHistoric= */false, usePrecomputedText, false); } final List<MessagingMessage> newHistoricMessagingMessages = createMessages(newHistoricMessages, /* isHistoric= */true, usePrecomputedText); final List<MessagingMessage> newHistoricMessagingMessages = createMessages( newHistoricMessages, /* isHistoric= */ true, usePrecomputedText, false); // Add our new MessagingMessages to groups List<List<MessagingMessage>> groups = new ArrayList<>(); Loading Loading @@ -1447,14 +1448,14 @@ public class ConversationLayout extends FrameLayout */ private List<MessagingMessage> createMessages( List<Notification.MessagingStyle.Message> newMessages, boolean isHistoric, boolean usePrecomputedText) { boolean usePrecomputedText, boolean useItalics) { List<MessagingMessage> result = new ArrayList<>(); for (int i = 0; i < newMessages.size(); i++) { Notification.MessagingStyle.Message m = newMessages.get(i); MessagingMessage message = findAndRemoveMatchingMessage(m); if (message == null) { message = MessagingMessage.createMessage(this, m, mImageResolver, usePrecomputedText); mImageResolver, usePrecomputedText, useItalics); } message.setIsHistoric(isHistoric); result.add(message); Loading core/java/com/android/internal/widget/MessagingImageMessage.java +1 −1 Original line number Diff line number Diff line Loading @@ -139,7 +139,7 @@ public class MessagingImageMessage extends ImageView implements MessagingMessage boolean populated = createdMessage.setMessage(m, /* usePrecomputedText= */false); if (!populated) { createdMessage.recycle(); return MessagingTextMessage.createMessage(layout, m, usePrecomputedText); return MessagingTextMessage.createMessage(layout, m, usePrecomputedText, false); } return createdMessage; } Loading core/java/com/android/internal/widget/MessagingLayout.java +6 −5 Original line number Diff line number Diff line Loading @@ -238,17 +238,18 @@ public class MessagingLayout extends FrameLayout final List<MessagingMessage> historicMessagingMessages = createMessages(newHistoricMessages, /* isHistoric= */true, usePrecomputedText); /* isHistoric= */true, usePrecomputedText, false); List<MessagingMessage> newMessagingMessages; mSummarizedContent = extras.getCharSequence(Notification.EXTRA_SUMMARIZED_CONTENT); if (!TextUtils.isEmpty(mSummarizedContent) && mIsCollapsed) { mMessagingLinearLayout.setMaxDisplayedLines(MAX_SUMMARIZATION_LINES); Notification.MessagingStyle.Message summary = new Notification.MessagingStyle.Message(mSummarizedContent, 0, ""); newMessagingMessages = createMessages(List.of(summary), false, usePrecomputedText); newMessagingMessages = createMessages(List.of(summary), false, usePrecomputedText, true); } else { newMessagingMessages = createMessages(newMessages, /* isHistoric= */false, usePrecomputedText); createMessages(newMessages, /* isHistoric= */false, usePrecomputedText, false); } // Let's first find our groups! Loading Loading @@ -650,14 +651,14 @@ public class MessagingLayout extends FrameLayout */ private List<MessagingMessage> createMessages( List<Notification.MessagingStyle.Message> newMessages, boolean isHistoric, boolean usePrecomputedText) { boolean usePrecomputedText, boolean useItalics) { List<MessagingMessage> result = new ArrayList<>(); for (int i = 0; i < newMessages.size(); i++) { Notification.MessagingStyle.Message m = newMessages.get(i); MessagingMessage message = findAndRemoveMatchingMessage(m); if (message == null) { message = MessagingMessage.createMessage(this, m, mImageResolver, usePrecomputedText); mImageResolver, usePrecomputedText, useItalics); } message.setIsHistoric(isHistoric); result.add(message); Loading core/java/com/android/internal/widget/MessagingMessage.java +2 −2 Original line number Diff line number Diff line Loading @@ -35,11 +35,11 @@ public interface MessagingMessage extends MessagingLinearLayout.MessagingChild { static MessagingMessage createMessage(IMessagingLayout layout, Notification.MessagingStyle.Message m, ImageResolver resolver, boolean usePrecomputedText) { boolean usePrecomputedText, boolean useItalics) { if (hasImage(m) && !ActivityManager.isLowRamDeviceStatic()) { return MessagingImageMessage.createMessage(layout, m, resolver, usePrecomputedText); } else { return MessagingTextMessage.createMessage(layout, m, usePrecomputedText); return MessagingTextMessage.createMessage(layout, m, usePrecomputedText, useItalics); } } Loading core/java/com/android/internal/widget/MessagingTextMessage.java +5 −1 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.annotation.Nullable; import android.annotation.StyleRes; import android.app.Notification; import android.content.Context; import android.graphics.Typeface; import android.text.Layout; import android.text.PrecomputedText; import android.util.AttributeSet; Loading Loading @@ -82,7 +83,7 @@ public class MessagingTextMessage extends ImageFloatingTextView implements Messa } static MessagingMessage createMessage(IMessagingLayout layout, Notification.MessagingStyle.Message m, boolean usePrecomputedText) { Notification.MessagingStyle.Message m, boolean usePrecomputedText, boolean useItalics) { MessagingLinearLayout messagingLinearLayout = layout.getMessagingLinearLayout(); MessagingTextMessage createdMessage = sInstancePool.acquire(); if (createdMessage == null) { Loading @@ -91,6 +92,9 @@ public class MessagingTextMessage extends ImageFloatingTextView implements Messa R.layout.notification_template_messaging_text_message, messagingLinearLayout, false); if (useItalics) { createdMessage.setTypeface(Typeface.DEFAULT, Typeface.ITALIC); } createdMessage.addOnLayoutChangeListener(MessagingLayout.MESSAGING_PROPERTY_ANIMATOR); } createdMessage.setMessage(m, usePrecomputedText); Loading Loading
core/java/com/android/internal/widget/ConversationLayout.java +7 −6 Original line number Diff line number Diff line Loading @@ -476,13 +476,14 @@ public class ConversationLayout extends FrameLayout if (!TextUtils.isEmpty(mSummarizedContent) && mIsCollapsed) { Notification.MessagingStyle.Message summary = new Notification.MessagingStyle.Message(mSummarizedContent, 0, ""); newMessagingMessages = createMessages(List.of(summary), false, usePrecomputedText); newMessagingMessages = createMessages(List.of(summary), false, usePrecomputedText, true); } else { newMessagingMessages = createMessages(newMessages, /* isHistoric= */false, usePrecomputedText); createMessages(newMessages, /* isHistoric= */false, usePrecomputedText, false); } final List<MessagingMessage> newHistoricMessagingMessages = createMessages(newHistoricMessages, /* isHistoric= */true, usePrecomputedText); final List<MessagingMessage> newHistoricMessagingMessages = createMessages( newHistoricMessages, /* isHistoric= */ true, usePrecomputedText, false); // Add our new MessagingMessages to groups List<List<MessagingMessage>> groups = new ArrayList<>(); Loading Loading @@ -1447,14 +1448,14 @@ public class ConversationLayout extends FrameLayout */ private List<MessagingMessage> createMessages( List<Notification.MessagingStyle.Message> newMessages, boolean isHistoric, boolean usePrecomputedText) { boolean usePrecomputedText, boolean useItalics) { List<MessagingMessage> result = new ArrayList<>(); for (int i = 0; i < newMessages.size(); i++) { Notification.MessagingStyle.Message m = newMessages.get(i); MessagingMessage message = findAndRemoveMatchingMessage(m); if (message == null) { message = MessagingMessage.createMessage(this, m, mImageResolver, usePrecomputedText); mImageResolver, usePrecomputedText, useItalics); } message.setIsHistoric(isHistoric); result.add(message); Loading
core/java/com/android/internal/widget/MessagingImageMessage.java +1 −1 Original line number Diff line number Diff line Loading @@ -139,7 +139,7 @@ public class MessagingImageMessage extends ImageView implements MessagingMessage boolean populated = createdMessage.setMessage(m, /* usePrecomputedText= */false); if (!populated) { createdMessage.recycle(); return MessagingTextMessage.createMessage(layout, m, usePrecomputedText); return MessagingTextMessage.createMessage(layout, m, usePrecomputedText, false); } return createdMessage; } Loading
core/java/com/android/internal/widget/MessagingLayout.java +6 −5 Original line number Diff line number Diff line Loading @@ -238,17 +238,18 @@ public class MessagingLayout extends FrameLayout final List<MessagingMessage> historicMessagingMessages = createMessages(newHistoricMessages, /* isHistoric= */true, usePrecomputedText); /* isHistoric= */true, usePrecomputedText, false); List<MessagingMessage> newMessagingMessages; mSummarizedContent = extras.getCharSequence(Notification.EXTRA_SUMMARIZED_CONTENT); if (!TextUtils.isEmpty(mSummarizedContent) && mIsCollapsed) { mMessagingLinearLayout.setMaxDisplayedLines(MAX_SUMMARIZATION_LINES); Notification.MessagingStyle.Message summary = new Notification.MessagingStyle.Message(mSummarizedContent, 0, ""); newMessagingMessages = createMessages(List.of(summary), false, usePrecomputedText); newMessagingMessages = createMessages(List.of(summary), false, usePrecomputedText, true); } else { newMessagingMessages = createMessages(newMessages, /* isHistoric= */false, usePrecomputedText); createMessages(newMessages, /* isHistoric= */false, usePrecomputedText, false); } // Let's first find our groups! Loading Loading @@ -650,14 +651,14 @@ public class MessagingLayout extends FrameLayout */ private List<MessagingMessage> createMessages( List<Notification.MessagingStyle.Message> newMessages, boolean isHistoric, boolean usePrecomputedText) { boolean usePrecomputedText, boolean useItalics) { List<MessagingMessage> result = new ArrayList<>(); for (int i = 0; i < newMessages.size(); i++) { Notification.MessagingStyle.Message m = newMessages.get(i); MessagingMessage message = findAndRemoveMatchingMessage(m); if (message == null) { message = MessagingMessage.createMessage(this, m, mImageResolver, usePrecomputedText); mImageResolver, usePrecomputedText, useItalics); } message.setIsHistoric(isHistoric); result.add(message); Loading
core/java/com/android/internal/widget/MessagingMessage.java +2 −2 Original line number Diff line number Diff line Loading @@ -35,11 +35,11 @@ public interface MessagingMessage extends MessagingLinearLayout.MessagingChild { static MessagingMessage createMessage(IMessagingLayout layout, Notification.MessagingStyle.Message m, ImageResolver resolver, boolean usePrecomputedText) { boolean usePrecomputedText, boolean useItalics) { if (hasImage(m) && !ActivityManager.isLowRamDeviceStatic()) { return MessagingImageMessage.createMessage(layout, m, resolver, usePrecomputedText); } else { return MessagingTextMessage.createMessage(layout, m, usePrecomputedText); return MessagingTextMessage.createMessage(layout, m, usePrecomputedText, useItalics); } } Loading
core/java/com/android/internal/widget/MessagingTextMessage.java +5 −1 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.annotation.Nullable; import android.annotation.StyleRes; import android.app.Notification; import android.content.Context; import android.graphics.Typeface; import android.text.Layout; import android.text.PrecomputedText; import android.util.AttributeSet; Loading Loading @@ -82,7 +83,7 @@ public class MessagingTextMessage extends ImageFloatingTextView implements Messa } static MessagingMessage createMessage(IMessagingLayout layout, Notification.MessagingStyle.Message m, boolean usePrecomputedText) { Notification.MessagingStyle.Message m, boolean usePrecomputedText, boolean useItalics) { MessagingLinearLayout messagingLinearLayout = layout.getMessagingLinearLayout(); MessagingTextMessage createdMessage = sInstancePool.acquire(); if (createdMessage == null) { Loading @@ -91,6 +92,9 @@ public class MessagingTextMessage extends ImageFloatingTextView implements Messa R.layout.notification_template_messaging_text_message, messagingLinearLayout, false); if (useItalics) { createdMessage.setTypeface(Typeface.DEFAULT, Typeface.ITALIC); } createdMessage.addOnLayoutChangeListener(MessagingLayout.MESSAGING_PROPERTY_ANIMATOR); } createdMessage.setMessage(m, usePrecomputedText); Loading