messagelist: actually implement before/after properly
This commit is contained in:
@@ -85,15 +85,21 @@
|
||||
[chat loadMessagesBeforeDate:beforeDate limit:limit loadImmediately:YES];
|
||||
}
|
||||
|
||||
IMMessage *beforeMessage = beforeMessageGUID ? [chat messageForGUID:beforeMessageGUID] : nil;
|
||||
IMMessage *afterMessage = afterMessageGUID ? [chat messageForGUID:afterMessageGUID] : nil;
|
||||
|
||||
[[chat chatItems] enumerateMessagesWithOptions:0 usingBlock:^(IMMessage *message, BOOL *stop) {
|
||||
// Assume "beforeMessageGUID" is exclusive
|
||||
if ([[message guid] isEqual:beforeMessageGUID]) {
|
||||
*stop = YES;
|
||||
return;
|
||||
BOOL includeMessage = YES;
|
||||
NSDate *messageDate = [message time];
|
||||
if (beforeMessage && [[beforeMessage time] compare:messageDate] != NSOrderedDescending) {
|
||||
includeMessage = NO;
|
||||
}
|
||||
|
||||
// Assume "afterMessageGUID" is exclusive.
|
||||
if (![[message guid] isEqual:afterMessageGUID]) {
|
||||
if (afterMessage && [[afterMessage time] compare:messageDate] != NSOrderedAscending) {
|
||||
includeMessage = NO;
|
||||
}
|
||||
|
||||
if (includeMessage) {
|
||||
NSDictionary *messageDict = [message mbim_dictionaryRepresentation];
|
||||
[messages addObject:messageDict];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user