summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2018-05-04 21:17:18 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2018-05-04 21:17:18 +0000
commit12bae55fbcc185167a82c76ecfd2ea25965e9bf4 (patch)
tree8297985c350248336eb04f703d738dc206b7c7b7
parentd218036f0cc394eadfd9e539c3d9697d1b49b2ce (diff)
parent73f1be9388c7a4320843b00efea0fadd8bf2f183 (diff)
Merge "Fixed an animation issue with Smart Replies" into pi-dev
-rw-r--r--core/java/com/android/internal/widget/MessagingMessage.java12
1 files changed, 8 insertions, 4 deletions
diff --git a/core/java/com/android/internal/widget/MessagingMessage.java b/core/java/com/android/internal/widget/MessagingMessage.java
index f0b60685b70e..d2b670fa2d66 100644
--- a/core/java/com/android/internal/widget/MessagingMessage.java
+++ b/core/java/com/android/internal/widget/MessagingMessage.java
@@ -73,7 +73,14 @@ public interface MessagingMessage extends MessagingLinearLayout.MessagingChild {
if (!Objects.equals(message.getSender(), ownMessage.getSender())) {
return false;
}
- if (!Objects.equals(message.getTimestamp(), ownMessage.getTimestamp())) {
+ boolean hasRemoteInputHistoryChanged = message.isRemoteInputHistory()
+ != ownMessage.isRemoteInputHistory();
+ // When the remote input history has changed, we want to regard messages equal even when
+ // the timestamp changes. The main reason is that the message that the system inserts
+ // will have a different time set than the one that the app will update us with and we
+ // still want to reuse that message.
+ if (!hasRemoteInputHistoryChanged
+ && !Objects.equals(message.getTimestamp(), ownMessage.getTimestamp())) {
return false;
}
if (!Objects.equals(message.getDataMimeType(), ownMessage.getDataMimeType())) {
@@ -82,9 +89,6 @@ public interface MessagingMessage extends MessagingLinearLayout.MessagingChild {
if (!Objects.equals(message.getDataUri(), ownMessage.getDataUri())) {
return false;
}
- if (message.isRemoteInputHistory() != ownMessage.isRemoteInputHistory()) {
- return false;
- }
return true;
}