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/>
<key>UIBackgroundModes</key>
<array>
<string>audio</string>
<string>fetch</string>
<string>processing</string>
<string>remote-notification</string>

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

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

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

Loading…
Cancel
Save