close _keyboardVisibilityController.onChange in dispose

pull/66/head
li3317 4 years ago
parent c2bbf2d793
commit 0c05d062cc
  1. 4
      lib/widgets/raw_editor.dart

@ -1,3 +1,4 @@
import 'dart:async';
import 'dart:convert'; import 'dart:convert';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
@ -125,6 +126,7 @@ class RawEditorState extends EditorState
CursorCont _cursorCont; CursorCont _cursorCont;
ScrollController _scrollController; ScrollController _scrollController;
KeyboardVisibilityController _keyboardVisibilityController; KeyboardVisibilityController _keyboardVisibilityController;
StreamSubscription<bool> _keyboardVisibilitySubscription;
KeyboardListener _keyboardListener; KeyboardListener _keyboardListener;
bool _didAutoFocus = false; bool _didAutoFocus = false;
bool _keyboardVisible = false; bool _keyboardVisible = false;
@ -698,6 +700,7 @@ class RawEditorState extends EditorState
); );
_keyboardVisibilityController = KeyboardVisibilityController(); _keyboardVisibilityController = KeyboardVisibilityController();
_keyboardVisibilitySubscription =
_keyboardVisibilityController.onChange.listen((bool visible) { _keyboardVisibilityController.onChange.listen((bool visible) {
_keyboardVisible = visible; _keyboardVisible = visible;
if (visible) { if (visible) {
@ -865,6 +868,7 @@ class RawEditorState extends EditorState
@override @override
void dispose() { void dispose() {
closeConnectionIfNeeded(); closeConnectionIfNeeded();
_keyboardVisibilitySubscription.cancel();
assert(!hasConnection); assert(!hasConnection);
_selectionOverlay?.dispose(); _selectionOverlay?.dispose();
_selectionOverlay = null; _selectionOverlay = null;

Loading…
Cancel
Save