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) {
_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<MessageInput>
unregisterFromRestoration(_controller!);
_controller!.dispose();
_controller = null;
_initialiseEffectiveController();
}
// Update _focusNode
@@ -447,6 +444,13 @@ class MessageInputState extends State<MessageInput>
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;