diff --git a/app/lib/features/geckoview/features/bookmarks/domain/providers/bookmarks.dart b/app/lib/features/geckoview/features/bookmarks/domain/providers/bookmarks.dart index df4483c2..ee1ce8d3 100644 --- a/app/lib/features/geckoview/features/bookmarks/domain/providers/bookmarks.dart +++ b/app/lib/features/geckoview/features/bookmarks/domain/providers/bookmarks.dart @@ -19,6 +19,7 @@ */ import 'dart:async'; +import 'package:flutter/services.dart'; import 'package:flutter_mozilla_components/flutter_mozilla_components.dart'; import 'package:nullability/nullability.dart'; import 'package:riverpod_annotation/riverpod_annotation.dart'; @@ -105,11 +106,16 @@ class BookmarksSearch extends _$BookmarksSearch { Future search(String query, {int limit = 10}) async { if (query.isNotEmpty) { - await _service.searchBookmarks(query, limit: limit).then((value) { - if (!_streamController.isClosed) { - _streamController.add(value.map((e) => e.guid).toSet()); - } - }); + try { + await _service.searchBookmarks(query, limit: limit).then((value) { + if (!_streamController.isClosed) { + _streamController.add(value.map((e) => e.guid).toSet()); + } + }); + } on PlatformException catch (e) { + if (e.code == 'OperationInterrupted') return; + rethrow; + } } } @@ -135,12 +141,17 @@ class BookmarkSearchResults extends _$BookmarkSearchResults { return; } - final results = await _service.searchBookmarks(query, limit: limit); - if (!ref.mounted) return; - state = results - .map(BookmarkItem.parseRecursive) - .whereType() - .toList(); + try { + final results = await _service.searchBookmarks(query, limit: limit); + if (!ref.mounted) return; + state = results + .map(BookmarkItem.parseRecursive) + .whereType() + .toList(); + } on PlatformException catch (e) { + if (e.code == 'OperationInterrupted') return; + rethrow; + } } @override diff --git a/app/lib/features/geckoview/features/bookmarks/domain/providers/bookmarks.g.dart b/app/lib/features/geckoview/features/bookmarks/domain/providers/bookmarks.g.dart index 4e025fb8..3de74d78 100644 --- a/app/lib/features/geckoview/features/bookmarks/domain/providers/bookmarks.g.dart +++ b/app/lib/features/geckoview/features/bookmarks/domain/providers/bookmarks.g.dart @@ -33,7 +33,7 @@ final class BookmarksSearchProvider BookmarksSearch create() => BookmarksSearch(); } -String _$bookmarksSearchHash() => r'ac2ce51c4fd66c2c0e25bdf2475cf2fba57c9e0c'; +String _$bookmarksSearchHash() => r'41053cbc1014e0fdd04d9510bf15c9896a9f752d'; abstract class _$BookmarksSearch extends $StreamNotifier> { Stream> build(); @@ -86,7 +86,7 @@ final class BookmarkSearchResultsProvider } String _$bookmarkSearchResultsHash() => - r'44af94b2234c817b08b0bde2dc68f9ab8d2d0a9a'; + r'49ebd21a137bc09bbd67b692aacb2554b8364564'; abstract class _$BookmarkSearchResults extends $Notifier> { List build();