prevent pangea message events made from encrypted messages, display enrypted messages correctly
This commit is contained in:
parent
3df0741f1c
commit
64112c2a3c
2 changed files with 31 additions and 17 deletions
|
|
@ -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…
Add table
Reference in a new issue