add listener to effective controller
This commit is contained in:
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user