Fix null safety errors on text_selection.dart

pull/87/head
Miller Adulu 4 years ago
parent 7d1f707b7b
commit 257b4055d8
  1. 71
      lib/widgets/raw_editor.dart

@ -100,7 +100,7 @@ class RawEditorState extends EditorState
WidgetsBindingObserver, WidgetsBindingObserver,
TickerProviderStateMixin<RawEditor> TickerProviderStateMixin<RawEditor>
implements TextSelectionDelegate, TextInputClient { implements TextSelectionDelegate, TextInputClient {
GlobalKey _editorKey = GlobalKey(); GlobalKey _editorKey = GlobalKey();
final List<TextEditingValue> _sentRemoteValues = []; final List<TextEditingValue> _sentRemoteValues = [];
TextInputConnection? _textInputConnection; TextInputConnection? _textInputConnection;
TextEditingValue? _lastKnownRemoteTextEditingValue; TextEditingValue? _lastKnownRemoteTextEditingValue;
@ -115,14 +115,9 @@ class RawEditorState extends EditorState
late KeyboardListener _keyboardListener; late KeyboardListener _keyboardListener;
bool _didAutoFocus = false; bool _didAutoFocus = false;
bool _keyboardVisible = false; bool _keyboardVisible = false;
<<<<<<< HEAD
DefaultStyles? _styles; DefaultStyles? _styles;
final ClipboardStatusNotifier _clipboardStatus = ClipboardStatusNotifier(); final ClipboardStatusNotifier? _clipboardStatus =
=======
DefaultStyles _styles;
final ClipboardStatusNotifier _clipboardStatus =
kIsWeb ? null : ClipboardStatusNotifier(); kIsWeb ? null : ClipboardStatusNotifier();
>>>>>>> dda5805935568d42b71a1a1faf7fbdf078d72633
final LayerLink _toolbarLayerLink = LayerLink(); final LayerLink _toolbarLayerLink = LayerLink();
final LayerLink _startHandleLayerLink = LayerLink(); final LayerLink _startHandleLayerLink = LayerLink();
final LayerLink _endHandleLayerLink = LayerLink(); final LayerLink _endHandleLayerLink = LayerLink();
@ -681,7 +676,7 @@ class RawEditorState extends EditorState
void initState() { void initState() {
super.initState(); super.initState();
_clipboardStatus.addListener(_onChangedClipboardStatus); _clipboardStatus?.addListener(_onChangedClipboardStatus);
widget.controller.addListener(_didChangeTextEditingValue); widget.controller.addListener(_didChangeTextEditingValue);
@ -873,7 +868,7 @@ class RawEditorState extends EditorState
@override @override
void dispose() { void dispose() {
closeConnectionIfNeeded(); closeConnectionIfNeeded();
_keyboardVisibilitySubscription?.cancel(); _keyboardVisibilitySubscription.cancel();
assert(!hasConnection); assert(!hasConnection);
_selectionOverlay?.dispose(); _selectionOverlay?.dispose();
_selectionOverlay = null; _selectionOverlay = null;
@ -881,8 +876,8 @@ class RawEditorState extends EditorState
widget.focusNode.removeListener(_handleFocusChanged); widget.focusNode.removeListener(_handleFocusChanged);
_focusAttachment!.detach(); _focusAttachment!.detach();
_cursorCont.dispose(); _cursorCont.dispose();
_clipboardStatus.removeListener(_onChangedClipboardStatus); _clipboardStatus?.removeListener(_onChangedClipboardStatus);
_clipboardStatus.dispose(); _clipboardStatus?.dispose();
super.dispose(); super.dispose();
} }
@ -936,19 +931,20 @@ class RawEditorState extends EditorState
_selectionOverlay = null; _selectionOverlay = null;
_selectionOverlay = EditorTextSelectionOverlay( _selectionOverlay = EditorTextSelectionOverlay(
textEditingValue, textEditingValue,
false, false,
context, context,
widget, widget,
_toolbarLayerLink, _toolbarLayerLink,
_startHandleLayerLink, _startHandleLayerLink,
_endHandleLayerLink, _endHandleLayerLink,
getRenderEditor(), getRenderEditor(),
widget.selectionCtrls, widget.selectionCtrls,
this, this,
DragStartBehavior.start, DragStartBehavior.start,
null, null,
_clipboardStatus); _clipboardStatus!,
);
_selectionOverlay!.handlesVisible = _shouldShowSelectionHandles(); _selectionOverlay!.handlesVisible = _shouldShowSelectionHandles();
_selectionOverlay!.showHandles(); _selectionOverlay!.showHandles();
} }
@ -1098,23 +1094,22 @@ class RawEditorState extends EditorState
@override @override
bool showToolbar() { bool showToolbar() {
<<<<<<< HEAD
if (_selectionOverlay == null || _selectionOverlay!.toolbar != null) { if (_selectionOverlay == null || _selectionOverlay!.toolbar != null) {
======= // Web is using native dom elements to enable clipboard functionality of the
// Web is using native dom elements to enable clipboard functionality of the // toolbar: copy, paste, select, cut. It might also provide additional
// toolbar: copy, paste, select, cut. It might also provide additional // functionality depending on the browser (such as translate). Due to this
// functionality depending on the browser (such as translate). Due to this // we should not show a Flutter toolbar for the editable text elements.
// we should not show a Flutter toolbar for the editable text elements. if (kIsWeb) {
if (kIsWeb) { return false;
return false; }
}
if (_selectionOverlay == null || _selectionOverlay.toolbar != null) { if (_selectionOverlay == null || _selectionOverlay!.toolbar != null) {
>>>>>>> dda5805935568d42b71a1a1faf7fbdf078d72633 return false;
return false; }
}
_selectionOverlay!.showToolbar(); _selectionOverlay!.showToolbar();
return true;
}
return true; return true;
} }

Loading…
Cancel
Save