diff --git a/Classes/HistoryDetailsTableView.m b/Classes/HistoryDetailsTableView.m index 9ad057a7f..7678cda26 100644 --- a/Classes/HistoryDetailsTableView.m +++ b/Classes/HistoryDetailsTableView.m @@ -20,6 +20,7 @@ #import "HistoryDetailsTableView.h" #import "LinphoneManager.h" #import "Utils.h" +#import "linphoneapp-Swift.h" @implementation HistoryDetailsTableView @@ -89,7 +90,7 @@ [LinphoneUtils durationToString:duration]]]; BOOL outgoing = (linphone_call_log_get_dir(log) == LinphoneCallOutgoing); - if (linphone_call_log_get_status(log) == LinphoneCallMissed) { + if ([SwiftUtil isCallLogMissedWithCLog:log]) { cell.imageView.image = [UIImage imageNamed:@"call_missed.png"]; } else if (outgoing) { cell.imageView.image = [UIImage imageNamed:@"call_outgoing.png"]; diff --git a/Classes/HistoryListTableView.m b/Classes/HistoryListTableView.m index e2163e7ea..30c918a80 100644 --- a/Classes/HistoryListTableView.m +++ b/Classes/HistoryListTableView.m @@ -185,7 +185,7 @@ self.sections = [NSMutableDictionary dictionary]; while (logs != NULL) { LinphoneCallLog *log = (LinphoneCallLog *)logs->data; - BOOL keepIt = (!missedFilter || linphone_call_log_get_status(log) == LinphoneCallMissed) && (!confFilter||linphone_call_log_was_conference(log)) ; + BOOL keepIt = (!missedFilter || [SwiftUtil isCallLogMissedWithCLog:log]) && (!confFilter||linphone_call_log_was_conference(log)) ; if (keepIt) { NSDate *startDate = [self dateAtBeginningOfDayForDate:[NSDate diff --git a/Classes/LinphoneUI/UIHistoryCell.m b/Classes/LinphoneUI/UIHistoryCell.m index e626850d5..b7efa0a3d 100644 --- a/Classes/LinphoneUI/UIHistoryCell.m +++ b/Classes/LinphoneUI/UIHistoryCell.m @@ -77,7 +77,7 @@ - (NSString *)accessibilityValue { BOOL incoming = linphone_call_log_get_dir(callLog) == LinphoneCallIncoming; - BOOL missed = linphone_call_log_get_status(callLog) == LinphoneCallMissed; + BOOL missed = [SwiftUtil isCallLogMissedWithCLog:callLog]; NSString *call_type = incoming ? (missed ? @"Missed" : @"Incoming") : @"Outgoing"; return [NSString stringWithFormat:@"%@ call from %@", call_type, displayNameLabel.text]; } @@ -99,7 +99,7 @@ const LinphoneAddress *addr; UIImage *image; if (linphone_call_log_get_dir(callLog) == LinphoneCallIncoming) { - if (linphone_call_log_get_status(callLog) != LinphoneCallMissed) { + if (![SwiftUtil isCallLogMissedWithCLog:callLog]) { image = [UIImage imageNamed:@"call_status_incoming.png"]; } else { image = [UIImage imageNamed:@"call_status_missed.png"]; diff --git a/Classes/Swift/SwiftUtil.swift b/Classes/Swift/SwiftUtil.swift index fd712318f..601685009 100644 --- a/Classes/Swift/SwiftUtil.swift +++ b/Classes/Swift/SwiftUtil.swift @@ -115,6 +115,11 @@ import linphonesw return (message.isOutgoing && [.Delivered, .DeliveredToUser, .Displayed].contains(message.state)) || (!message.isOutgoing && [.Displayed].contains(message.state)) } + // Call Log + @objc static func isCallLogMissed(cLog:OpaquePointer) -> Bool { + let log = CallLog.getSwiftObject(cObject: cLog) + return log.dir == .Incoming && [.Missed,.Aborted,.EarlyAborted].contains(log.status) + } }