diff --git a/lib/next/terminal_view.dart b/lib/next/terminal_view.dart index d38f8d71..a959f115 100644 --- a/lib/next/terminal_view.dart +++ b/lib/next/terminal_view.dart @@ -86,6 +86,8 @@ class TerminalViewState extends State { final scrollableKey = GlobalKey(); String? composingText; + + T? _nonNullableWrap(T? value) => value; @override void initState() { @@ -142,7 +144,7 @@ class TerminalViewState extends State { void _onKeyboardShow() { if (focusNode.hasFocus) { - WidgetsBinding.instance?.addPostFrameCallback((_) { + _nonNullableWrap(WidgetsBinding.instance)!.addPostFrameCallback((_) { _scrollToBottom(); }); } @@ -503,8 +505,10 @@ class _RenderTerminalViewport extends RenderBox { ); } } + + T? _nonNullableWrap(T? value) => value; - SchedulerBinding.instance! + _nonNullableWrap(WidgetsBinding.instance)! .addPostFrameCallback((_) => _notifyEditableRect()); } @@ -654,6 +658,8 @@ class _RenderTerminalViewport extends RenderBox { ); } } + + void _paintComposingText(Canvas canvas, Offset offset) { final composingText = _composingText; diff --git a/lib/next/ui/custom_text_edit.dart b/lib/next/ui/custom_text_edit.dart index d9f0943b..2db40864 100644 --- a/lib/next/ui/custom_text_edit.dart +++ b/lib/next/ui/custom_text_edit.dart @@ -257,4 +257,13 @@ class CustomTextEditState extends State void performPrivateCommand(String action, Map data) { // print('performPrivateCommand $action'); } + + @override + void showToolbar() {} + + @override + void insertTextPlaceholder(Size size) {} + + @override + void removeTextPlaceholder() {} } diff --git a/lib/next/ui/keyboard_visibility.dart b/lib/next/ui/keyboard_visibility.dart index 2bef57f9..abf927bb 100644 --- a/lib/next/ui/keyboard_visibility.dart +++ b/lib/next/ui/keyboard_visibility.dart @@ -22,15 +22,18 @@ class KeyboardVisibilty extends StatefulWidget { class _KeyboardVisibiltyState extends State with WidgetsBindingObserver { + + T? _nonNullableWrap(T? value) => value; + @override void initState() { super.initState(); - WidgetsBinding.instance!.addObserver(this); + _nonNullableWrap(WidgetsBinding.instance)!.addObserver(this); } @override void dispose() { - WidgetsBinding.instance!.removeObserver(this); + _nonNullableWrap(WidgetsBinding.instance)!.removeObserver(this); super.dispose(); }