prevent pangea message events made from encrypted messages, display enrypted messages correctly

pull/1077/head
Gabby Gurdin 2 years ago
parent 3df0741f1c
commit 64112c2a3c

@ -2,7 +2,6 @@ import 'package:fluffychat/config/themes.dart';
import 'package:fluffychat/pages/chat/chat.dart';
import 'package:fluffychat/pangea/enum/use_type.dart';
import 'package:fluffychat/pangea/models/language_model.dart';
import 'package:fluffychat/pangea/models/pangea_message_event.dart';
import 'package:fluffychat/pangea/widgets/chat/message_toolbar.dart';
import 'package:fluffychat/utils/date_time_extension.dart';
import 'package:fluffychat/utils/string_color.dart';
@ -141,10 +140,9 @@ class Message extends StatelessWidget {
}
// #Pangea
final PangeaMessageEvent? pangeaMessageEvent =
controller.getPangeaMessageEvent(event.eventId);
ToolbarDisplayController? toolbarController;
if (event.messageType == MessageTypes.Text ||
if (event.type == EventTypes.Message &&
event.messageType == MessageTypes.Text ||
event.messageType == MessageTypes.Notice) {
toolbarController = controller.getToolbarDisplayController(event.eventId);
}
@ -351,7 +349,8 @@ class Message extends StatelessWidget {
borderRadius: borderRadius,
// #Pangea
selected: selected,
pangeaMessageEvent: pangeaMessageEvent,
pangeaMessageEvent:
toolbarController?.pangeaMessageEvent,
immersionMode: immersionMode,
toolbarController: toolbarController,
// Pangea#
@ -361,7 +360,9 @@ class Message extends StatelessWidget {
RelationshipTypes.edit,
) // #Pangea
||
(pangeaMessageEvent?.showUseType ??
(toolbarController
?.pangeaMessageEvent
.showUseType ??
false)
// Pangea#
)
@ -373,10 +374,12 @@ class Message extends StatelessWidget {
mainAxisSize: MainAxisSize.min,
children: [
// #Pangea
if (pangeaMessageEvent
?.showUseType ??
if (toolbarController
?.pangeaMessageEvent
.showUseType ??
false) ...[
pangeaMessageEvent!.useType
toolbarController!
.pangeaMessageEvent.useType
.iconView(
context,
textColor.withAlpha(164),

@ -125,6 +125,15 @@ class MessageContent extends StatelessWidget {
switch (event.type) {
case EventTypes.Message:
case EventTypes.Encrypted:
// #Pangea
return _ButtonContent(
textColor: buttonTextColor,
onPressed: () {},
icon: '🔒',
label: L10n.of(context)!.encrypted,
fontSize: fontSize,
);
// Pangea#
case EventTypes.Sticker:
switch (event.messageType) {
case MessageTypes.Image:
@ -190,14 +199,16 @@ class MessageContent extends StatelessWidget {
// else we fall through to the normal message rendering
continue textmessage;
case MessageTypes.BadEncrypted:
case EventTypes.Encrypted:
return _ButtonContent(
textColor: buttonTextColor,
onPressed: () => _verifyOrRequestKey(context),
icon: '🔒',
label: L10n.of(context)!.encrypted,
fontSize: fontSize,
);
// #Pangea
// case EventTypes.Encrypted:
// return _ButtonContent(
// textColor: buttonTextColor,
// onPressed: () => _verifyOrRequestKey(context),
// icon: '🔒',
// label: L10n.of(context)!.encrypted,
// fontSize: fontSize,
// );
// Pangea#
case MessageTypes.Location:
final geoUri =
Uri.tryParse(event.content.tryGet<String>('geo_uri')!);

Loading…
Cancel
Save