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

Commit 5aa8e7d1 authored by Adrian Roos's avatar Adrian Roos Committed by Android (Google) Code Review
Browse files

Merge "Fix MessagingStyle HUNs" into nyc-dev

parents 3279050c dedd1df2
Loading
Loading
Loading
Loading
+27 −6
Original line number Diff line number Diff line
@@ -4468,8 +4468,8 @@ public class Notification implements Parcelable
            mAllowGeneratedReplies = extras.getBoolean(EXTRA_ALLOW_GENERATED_REPLIES,
                    mAllowGeneratedReplies);
            Parcelable[] parcelables = extras.getParcelableArray(EXTRA_MESSAGES);
            if (parcelables != null && parcelables instanceof Bundle[]) {
                mMessages = Message.getMessagesFromBundleArray((Bundle[]) parcelables);
            if (parcelables != null && parcelables instanceof Parcelable[]) {
                mMessages = Message.getMessagesFromBundleArray(parcelables);
            }
        }

@@ -4565,6 +4565,25 @@ public class Notification implements Parcelable
            return sb;
        }

        /**
         * @hide
         */
        @Override
        public RemoteViews makeHeadsUpContentView() {
            Message m = findLatestIncomingMessage();
            CharSequence title = mConversationTitle != null
                    ? mConversationTitle
                    : (m == null) ? null : m.mSender;
            CharSequence text = (m == null)
                    ? null
                    : mConversationTitle != null ? makeMessageLine(m) : m.mText;

            return mBuilder.applyStandardTemplateWithActions(mBuilder.getBigBaseLayoutResource(),
                    false /* hasProgress */,
                    title,
                    text);
        }

        private static TextAppearanceSpan makeFontColorSpan(int color) {
            return new TextAppearanceSpan(null, 0, 0,
                    ColorStateList.valueOf(color), null);
@@ -4698,14 +4717,16 @@ public class Notification implements Parcelable
                return bundles;
            }

            static List<Message> getMessagesFromBundleArray(Bundle[] bundles) {
            static List<Message> getMessagesFromBundleArray(Parcelable[] bundles) {
                List<Message> messages = new ArrayList<>(bundles.length);
                for (int i = 0; i < bundles.length; i++) {
                    Message message = getMessageFromBundle(bundles[i]);
                    if (bundles[i] instanceof Bundle) {
                        Message message = getMessageFromBundle((Bundle)bundles[i]);
                        if (message != null) {
                            messages.add(message);
                        }
                    }
                }
                return messages;
            }