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

Commit 73f1be93 authored by Selim Cinek's avatar Selim Cinek
Browse files

Fixed an animation issue with Smart Replies

Updating a remoteInputHistory message to non-history
was generating a weird animation because we would
not reuse the view if the remoteInputHistory state
changed.

Bug: 77957392
Test: visual, observe normal animations
Change-Id: Iac869159411cc57c90476ef684a05e8547c14aa4
parent 150bafd2
Loading
Loading
Loading
Loading
+8 −4
Original line number Diff line number Diff line
@@ -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;
    }