diff --git a/lib/src/widgets/suggestions/suggestion_list.dart b/lib/src/widgets/suggestions/suggestion_list.dart index 1fb0c36b..728368ac 100644 --- a/lib/src/widgets/suggestions/suggestion_list.dart +++ b/lib/src/widgets/suggestions/suggestion_list.dart @@ -31,12 +31,18 @@ class _SuggestionListState extends State vsync: this, ); WidgetsBinding.instance.addPostFrameCallback((_) { - if (!mounted) return; final newSuggestions = provide?.chatController.newSuggestions; newSuggestions?.addListener(animateSuggestionList); }); } + @override + void activate() { + super.activate(); + final newSuggestions = provide?.chatController.newSuggestions; + newSuggestions?.addListener(animateSuggestionList); + } + void animateSuggestionList() { final newSuggestions = provide?.chatController.newSuggestions; if (newSuggestions != null) { @@ -91,10 +97,15 @@ class _SuggestionListState extends State } @override - void dispose() { - _controller.dispose(); + void deactivate() { final newSuggestions = provide?.chatController.newSuggestions; newSuggestions?.removeListener(animateSuggestionList); + super.deactivate(); + } + + @override + void dispose() { + _controller.dispose(); super.dispose(); } }