add listener to effective controller

This commit is contained in:
Deven Joshi
2022-01-11 16:07:11 +05:30
parent 8bd826d08d
commit e21d32941a
@@ -398,11 +398,7 @@ class MessageInputState extends State<MessageInput>
if (widget.messageInputController == null) { if (widget.messageInputController == null) {
_createLocalController(); _createLocalController();
} else { } else {
_effectiveController.textEditingController _initialiseEffectiveController();
.removeListener(_onChangedDebounced);
_effectiveController.textEditingController
.addListener(_onChangedDebounced);
if (!_isEditing && _timeOut <= 0) _startSlowMode();
} }
_focusNode.addListener(_focusNodeListener); _focusNode.addListener(_focusNodeListener);
} }
@@ -418,6 +414,7 @@ class MessageInputState extends State<MessageInput>
unregisterFromRestoration(_controller!); unregisterFromRestoration(_controller!);
_controller!.dispose(); _controller!.dispose();
_controller = null; _controller = null;
_initialiseEffectiveController();
} }
// Update _focusNode // Update _focusNode
@@ -447,6 +444,13 @@ class MessageInputState extends State<MessageInput>
int _timeOut = 0; int _timeOut = 0;
Timer? _slowModeTimer; Timer? _slowModeTimer;
void _initialiseEffectiveController() {
_effectiveController.textEditingController
.removeListener(_onChangedDebounced);
_effectiveController.textEditingController.addListener(_onChangedDebounced);
if (!_isEditing && _timeOut <= 0) _startSlowMode();
}
void _startSlowMode() { void _startSlowMode() {
if (!mounted) { if (!mounted) {
return; return;