Group call invite and reject events with a new tag

This commit is contained in:
ismailgulek
2021-01-20 13:13:04 +03:00
parent 1fbd3e376b
commit 464afe6406
2 changed files with 32 additions and 1 deletions
@@ -125,6 +125,18 @@ static NSAttributedString *timestampVerticalWhitespace = nil;
// Membership events can be collapsed together
self.collapsable = YES;
// Collapse them by default
self.collapsed = YES;
}
break;
case MXEventTypeCallInvite:
case MXEventTypeCallReject:
{
self.tag = RoomBubbleCellDataTagCall;
// Call events can be collapsed together
self.collapsable = YES;
// Collapse them by default
self.collapsed = YES;
}
@@ -233,6 +245,17 @@ static NSAttributedString *timestampVerticalWhitespace = nil;
{
return YES;
}
else if (self.tag == RoomBubbleCellDataTagCall && cellData.tag == RoomBubbleCellDataTagCall)
{
// Check if the same call
MXEvent * event1 = self.events.firstObject;
MXCallEventContent *eventContent1 = [MXCallEventContent modelFromJSON:event1.content];
MXEvent * event2 = cellData.events.firstObject;
MXCallEventContent *eventContent2 = [MXCallEventContent modelFromJSON:event2.content];
return [eventContent1.callId isEqualToString:eventContent2.callId];
}
if (self.tag == RoomBubbleCellDataTagRoomCreateWithPredecessor || cellData.tag == RoomBubbleCellDataTagRoomCreateWithPredecessor)
{
@@ -711,6 +734,9 @@ static NSAttributedString *timestampVerticalWhitespace = nil;
// One single bubble per membership event
shouldAddEvent = NO;
break;
case RoomBubbleCellDataTagCall:
shouldAddEvent = NO;
break;
case RoomBubbleCellDataTagRoomCreateConfiguration:
shouldAddEvent = NO;
break;
@@ -755,6 +781,10 @@ static NSAttributedString *timestampVerticalWhitespace = nil;
case MXEventTypeRoomJoinRules:
shouldAddEvent = NO;
break;
case MXEventTypeCallInvite:
case MXEventTypeCallReject:
shouldAddEvent = NO;
break;
default:
break;
}