refactor setting providers; include content blocking settings;
This commit is contained in:
@@ -44,7 +44,7 @@ GeckoSelectionActionService selectionActionService(Ref ref) {
|
||||
service.setActions([
|
||||
SearchAction((text) async {
|
||||
final router = await ref.read(routerProvider.future);
|
||||
final settings = ref.read(generalSettingsRepositoryProvider);
|
||||
final settings = ref.read(generalSettingsWithDefaultsProvider);
|
||||
final route = SearchRoute(
|
||||
tabType:
|
||||
ref.read(selectedTabTypeProvider) ??
|
||||
@@ -64,7 +64,7 @@ GeckoSelectionActionService selectionActionService(Ref ref) {
|
||||
final isPrivate =
|
||||
currentTab?.isPrivate ??
|
||||
ref
|
||||
.read(generalSettingsRepositoryProvider)
|
||||
.read(generalSettingsWithDefaultsProvider)
|
||||
.defaultCreateTabType ==
|
||||
TabType.private;
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ part of 'providers.dart';
|
||||
// **************************************************************************
|
||||
|
||||
String _$selectionActionServiceHash() =>
|
||||
r'f356434878b46fd443c8e3a8a48cf07c34a63b70';
|
||||
r'b1deac5e0566443b4729656c7082903b529bc269';
|
||||
|
||||
/// See also [selectionActionService].
|
||||
@ProviderFor(selectionActionService)
|
||||
|
||||
@@ -349,7 +349,7 @@ class TabRepository extends _$TabRepository {
|
||||
next.whenData((value) async {
|
||||
final isPrivate =
|
||||
ref
|
||||
.read(generalSettingsRepositoryProvider)
|
||||
.read(generalSettingsWithDefaultsProvider)
|
||||
.defaultIntentTabType ==
|
||||
TabType.private;
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ part of 'tab.dart';
|
||||
// RiverpodGenerator
|
||||
// **************************************************************************
|
||||
|
||||
String _$tabRepositoryHash() => r'fccaa6521e1bad7e8b3f82e6d611469348dc8667';
|
||||
String _$tabRepositoryHash() => r'3465f351f1d36e0f21b4e8ef4ebe7fdc4fbc0b75';
|
||||
|
||||
/// See also [TabRepository].
|
||||
@ProviderFor(TabRepository)
|
||||
|
||||
+69
-55
@@ -37,7 +37,7 @@ class EngineSettingsReplicationService
|
||||
|
||||
ref.listen(
|
||||
fireImmediately: true,
|
||||
generalSettingsRepositoryProvider.select(
|
||||
generalSettingsWithDefaultsProvider.select(
|
||||
(settings) => settings.themeMode,
|
||||
),
|
||||
(previous, next) async {
|
||||
@@ -62,61 +62,75 @@ class EngineSettingsReplicationService
|
||||
fireImmediately: true,
|
||||
engineSettingsRepositoryProvider,
|
||||
(previous, next) async {
|
||||
if (initialSettingsSent && previous != null) {
|
||||
if (previous.javascriptEnabled != next.javascriptEnabled) {
|
||||
await _service.javascriptEnabled(next.javascriptEnabled);
|
||||
final settings = next.valueOrNull;
|
||||
|
||||
if (settings != null) {
|
||||
if (initialSettingsSent && previous != null) {
|
||||
if (previous.valueOrNull?.javascriptEnabled !=
|
||||
settings.javascriptEnabled) {
|
||||
await _service.javascriptEnabled(settings.javascriptEnabled);
|
||||
}
|
||||
if (previous.valueOrNull?.trackingProtectionPolicy !=
|
||||
settings.trackingProtectionPolicy) {
|
||||
await _service.trackingProtectionPolicy(
|
||||
settings.trackingProtectionPolicy,
|
||||
);
|
||||
}
|
||||
if (previous.valueOrNull?.httpsOnlyMode != settings.httpsOnlyMode) {
|
||||
await _service.httpsOnlyMode(settings.httpsOnlyMode);
|
||||
}
|
||||
if (previous.valueOrNull?.globalPrivacyControlEnabled !=
|
||||
settings.globalPrivacyControlEnabled) {
|
||||
await _service.globalPrivacyControlEnabled(
|
||||
settings.globalPrivacyControlEnabled,
|
||||
);
|
||||
}
|
||||
if (previous.valueOrNull?.preferredColorScheme !=
|
||||
settings.preferredColorScheme) {
|
||||
await _service.preferredColorScheme(
|
||||
settings.preferredColorScheme,
|
||||
);
|
||||
}
|
||||
if (previous.valueOrNull?.cookieBannerHandlingMode !=
|
||||
settings.cookieBannerHandlingMode) {
|
||||
await _service.cookieBannerHandlingMode(
|
||||
settings.cookieBannerHandlingMode,
|
||||
);
|
||||
}
|
||||
if (previous.valueOrNull?.cookieBannerHandlingModePrivateBrowsing !=
|
||||
settings.cookieBannerHandlingModePrivateBrowsing) {
|
||||
await _service.cookieBannerHandlingModePrivateBrowsing(
|
||||
settings.cookieBannerHandlingModePrivateBrowsing,
|
||||
);
|
||||
}
|
||||
if (previous.valueOrNull?.cookieBannerHandlingGlobalRules !=
|
||||
settings.cookieBannerHandlingGlobalRules) {
|
||||
await _service.cookieBannerHandlingGlobalRules(
|
||||
settings.cookieBannerHandlingGlobalRules,
|
||||
);
|
||||
}
|
||||
if (previous
|
||||
.valueOrNull
|
||||
?.cookieBannerHandlingGlobalRulesSubFrames !=
|
||||
settings.cookieBannerHandlingGlobalRulesSubFrames) {
|
||||
await _service.cookieBannerHandlingGlobalRulesSubFrames(
|
||||
settings.cookieBannerHandlingGlobalRulesSubFrames,
|
||||
);
|
||||
}
|
||||
if (previous.valueOrNull?.webContentIsolationStrategy !=
|
||||
settings.webContentIsolationStrategy) {
|
||||
await _service.webContentIsolationStrategy(
|
||||
settings.webContentIsolationStrategy,
|
||||
);
|
||||
}
|
||||
if (previous.valueOrNull?.contentBlocking !=
|
||||
settings.contentBlocking) {
|
||||
await _service.contentBlocking(settings.contentBlocking);
|
||||
}
|
||||
} else {
|
||||
await _service.setDefaultSettings(settings);
|
||||
initialSettingsSent = true;
|
||||
}
|
||||
if (previous.trackingProtectionPolicy !=
|
||||
next.trackingProtectionPolicy) {
|
||||
await _service.trackingProtectionPolicy(
|
||||
next.trackingProtectionPolicy,
|
||||
);
|
||||
}
|
||||
if (previous.httpsOnlyMode != next.httpsOnlyMode) {
|
||||
await _service.httpsOnlyMode(next.httpsOnlyMode);
|
||||
}
|
||||
if (previous.globalPrivacyControlEnabled !=
|
||||
next.globalPrivacyControlEnabled) {
|
||||
await _service.globalPrivacyControlEnabled(
|
||||
next.globalPrivacyControlEnabled,
|
||||
);
|
||||
}
|
||||
if (previous.preferredColorScheme != next.preferredColorScheme) {
|
||||
await _service.preferredColorScheme(next.preferredColorScheme);
|
||||
}
|
||||
if (previous.cookieBannerHandlingMode !=
|
||||
next.cookieBannerHandlingMode) {
|
||||
await _service.cookieBannerHandlingMode(
|
||||
next.cookieBannerHandlingMode,
|
||||
);
|
||||
}
|
||||
if (previous.cookieBannerHandlingModePrivateBrowsing !=
|
||||
next.cookieBannerHandlingModePrivateBrowsing) {
|
||||
await _service.cookieBannerHandlingModePrivateBrowsing(
|
||||
next.cookieBannerHandlingModePrivateBrowsing,
|
||||
);
|
||||
}
|
||||
if (previous.cookieBannerHandlingGlobalRules !=
|
||||
next.cookieBannerHandlingGlobalRules) {
|
||||
await _service.cookieBannerHandlingGlobalRules(
|
||||
next.cookieBannerHandlingGlobalRules,
|
||||
);
|
||||
}
|
||||
if (previous.cookieBannerHandlingGlobalRulesSubFrames !=
|
||||
next.cookieBannerHandlingGlobalRulesSubFrames) {
|
||||
await _service.cookieBannerHandlingGlobalRulesSubFrames(
|
||||
next.cookieBannerHandlingGlobalRulesSubFrames,
|
||||
);
|
||||
}
|
||||
if (previous.webContentIsolationStrategy !=
|
||||
next.webContentIsolationStrategy) {
|
||||
await _service.webContentIsolationStrategy(
|
||||
next.webContentIsolationStrategy,
|
||||
);
|
||||
}
|
||||
} else {
|
||||
await _service.setDefaultSettings(next);
|
||||
initialSettingsSent = true;
|
||||
}
|
||||
},
|
||||
onError: (error, stackTrace) {
|
||||
|
||||
+1
-1
@@ -7,7 +7,7 @@ part of 'engine_settings_replication.dart';
|
||||
// **************************************************************************
|
||||
|
||||
String _$engineSettingsReplicationServiceHash() =>
|
||||
r'31b5b79e429bfedb9c6b57050cd2d99407914228';
|
||||
r'be3001c952dac6c7c6be3927f6834dae57280601';
|
||||
|
||||
/// See also [EngineSettingsReplicationService].
|
||||
@ProviderFor(EngineSettingsReplicationService)
|
||||
|
||||
+1
-1
@@ -84,7 +84,7 @@ class ProxySettingsReplication extends _$ProxySettingsReplication {
|
||||
|
||||
ref.listen(
|
||||
fireImmediately: true,
|
||||
generalSettingsRepositoryProvider.select(
|
||||
generalSettingsWithDefaultsProvider.select(
|
||||
(value) => value.proxyPrivateTabsTor,
|
||||
),
|
||||
(previous, next) async {
|
||||
|
||||
+1
-1
@@ -7,7 +7,7 @@ part of 'proxy_settings_replication.dart';
|
||||
// **************************************************************************
|
||||
|
||||
String _$proxySettingsReplicationHash() =>
|
||||
r'4476bab659f09de0866d0b3ae10d54ccb996335d';
|
||||
r'e9f3adc73349c6d33fc7009412984b1daa4cc8da';
|
||||
|
||||
/// See also [ProxySettingsReplication].
|
||||
@ProviderFor(ProxySettingsReplication)
|
||||
|
||||
+3
-3
@@ -65,7 +65,7 @@ class BrowserBottomAppBar extends HookConsumerWidget {
|
||||
);
|
||||
|
||||
final showExtensionShortcut = ref.watch(
|
||||
generalSettingsRepositoryProvider.select(
|
||||
generalSettingsWithDefaultsProvider.select(
|
||||
(value) => value.showExtensionShortcut,
|
||||
),
|
||||
);
|
||||
@@ -209,7 +209,7 @@ class BrowserBottomAppBar extends HookConsumerWidget {
|
||||
onPressed: () async {
|
||||
final isPrivate =
|
||||
ref
|
||||
.read(generalSettingsRepositoryProvider)
|
||||
.read(generalSettingsWithDefaultsProvider)
|
||||
.defaultCreateTabType ==
|
||||
TabType.private;
|
||||
|
||||
@@ -268,7 +268,7 @@ class BrowserBottomAppBar extends HookConsumerWidget {
|
||||
onPressed: () async {
|
||||
final isPrivate =
|
||||
ref
|
||||
.read(generalSettingsRepositoryProvider)
|
||||
.read(generalSettingsWithDefaultsProvider)
|
||||
.defaultCreateTabType ==
|
||||
TabType.private;
|
||||
|
||||
|
||||
+9
-8
@@ -85,13 +85,14 @@ class _BrowserViewState extends ConsumerState<BrowserView>
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
useOnInitialization(() async {
|
||||
await ref.read(generalSettingsRepositoryProvider.notifier).fetch().then((
|
||||
settings,
|
||||
) async {
|
||||
await ref
|
||||
.read(browserDataServiceProvider.notifier)
|
||||
.deleteDataOnEngineStart(settings.deleteBrowsingDataOnQuit);
|
||||
});
|
||||
await ref
|
||||
.read(generalSettingsRepositoryProvider.notifier)
|
||||
.fetchSettings()
|
||||
.then((settings) async {
|
||||
await ref
|
||||
.read(browserDataServiceProvider.notifier)
|
||||
.deleteDataOnEngineStart(settings.deleteBrowsingDataOnQuit);
|
||||
});
|
||||
});
|
||||
|
||||
final hasTab = ref.watch(
|
||||
@@ -313,7 +314,7 @@ class _BrowserViewState extends ConsumerState<BrowserView>
|
||||
widget.suggestionTimeout) {
|
||||
//Don't do anything if a child route is active
|
||||
if (GoRouterState.of(context).topRoute?.name == BrowserRoute.name) {
|
||||
final settings = ref.read(generalSettingsRepositoryProvider);
|
||||
final settings = ref.read(generalSettingsWithDefaultsProvider);
|
||||
|
||||
unawaited(
|
||||
showSuggestNewTabMessage(
|
||||
|
||||
+4
-4
@@ -129,7 +129,7 @@ class _TabSheetHeader extends HookConsumerWidget {
|
||||
);
|
||||
|
||||
final enableAiFeatures = ref.watch(
|
||||
generalSettingsRepositoryProvider.select(
|
||||
generalSettingsWithDefaultsProvider.select(
|
||||
(settings) => settings.enableLocalAiFeatures,
|
||||
),
|
||||
);
|
||||
@@ -415,7 +415,7 @@ class ViewTabsSheetWidget extends HookConsumerWidget {
|
||||
tabSuggestionsControllerProvider,
|
||||
);
|
||||
final enableAiFeatures = ref.watch(
|
||||
generalSettingsRepositoryProvider.select(
|
||||
generalSettingsWithDefaultsProvider.select(
|
||||
(settings) => settings.enableLocalAiFeatures,
|
||||
),
|
||||
);
|
||||
@@ -605,7 +605,7 @@ class ViewTabsSheetWidget extends HookConsumerWidget {
|
||||
),
|
||||
child: FloatingActionButton.small(
|
||||
onPressed: () async {
|
||||
final settings = ref.read(generalSettingsRepositoryProvider);
|
||||
final settings = ref.read(generalSettingsWithDefaultsProvider);
|
||||
|
||||
await SearchRoute(
|
||||
tabType:
|
||||
@@ -786,7 +786,7 @@ class ViewTabTreesSheetWidget extends HookConsumerWidget {
|
||||
),
|
||||
child: FloatingActionButton.small(
|
||||
onPressed: () async {
|
||||
final settings = ref.read(generalSettingsRepositoryProvider);
|
||||
final settings = ref.read(generalSettingsWithDefaultsProvider);
|
||||
|
||||
await SearchRoute(
|
||||
tabType:
|
||||
|
||||
+1
-1
@@ -39,7 +39,7 @@ class TabCreationMenu extends HookConsumerWidget {
|
||||
@override
|
||||
Widget build(BuildContext context, WidgetRef ref) {
|
||||
final createChildTabsOption = ref.watch(
|
||||
generalSettingsRepositoryProvider.select(
|
||||
generalSettingsWithDefaultsProvider.select(
|
||||
(value) => value.createChildTabsOption,
|
||||
),
|
||||
);
|
||||
|
||||
+3
-1
@@ -47,7 +47,9 @@ class OpenImageInNewTab extends HookConsumerWidget {
|
||||
final currentTab = ref.read(selectedTabStateProvider);
|
||||
final isPrivate =
|
||||
currentTab?.isPrivate ??
|
||||
ref.read(generalSettingsRepositoryProvider).defaultCreateTabType ==
|
||||
ref
|
||||
.read(generalSettingsWithDefaultsProvider)
|
||||
.defaultCreateTabType ==
|
||||
TabType.private;
|
||||
|
||||
final tabId = await ref
|
||||
|
||||
+3
-1
@@ -47,7 +47,9 @@ class OpenInNewTab extends HookConsumerWidget {
|
||||
final currentTab = ref.read(selectedTabStateProvider);
|
||||
final isPrivate =
|
||||
currentTab?.isPrivate ??
|
||||
ref.read(generalSettingsRepositoryProvider).defaultCreateTabType ==
|
||||
ref
|
||||
.read(generalSettingsWithDefaultsProvider)
|
||||
.defaultCreateTabType ==
|
||||
TabType.private;
|
||||
|
||||
final tabId = await ref
|
||||
|
||||
+2
-2
@@ -34,13 +34,13 @@ class ReaderButton extends HookConsumerWidget {
|
||||
final readerChanging = ref.watch(readerableScreenControllerProvider);
|
||||
|
||||
final enableReadability = ref.watch(
|
||||
generalSettingsRepositoryProvider.select(
|
||||
generalSettingsWithDefaultsProvider.select(
|
||||
(value) => value.enableReadability,
|
||||
),
|
||||
);
|
||||
|
||||
final enforceReadability = ref.watch(
|
||||
generalSettingsRepositoryProvider.select(
|
||||
generalSettingsWithDefaultsProvider.select(
|
||||
(value) => value.enforceReadability,
|
||||
),
|
||||
);
|
||||
|
||||
@@ -33,7 +33,7 @@ part 'search_suggestions.g.dart';
|
||||
@Riverpod(keepAlive: true)
|
||||
ISearchSuggestionProvider defaultSearchSuggestions(Ref ref) {
|
||||
final provider = ref.watch(
|
||||
generalSettingsRepositoryProvider.select(
|
||||
generalSettingsWithDefaultsProvider.select(
|
||||
(value) => value.defaultSearchSuggestionsProvider,
|
||||
),
|
||||
);
|
||||
|
||||
+1
-1
@@ -7,7 +7,7 @@ part of 'search_suggestions.dart';
|
||||
// **************************************************************************
|
||||
|
||||
String _$defaultSearchSuggestionsHash() =>
|
||||
r'eb96a5db465422558a26e22abb3f843a82c17452';
|
||||
r'6d7a387c7daeb790a4c9a5cdc105d2a2bdbacd2b';
|
||||
|
||||
/// See also [defaultSearchSuggestions].
|
||||
@ProviderFor(defaultSearchSuggestions)
|
||||
|
||||
@@ -52,7 +52,7 @@ class SearchScreen extends HookConsumerWidget {
|
||||
final formKey = useMemoized(() => GlobalKey<FormState>());
|
||||
|
||||
final createChildTabsOption = ref.watch(
|
||||
generalSettingsRepositoryProvider.select(
|
||||
generalSettingsWithDefaultsProvider.select(
|
||||
(value) => value.createChildTabsOption,
|
||||
),
|
||||
);
|
||||
|
||||
@@ -61,7 +61,7 @@ class GeckoInferenceRepository extends _$GeckoInferenceRepository {
|
||||
|
||||
Future<String?> predictDocumentTopic(Set<String> titles) async {
|
||||
if (!ref.read(
|
||||
generalSettingsRepositoryProvider.select(
|
||||
generalSettingsWithDefaultsProvider.select(
|
||||
(settings) => settings.enableLocalAiFeatures,
|
||||
),
|
||||
)) {
|
||||
@@ -97,7 +97,7 @@ class GeckoInferenceRepository extends _$GeckoInferenceRepository {
|
||||
required List<String> unassignedDocumentsInput,
|
||||
}) async {
|
||||
if (!ref.read(
|
||||
generalSettingsRepositoryProvider.select(
|
||||
generalSettingsWithDefaultsProvider.select(
|
||||
(settings) => settings.enableLocalAiFeatures,
|
||||
),
|
||||
)) {
|
||||
|
||||
@@ -276,7 +276,7 @@ class _ContainerTabSuggestionsProviderElement
|
||||
}
|
||||
|
||||
String _$geckoInferenceRepositoryHash() =>
|
||||
r'170bd0b67e5f1edc43ed97d4535f41353fb8796e';
|
||||
r'6099998a3f49fc4faf650878ab4afd6268c593e2';
|
||||
|
||||
/// See also [GeckoInferenceRepository].
|
||||
@ProviderFor(GeckoInferenceRepository)
|
||||
|
||||
Reference in New Issue
Block a user