Merge "Fix potential NPE when MessagingMessage's message is null" am: 49d070c4e5

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2234268

Change-Id: I14373b7f3496c588b96e1bb9af9d19f202b9770d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Treehugger Robot
2023-01-18 15:44:57 +00:00
committed by Automerger Merge Worker
3 changed files with 9 additions and 4 deletions

View File

@@ -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);

View File

@@ -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);
}
}
}

View File

@@ -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);