diff --git a/core/java/com/android/internal/widget/ConversationLayout.java b/core/java/com/android/internal/widget/ConversationLayout.java index 4cf0ba19a887d..635adcad0e7bf 100644 --- a/core/java/com/android/internal/widget/ConversationLayout.java +++ b/core/java/com/android/internal/widget/ConversationLayout.java @@ -927,7 +927,8 @@ public class ConversationLayout extends FrameLayout message = messages.get(i - histSize); } boolean isNewGroup = currentGroup == null; - Person sender = message.getMessage().getSenderPerson(); + Person sender = + message.getMessage() == null ? null : message.getMessage().getSenderPerson(); CharSequence key = getKey(sender); isNewGroup |= !TextUtils.equals(key, currentSenderKey); if (isNewGroup) { @@ -1190,7 +1191,8 @@ public class ConversationLayout extends FrameLayout return null; } final MessagingMessage messagingMessage = mMessages.get(mMessages.size() - 1); - final CharSequence text = messagingMessage.getMessage().getText(); + final CharSequence text = messagingMessage.getMessage() == null ? null + : messagingMessage.getMessage().getText(); if (text == null && messagingMessage instanceof MessagingImageMessage) { final String unformatted = getResources().getString(R.string.conversation_single_line_image_placeholder); diff --git a/core/java/com/android/internal/widget/MessagingGroup.java b/core/java/com/android/internal/widget/MessagingGroup.java index 146cb3fadaacc..30e4099f9a6fd 100644 --- a/core/java/com/android/internal/widget/MessagingGroup.java +++ b/core/java/com/android/internal/widget/MessagingGroup.java @@ -492,7 +492,9 @@ public class MessagingGroup extends LinearLayout implements MessagingLinearLayou int color = mSendingSpinnerContainer.getVisibility() == View.VISIBLE ? mSendingTextColor : mTextColor; for (MessagingMessage message : mMessages) { - message.setColor(message.getMessage().isRemoteInputHistory() ? color : mTextColor); + final boolean isRemoteInputHistory = + message.getMessage() != null && message.getMessage().isRemoteInputHistory(); + message.setColor(isRemoteInputHistory ? color : mTextColor); } } } diff --git a/core/java/com/android/internal/widget/MessagingLayout.java b/core/java/com/android/internal/widget/MessagingLayout.java index 67b671e014130..9d142f689b98a 100644 --- a/core/java/com/android/internal/widget/MessagingLayout.java +++ b/core/java/com/android/internal/widget/MessagingLayout.java @@ -470,7 +470,8 @@ public class MessagingLayout extends FrameLayout message = messages.get(i - histSize); } boolean isNewGroup = currentGroup == null; - Person sender = message.getMessage().getSenderPerson(); + Person sender = + message.getMessage() == null ? null : message.getMessage().getSenderPerson(); CharSequence key = sender == null ? null : sender.getKey() == null ? sender.getName() : sender.getKey(); isNewGroup |= !TextUtils.equals(key, currentSenderKey);