Merge pull request #5089 from vector-im/feature/dla/fix_incorrect_call_status
CallTileTimelineItem.CallStatus.MISSED renders both missed and reject…
This commit is contained in:
commit
54fb28c912
|
@ -0,0 +1 @@
|
|||
Fixes call statuses in the timeline for missed/rejected calls and connected calls.
|
|
@ -101,7 +101,11 @@ class CallItemFactory @Inject constructor(
|
|||
createCallTileTimelineItem(
|
||||
roomSummary = roomSummary,
|
||||
callId = callEventGrouper.callId,
|
||||
callStatus = if (callEventGrouper.callWasMissed()) CallTileTimelineItem.CallStatus.MISSED else CallTileTimelineItem.CallStatus.ENDED,
|
||||
callStatus = if (callEventGrouper.callWasAnswered()) {
|
||||
CallTileTimelineItem.CallStatus.ENDED
|
||||
} else {
|
||||
CallTileTimelineItem.CallStatus.MISSED
|
||||
},
|
||||
callKind = callKind,
|
||||
callback = params.callback,
|
||||
highlight = params.isHighlighted,
|
||||
|
|
|
@ -108,11 +108,8 @@ class CallSignalingEventsGroup(private val group: TimelineEventsGroup) {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if there are only events from one side.
|
||||
*/
|
||||
fun callWasMissed(): Boolean {
|
||||
return group.events.distinctBy { it.senderInfo.userId }.size == 1
|
||||
fun callWasAnswered(): Boolean {
|
||||
return getAnswer() != null
|
||||
}
|
||||
|
||||
private fun getAnswer(): TimelineEvent? {
|
||||
|
|
Loading…
Reference in New Issue