Merge pull request #97 from pangeachat/null-fix

null check fix
pull/1011/head
ggurdin 2 years ago committed by GitHub
commit 7cade4ca2d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -86,7 +86,6 @@
<true/> <true/>
<key>UIBackgroundModes</key> <key>UIBackgroundModes</key>
<array> <array>
<string>audio</string>
<string>fetch</string> <string>fetch</string>
<string>processing</string> <string>processing</string>
<string>remote-notification</string> <string>remote-notification</string>

@ -144,7 +144,8 @@ class Message extends StatelessWidget {
final PangeaMessageEvent? pangeaMessageEvent = final PangeaMessageEvent? pangeaMessageEvent =
controller.getPangeaMessageEvent(event.eventId); controller.getPangeaMessageEvent(event.eventId);
ToolbarDisplayController? toolbarController; ToolbarDisplayController? toolbarController;
if (event.messageType == MessageTypes.Text) { if (event.messageType == MessageTypes.Text ||
event.messageType == MessageTypes.Notice) {
toolbarController = controller.getToolbarDisplayController(event.eventId); toolbarController = controller.getToolbarDisplayController(event.eventId);
} }
// Pangea# // Pangea#

@ -279,7 +279,7 @@ class MessageContent extends StatelessWidget {
style: messageTextStyle, style: messageTextStyle,
pangeaMessageEvent: pangeaMessageEvent!, pangeaMessageEvent: pangeaMessageEvent!,
immersionMode: immersionMode, immersionMode: immersionMode,
toolbarController: toolbarController!, toolbarController: toolbarController,
); );
} }
// Pangea# // Pangea#

@ -19,7 +19,7 @@ import '../../models/pangea_match_model.dart';
class PangeaRichText extends StatefulWidget { class PangeaRichText extends StatefulWidget {
final PangeaMessageEvent pangeaMessageEvent; final PangeaMessageEvent pangeaMessageEvent;
final bool immersionMode; final bool immersionMode;
final ToolbarDisplayController toolbarController; final ToolbarDisplayController? toolbarController;
final TextStyle? style; final TextStyle? style;
const PangeaRichText({ const PangeaRichText({
@ -89,7 +89,7 @@ class PangeaRichTextState extends State<PangeaRichText> {
.onError((error, stackTrace) => ErrorHandler.logError()) .onError((error, stackTrace) => ErrorHandler.logError())
.then((event) { .then((event) {
repEvent = event; repEvent = event;
widget.toolbarController.toolbar?.textSelection.setMessageText( widget.toolbarController?.toolbar?.textSelection.setMessageText(
repEvent?.text ?? widget.pangeaMessageEvent.body, repEvent?.text ?? widget.pangeaMessageEvent.body,
); );
}).whenComplete(() { }).whenComplete(() {
@ -99,7 +99,7 @@ class PangeaRichTextState extends State<PangeaRichText> {
}); });
return widget.pangeaMessageEvent.body; return widget.pangeaMessageEvent.body;
} else { } else {
widget.toolbarController.toolbar?.textSelection.setMessageText( widget.toolbarController?.toolbar?.textSelection.setMessageText(
repEvent!.text, repEvent!.text,
); );
setState(() {}); setState(() {});
@ -129,31 +129,33 @@ class PangeaRichTextState extends State<PangeaRichText> {
final Widget richText = SelectableText.rich( final Widget richText = SelectableText.rich(
onSelectionChanged: (selection, cause) { onSelectionChanged: (selection, cause) {
if (cause == SelectionChangedCause.longPress && if (cause == SelectionChangedCause.longPress &&
!widget.toolbarController.highlighted && !(widget.toolbarController?.highlighted ?? false) &&
!widget.toolbarController.controller.selectedEvents.any( !(widget.toolbarController?.controller.selectedEvents.any(
(e) => e.eventId == widget.pangeaMessageEvent.eventId, (e) => e.eventId == widget.pangeaMessageEvent.eventId,
)) { ) ??
widget.toolbarController.controller.onSelectMessage( false)) {
widget.toolbarController?.controller.onSelectMessage(
widget.pangeaMessageEvent.event, widget.pangeaMessageEvent.event,
); );
return; return;
} }
widget.toolbarController.toolbar?.textSelection widget.toolbarController?.toolbar?.textSelection
.onTextSelection(selection); .onTextSelection(selection);
}, },
onTap: () => widget.toolbarController.showToolbar(context), onTap: () => widget.toolbarController?.showToolbar(context),
enableInteractiveSelection: widget.toolbarController.highlighted, enableInteractiveSelection:
widget.toolbarController?.highlighted ?? false,
contextMenuBuilder: (context, state) => contextMenuBuilder: (context, state) =>
widget.toolbarController.highlighted widget.toolbarController?.highlighted ?? true
? const SizedBox.shrink() ? const SizedBox.shrink()
: MessageContextMenu.contextMenuOverride( : MessageContextMenu.contextMenuOverride(
context: context, context: context,
textSelection: state, textSelection: state,
onDefine: () => widget.toolbarController.showToolbar( onDefine: () => widget.toolbarController?.showToolbar(
context, context,
mode: MessageMode.definition, mode: MessageMode.definition,
), ),
onListen: () => widget.toolbarController.showToolbar( onListen: () => widget.toolbarController?.showToolbar(
context, context,
mode: MessageMode.play, mode: MessageMode.play,
), ),

Loading…
Cancel
Save