Fixed call log showed as missed in notification but not in call history list

This commit is contained in:
Sylvain Berfini 2020-10-23 20:40:34 +02:00
parent 79bad283e2
commit d4a8bdfa38
3 changed files with 10 additions and 5 deletions

View file

@ -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)) {

View file

@ -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)
}
}

View file

@ -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))
}
}
}