renderCustomMessageBubble function
bool
renderCustomMessageBubble( - dynamic message
)
Implementation
bool renderCustomMessageBubble(types.CustomMessage message) {
switch (message.metadata?['eventType']) {
case 'm.policy.rule.room':
case 'm.policy.rule.server':
case 'm.policy.rule.user':
case 'm.room.aliases':
case 'm.room.avatar':
case 'm.room.canonical_alias':
case 'm.room.create':
case 'm.room.encryption':
case 'm.room.guest.access':
case 'm.room.history_visibility':
case 'm.room.join.rules':
case 'm.room.name':
case 'm.room.pinned_events':
case 'm.room.power_levels':
case 'm.room.server_acl':
case 'm.room.third_party_invite':
case 'm.room.tombstone':
case 'm.room.topic':
case 'm.space.child':
case 'm.space.parent':
case 'm.poll.start':
// supported if we have a body
return message.metadata?['body'] != null;
case 'm.room.member':
if (message.metadata?['msgType'] == 'None') {
// not a change we want to show
return false;
}
return message.metadata?['body'] != null;
case 'm.call.answer':
case 'm.call.candidates':
case 'm.call.hangup':
case 'm.call.invite':
// no support yet
return false;
case 'm.sticker':
case 'm.room.redaction':
case 'm.room.encrypted':
// supported
return true;
case 'm.room.message':
// special case of supporting locations
return message.metadata?['msgType'] == 'm.location';
}
return false;
}