Fix jolting animation after sending a message

When we send the nth message, we retain the footer for the n-1th message
until the nth message is successfully sent.

1. leave the footer on the n-1th message
2. draw the nth message with the "..." footer
3. update the nth message with the "sent" footer and hide the footer for
   the n-1th message

In the normal case this all happens very quickly, which results in some
unpleasant flicker every time you send a message.

The concession here is that we'll only print the n-1th footer if the
outgoing message *fails*. So until we implement a design more like
Android's double-check for sent/delivery, the user will not be able to
distinguish between a sent and delivered message *while* their message
is outgoing.

In my opinion the lack of jank in the normal case makes the app
supercedes this use case.

// FREEBIE
pull/1/head
Michael Kirk 8 years ago
parent 92ecf0cdc1
commit e08fa4bcec

@ -1896,7 +1896,7 @@ typedef enum : NSUInteger {
// Or when the next message is *not* an outgoing sent/delivered message.
TSOutgoingMessage *nextMessage = [self nextOutgoingMessage:indexPath];
if (nextMessage && nextMessage.messageState != TSOutgoingMessageStateSentToService) {
if (nextMessage && nextMessage.messageState == TSOutgoingMessageStateUnsent) {
[self updateLastDeliveredMessage:message];
return result;
}

Loading…
Cancel
Save