Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c4a91c99 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Programmatically set italics rather than using a span" into main

parents e8532f98 ef4b2c1c
Loading
Loading
Loading
Loading
+7 −6
Original line number Diff line number Diff line
@@ -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<>();
@@ -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);
+1 −1
Original line number Diff line number Diff line
@@ -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;
    }
+6 −5
Original line number Diff line number Diff line
@@ -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!
@@ -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);
+2 −2
Original line number Diff line number Diff line
@@ -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);
        }
    }

+5 −1
Original line number Diff line number Diff line
@@ -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;
@@ -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) {
@@ -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