some async refactorings

This commit is contained in:
Fabian Freund
2024-06-19 21:24:18 +02:00
parent dbf953f879
commit 2c71909283
8 changed files with 11 additions and 13 deletions
@@ -46,7 +46,7 @@ class AppInitializationService extends _$AppInitializationService {
.syncBangGroups(syncInterval: const Duration(days: 7)); .syncBangGroups(syncInterval: const Duration(days: 7));
} }
Future<Map<HostSource, Result<void>>> _initHosts(Settings settings) async { FutureOr<Map<HostSource, Result<void>>> _initHosts(Settings settings) {
if (settings.enableContentBlocking) { if (settings.enableContentBlocking) {
state = Result.success( state = Result.success(
( (
@@ -305,7 +305,7 @@ class KagiScreen extends HookConsumerWidget {
lastBackButtonPress.value = null; lastBackButtonPress.value = null;
if (activeWebView?.key != null && webViews.length > 1) { if (activeWebView?.key != null && webViews.length > 1) {
await ref ref
.read(webViewRepositoryProvider.notifier) .read(webViewRepositoryProvider.notifier)
.closeTab(activeWebView!.key!); .closeTab(activeWebView!.key!);
return true; return true;
@@ -29,10 +29,8 @@ class ViewTabsSheet extends HookConsumerWidget {
label: const Text('New Tab'), label: const Text('New Tab'),
), ),
TextButton.icon( TextButton.icon(
onPressed: () async { onPressed: () {
await ref ref.read(webViewRepositoryProvider.notifier).closeAllTabs();
.read(webViewRepositoryProvider.notifier)
.closeAllTabs();
}, },
icon: const Icon(Icons.delete), icon: const Icon(Icons.delete),
label: const Text('Close All'), label: const Text('Close All'),
@@ -11,7 +11,7 @@ class SaveSettingsController extends _$SaveSettingsController {
Future<void> save(UpdateSettingsFunc updateSettings) async { Future<void> save(UpdateSettingsFunc updateSettings) async {
state = const AsyncLoading(); state = const AsyncLoading();
state = await AsyncValue.guard( state = await AsyncValue.guard(
() async => ref () => ref
.read(settingsRepositoryProvider.notifier) .read(settingsRepositoryProvider.notifier)
.updateSettings(updateSettings), .updateSettings(updateSettings),
); );
@@ -53,7 +53,7 @@ Raw<Stream<ReceivedParameter>> sharingIntentStream(SharingIntentStreamRef ref) {
// ignore: discarded_futures // ignore: discarded_futures
.getInitialSharing() .getInitialSharing()
// ignore: discarded_futures // ignore: discarded_futures
.then((event) async { .then((event) {
FlutterSharingIntent.instance.reset(); FlutterSharingIntent.instance.reset();
return event; return event;
}).asStream(); }).asStream();
@@ -35,11 +35,11 @@ class WebViewRepository extends _$WebViewRepository {
state = {...state, webView.page.value.key: webView}; state = {...state, webView.page.value.key: webView};
} }
Future<void> closeTab(Key key) async { void closeTab(Key key) {
state = Map.of(state)..remove(key); state = Map.of(state)..remove(key);
} }
Future<void> closeAllTabs() async { void closeAllTabs() {
state = {}; state = {};
} }
} }
@@ -60,8 +60,8 @@ class WebViewTab extends HookConsumerWidget {
IconButton( IconButton(
visualDensity: visualDensity:
const VisualDensity(horizontal: -4.0, vertical: -4.0), const VisualDensity(horizontal: -4.0, vertical: -4.0),
onPressed: () async { onPressed: () {
await ref ref
.read(webViewRepositoryProvider.notifier) .read(webViewRepositoryProvider.notifier)
.closeTab(page.key); .closeTab(page.key);
}, },
@@ -5,7 +5,7 @@ import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'website_title.g.dart'; part 'website_title.g.dart';
@Riverpod(keepAlive: true) @Riverpod(keepAlive: true)
Future<WebPageInfo> pageInfo(PageInfoRef ref, Uri url) async { Future<WebPageInfo> pageInfo(PageInfoRef ref, Uri url) {
final websiteService = ref.watch(genericWebsiteServiceProvider.notifier); final websiteService = ref.watch(genericWebsiteServiceProvider.notifier);
return websiteService.getInfo(url).then((value) => value.value); return websiteService.getInfo(url).then((value) => value.value);
} }