Only show breaks between new days

// FREEBIE
pull/1/head
Michael Kirk 7 years ago
parent 66521d94c3
commit 68ffd81390

@ -4879,25 +4879,15 @@ typedef enum : NSUInteger {
OWSAssert(viewItemTimestamp > 0); OWSAssert(viewItemTimestamp > 0);
BOOL shouldShowDate = NO; BOOL shouldShowDate = NO;
if (!canShowDate) { if (previousViewItemTimestamp == 0) {
shouldShowDate = NO;
shouldShowDateOnNextViewItem = YES; shouldShowDateOnNextViewItem = YES;
} else if (shouldShowDateOnNextViewItem) { } else if (![DateUtil isSameDayWithTimestamp:previousViewItemTimestamp timestamp:viewItemTimestamp]) {
shouldShowDate = YES; shouldShowDateOnNextViewItem = YES;
shouldShowDateOnNextViewItem = NO; }
} else if (previousViewItemTimestamp > 0
&& ![DateUtil isSameDayWithTimestamp:previousViewItemTimestamp timestamp:viewItemTimestamp]) { if (shouldShowDateOnNextViewItem && canShowDate) {
// Ensure we always have a date break between messages on different days.
shouldShowDate = YES; shouldShowDate = YES;
shouldShowDateOnNextViewItem = NO; shouldShowDateOnNextViewItem = NO;
} else {
OWSAssert(previousViewItemTimestamp > 0);
uint64_t timeDifferenceMs = viewItemTimestamp - previousViewItemTimestamp;
static const uint64_t kShowTimeIntervalMs = 5 * kMinuteInMs;
if (timeDifferenceMs > kShowTimeIntervalMs) {
shouldShowDate = YES;
}
shouldShowDateOnNextViewItem = NO;
} }
viewItem.shouldShowDate = shouldShowDate; viewItem.shouldShowDate = shouldShowDate;

Loading…
Cancel
Save