From e21d32941adcd4f36323757ae6905b4cc82ad434 Mon Sep 17 00:00:00 2001 From: Deven Joshi Date: Tue, 11 Jan 2022 16:07:11 +0530 Subject: [PATCH] add listener to effective controller --- .../lib/src/message_input/message_input.dart | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/packages/stream_chat_flutter/lib/src/message_input/message_input.dart b/packages/stream_chat_flutter/lib/src/message_input/message_input.dart index 54170b4c..adcb046a 100644 --- a/packages/stream_chat_flutter/lib/src/message_input/message_input.dart +++ b/packages/stream_chat_flutter/lib/src/message_input/message_input.dart @@ -398,11 +398,7 @@ class MessageInputState extends State if (widget.messageInputController == null) { _createLocalController(); } else { - _effectiveController.textEditingController - .removeListener(_onChangedDebounced); - _effectiveController.textEditingController - .addListener(_onChangedDebounced); - if (!_isEditing && _timeOut <= 0) _startSlowMode(); + _initialiseEffectiveController(); } _focusNode.addListener(_focusNodeListener); } @@ -418,6 +414,7 @@ class MessageInputState extends State unregisterFromRestoration(_controller!); _controller!.dispose(); _controller = null; + _initialiseEffectiveController(); } // Update _focusNode @@ -447,6 +444,13 @@ class MessageInputState extends State int _timeOut = 0; Timer? _slowModeTimer; + void _initialiseEffectiveController() { + _effectiveController.textEditingController + .removeListener(_onChangedDebounced); + _effectiveController.textEditingController.addListener(_onChangedDebounced); + if (!_isEditing && _timeOut <= 0) _startSlowMode(); + } + void _startSlowMode() { if (!mounted) { return;