Skip to content

Commit 7cade4c

Browse files
authored
Merge pull request #97 from pangeachat/null-fix
null check fix
2 parents 69fe23c + 7655a97 commit 7cade4c

File tree

4 files changed

+19
-17
lines changed

4 files changed

+19
-17
lines changed

ios/Runner/Info.plist

-1
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,6 @@
8686
<true/>
8787
<key>UIBackgroundModes</key>
8888
<array>
89-
<string>audio</string>
9089
<string>fetch</string>
9190
<string>processing</string>
9291
<string>remote-notification</string>

lib/pages/chat/events/message.dart

+2-1
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,8 @@ class Message extends StatelessWidget {
144144
final PangeaMessageEvent? pangeaMessageEvent =
145145
controller.getPangeaMessageEvent(event.eventId);
146146
ToolbarDisplayController? toolbarController;
147-
if (event.messageType == MessageTypes.Text) {
147+
if (event.messageType == MessageTypes.Text ||
148+
event.messageType == MessageTypes.Notice) {
148149
toolbarController = controller.getToolbarDisplayController(event.eventId);
149150
}
150151
// Pangea#

lib/pages/chat/events/message_content.dart

+1-1
Original file line numberDiff line numberDiff line change
@@ -279,7 +279,7 @@ class MessageContent extends StatelessWidget {
279279
style: messageTextStyle,
280280
pangeaMessageEvent: pangeaMessageEvent!,
281281
immersionMode: immersionMode,
282-
toolbarController: toolbarController!,
282+
toolbarController: toolbarController,
283283
);
284284
}
285285
// Pangea#

lib/pangea/widgets/igc/pangea_rich_text.dart

+16-14
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import '../../models/pangea_match_model.dart';
1919
class PangeaRichText extends StatefulWidget {
2020
final PangeaMessageEvent pangeaMessageEvent;
2121
final bool immersionMode;
22-
final ToolbarDisplayController toolbarController;
22+
final ToolbarDisplayController? toolbarController;
2323
final TextStyle? style;
2424

2525
const PangeaRichText({
@@ -89,7 +89,7 @@ class PangeaRichTextState extends State<PangeaRichText> {
8989
.onError((error, stackTrace) => ErrorHandler.logError())
9090
.then((event) {
9191
repEvent = event;
92-
widget.toolbarController.toolbar?.textSelection.setMessageText(
92+
widget.toolbarController?.toolbar?.textSelection.setMessageText(
9393
repEvent?.text ?? widget.pangeaMessageEvent.body,
9494
);
9595
}).whenComplete(() {
@@ -99,7 +99,7 @@ class PangeaRichTextState extends State<PangeaRichText> {
9999
});
100100
return widget.pangeaMessageEvent.body;
101101
} else {
102-
widget.toolbarController.toolbar?.textSelection.setMessageText(
102+
widget.toolbarController?.toolbar?.textSelection.setMessageText(
103103
repEvent!.text,
104104
);
105105
setState(() {});
@@ -129,31 +129,33 @@ class PangeaRichTextState extends State<PangeaRichText> {
129129
final Widget richText = SelectableText.rich(
130130
onSelectionChanged: (selection, cause) {
131131
if (cause == SelectionChangedCause.longPress &&
132-
!widget.toolbarController.highlighted &&
133-
!widget.toolbarController.controller.selectedEvents.any(
134-
(e) => e.eventId == widget.pangeaMessageEvent.eventId,
135-
)) {
136-
widget.toolbarController.controller.onSelectMessage(
132+
!(widget.toolbarController?.highlighted ?? false) &&
133+
!(widget.toolbarController?.controller.selectedEvents.any(
134+
(e) => e.eventId == widget.pangeaMessageEvent.eventId,
135+
) ??
136+
false)) {
137+
widget.toolbarController?.controller.onSelectMessage(
137138
widget.pangeaMessageEvent.event,
138139
);
139140
return;
140141
}
141-
widget.toolbarController.toolbar?.textSelection
142+
widget.toolbarController?.toolbar?.textSelection
142143
.onTextSelection(selection);
143144
},
144-
onTap: () => widget.toolbarController.showToolbar(context),
145-
enableInteractiveSelection: widget.toolbarController.highlighted,
145+
onTap: () => widget.toolbarController?.showToolbar(context),
146+
enableInteractiveSelection:
147+
widget.toolbarController?.highlighted ?? false,
146148
contextMenuBuilder: (context, state) =>
147-
widget.toolbarController.highlighted
149+
widget.toolbarController?.highlighted ?? true
148150
? const SizedBox.shrink()
149151
: MessageContextMenu.contextMenuOverride(
150152
context: context,
151153
textSelection: state,
152-
onDefine: () => widget.toolbarController.showToolbar(
154+
onDefine: () => widget.toolbarController?.showToolbar(
153155
context,
154156
mode: MessageMode.definition,
155157
),
156-
onListen: () => widget.toolbarController.showToolbar(
158+
onListen: () => widget.toolbarController?.showToolbar(
157159
context,
158160
mode: MessageMode.play,
159161
),

0 commit comments

Comments
 (0)