From 288f929c8a3adc1b0e264616ff8ec0825c5002cd Mon Sep 17 00:00:00 2001 From: Shen Lin Date: Tue, 27 Sep 2022 18:38:46 +0800 Subject: [PATCH] Fix crash when comparing messages This crash has no permanent repro steps, it happened during monkey tests. In sameAs(), we have to make sure both messages are not null to go further field comparison, or a crash may happen. Bug: 249235154 Test: manual Change-Id: I05499a5d5ba80d144db85dd6a299631eab905fe4 --- core/java/com/android/internal/widget/MessagingMessage.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/core/java/com/android/internal/widget/MessagingMessage.java b/core/java/com/android/internal/widget/MessagingMessage.java index 2cc0d2305a780..5ecd3b82053dd 100644 --- a/core/java/com/android/internal/widget/MessagingMessage.java +++ b/core/java/com/android/internal/widget/MessagingMessage.java @@ -68,6 +68,10 @@ public interface MessagingMessage extends MessagingLinearLayout.MessagingChild { default boolean sameAs(Notification.MessagingStyle.Message message) { Notification.MessagingStyle.Message ownMessage = getMessage(); + // We have to make sure both messages are not null to go further comparison + if (message == null || ownMessage == null) { + return message == ownMessage; + } if (!Objects.equals(message.getText(), ownMessage.getText())) { return false; }