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

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

Loading…
Cancel
Save