added mip didUpdateWidget for focusnode

This commit is contained in:
Deven Joshi
2022-01-11 12:48:42 +05:30
parent 9652c977a2
commit dcbdfc32ea
2 changed files with 12 additions and 1 deletions
@@ -12,6 +12,10 @@
- Videos can now be auto-played in `FullScreenMedia`
🔄 Changed
- Add `didUpdateWidget` override in `MessageInput` widget to handle changes to `focusNode`.
## 3.3.2
- Updated `stream_chat_flutter_core` dependency to [`3.3.1`](https://pub.dev/packages/stream_chat_flutter_core/changelog).
@@ -352,7 +352,7 @@ class MessageInput extends StatefulWidget {
class MessageInputState extends State<MessageInput>
with RestorationMixin<MessageInput> {
final _imagePicker = ImagePicker();
late final _focusNode = widget.focusNode ?? FocusNode();
late var _focusNode = widget.focusNode ?? FocusNode();
bool _inputEnabled = true;
bool get _commandEnabled => _effectiveController.value.command != null;
bool _showCommandsOverlay = false;
@@ -419,6 +419,13 @@ class MessageInputState extends State<MessageInput>
_controller!.dispose();
_controller = null;
}
// Update _focusNode
if (widget.focusNode != null && oldWidget.focusNode != widget.focusNode) {
_focusNode.removeListener(_focusNodeListener);
_focusNode = widget.focusNode!;
_focusNode.addListener(_focusNodeListener);
}
}
@override