diff --git a/app/src/main/java/org/linphone/activities/main/history/viewmodels/CallLogsListViewModel.kt b/app/src/main/java/org/linphone/activities/main/history/viewmodels/CallLogsListViewModel.kt index a9641a5fd..67bcb40d1 100644 --- a/app/src/main/java/org/linphone/activities/main/history/viewmodels/CallLogsListViewModel.kt +++ b/app/src/main/java/org/linphone/activities/main/history/viewmodels/CallLogsListViewModel.kt @@ -26,6 +26,7 @@ import org.linphone.contact.ContactsUpdatedListenerStub import org.linphone.core.* import org.linphone.core.tools.Log import org.linphone.utils.Event +import org.linphone.utils.LinphoneUtils import org.linphone.utils.TimestampUtils class CallLogsListViewModel : ViewModel() { @@ -113,7 +114,7 @@ class CallLogsListViewModel : ViewModel() { previousCallLogGroup = GroupedCallLogViewModel(callLog) } - if (callLog.status == Call.Status.Missed) { + if (LinphoneUtils.isCallLogMissed(callLog)) { if (previousMissedCallLogGroup == null) { previousMissedCallLogGroup = GroupedCallLogViewModel(callLog) } else if (previousMissedCallLogGroup.lastCallLog.localAddress.weakEqual(callLog.localAddress) && previousMissedCallLogGroup.lastCallLog.remoteAddress.weakEqual(callLog.remoteAddress)) { diff --git a/app/src/main/java/org/linphone/notifications/NotificationsManager.kt b/app/src/main/java/org/linphone/notifications/NotificationsManager.kt index a26bc279e..d0b5e611c 100644 --- a/app/src/main/java/org/linphone/notifications/NotificationsManager.kt +++ b/app/src/main/java/org/linphone/notifications/NotificationsManager.kt @@ -123,10 +123,7 @@ class NotificationsManager(private val context: Context) { Call.State.IncomingEarlyMedia, Call.State.IncomingReceived -> displayIncomingCallNotification(call) Call.State.End, Call.State.Error -> dismissCallNotification(call) Call.State.Released -> { - if (call.dir == Call.Dir.Incoming && - (call.callLog.status == Call.Status.Missed || - call.callLog.status == Call.Status.Aborted || - call.callLog.status == Call.Status.EarlyAborted)) { + if (LinphoneUtils.isCallLogMissed(call.callLog)) { displayMissedCallNotification(call) } } diff --git a/app/src/main/java/org/linphone/utils/LinphoneUtils.kt b/app/src/main/java/org/linphone/utils/LinphoneUtils.kt index 6bd12da4c..71ece4865 100644 --- a/app/src/main/java/org/linphone/utils/LinphoneUtils.kt +++ b/app/src/main/java/org/linphone/utils/LinphoneUtils.kt @@ -129,5 +129,12 @@ class LinphoneUtils { // In doubt return false return false } + + fun isCallLogMissed(callLog: CallLog): Boolean{ + return (callLog.dir == Call.Dir.Incoming && + (callLog.status == Call.Status.Missed || + callLog.status == Call.Status.Aborted || + callLog.status == Call.Status.EarlyAborted)) + } } }