guard uninitialized state

This commit is contained in:
Fabian Freund
2025-06-23 22:32:19 +02:00
parent 12c9d32a9b
commit 967ff8fd6d
4 changed files with 14 additions and 11 deletions
@@ -50,15 +50,18 @@ class FindInPageController extends _$FindInPageController {
fireImmediately: true,
selectedTabStateProvider,
(previous, next) async {
if (state.visible && state.lastSearchText.isNotEmpty) {
if (previous != null && next != null) {
final loadingOrReloading =
previous.isLoading == true && next.isLoading == false;
final tabSwitchWithoutResults =
previous.id != next.id && !next.findResultState.hasMatches;
//Ensure state is already initialized
if (stateOrNull != null) {
if (state.visible && state.lastSearchText.isNotEmpty) {
if (previous != null && next != null) {
final loadingOrReloading =
previous.isLoading == true && next.isLoading == false;
final tabSwitchWithoutResults =
previous.id != next.id && !next.findResultState.hasMatches;
if (loadingOrReloading || tabSwitchWithoutResults) {
await findAll(text: state.lastSearchText!);
if (loadingOrReloading || tabSwitchWithoutResults) {
await findAll(text: state.lastSearchText!);
}
}
}
}
@@ -7,7 +7,7 @@ part of 'find_in_page.dart';
// **************************************************************************
String _$findInPageControllerHash() =>
r'63a2fbf4f75be59d341501c58512792de82fdb3d';
r'ab421be931406325bf6b22dd9f545117ea426665';
/// See also [FindInPageController].
@ProviderFor(FindInPageController)
@@ -80,7 +80,7 @@ class SelectedContainer extends _$SelectedContainer {
fireImmediately: true,
containersWithCountProvider,
(previous, next) {
if (state != null && next.valueOrNull != null) {
if (stateOrNull != null && next.valueOrNull != null) {
if (!next.value!.any((container) => container.id == state)) {
clearContainer();
}
@@ -25,7 +25,7 @@ final selectedContainerDataProvider =
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
typedef SelectedContainerDataRef = AutoDisposeStreamProviderRef<ContainerData?>;
String _$selectedContainerHash() => r'075190a8a58cc6de8ce554b0a6ed54809832fdb0';
String _$selectedContainerHash() => r'736a60b8f19273d3bdc25d1717e3a613384e59a6';
/// See also [SelectedContainer].
@ProviderFor(SelectedContainer)