majro update

This commit is contained in:
Fabian Freund
2025-02-28 14:30:49 +01:00
parent a8957f6cf8
commit 3c4d479bd9
181 changed files with 7090 additions and 5299 deletions
@@ -13,14 +13,15 @@ String _$bottomSheetControllerHash() =>
@ProviderFor(BottomSheetController)
final bottomSheetControllerProvider =
AutoDisposeNotifierProvider<BottomSheetController, Sheet?>.internal(
BottomSheetController.new,
name: r'bottomSheetControllerProvider',
debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
? null
: _$bottomSheetControllerHash,
dependencies: null,
allTransitiveDependencies: null,
);
BottomSheetController.new,
name: r'bottomSheetControllerProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$bottomSheetControllerHash,
dependencies: null,
allTransitiveDependencies: null,
);
typedef _$BottomSheetController = AutoDisposeNotifier<Sheet?>;
String _$bottomSheetExtendHash() => r'7e11b9047c15bdeb4dfcb488a8573daadb64e25c';
@@ -29,14 +30,15 @@ String _$bottomSheetExtendHash() => r'7e11b9047c15bdeb4dfcb488a8573daadb64e25c';
@ProviderFor(BottomSheetExtend)
final bottomSheetExtendProvider =
StreamNotifierProvider<BottomSheetExtend, double>.internal(
BottomSheetExtend.new,
name: r'bottomSheetExtendProvider',
debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
? null
: _$bottomSheetExtendHash,
dependencies: null,
allTransitiveDependencies: null,
);
BottomSheetExtend.new,
name: r'bottomSheetExtendProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$bottomSheetExtendHash,
dependencies: null,
allTransitiveDependencies: null,
);
typedef _$BottomSheetExtend = StreamNotifier<double>;
// ignore_for_file: type=lint
@@ -12,14 +12,15 @@ String _$overlayControllerHash() => r'b6dc3ca17611c4efadc7e8248d493cd3c7061e01';
@ProviderFor(OverlayController)
final overlayControllerProvider =
AutoDisposeNotifierProvider<OverlayController, Widget?>.internal(
OverlayController.new,
name: r'overlayControllerProvider',
debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
? null
: _$overlayControllerHash,
dependencies: null,
allTransitiveDependencies: null,
);
OverlayController.new,
name: r'overlayControllerProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$overlayControllerHash,
dependencies: null,
allTransitiveDependencies: null,
);
typedef _$OverlayController = AutoDisposeNotifier<Widget?>;
// ignore_for_file: type=lint
@@ -106,7 +106,6 @@ class _$TabStateCWProxyImpl implements _$TabStateCWProxy {
this(findResultState: findResultState);
@override
/// This function **does support** nullification of nullable fields. All `null` values passed to `non-nullable` fields will be ignored. You can also use `TabState(...).copyWith.fieldName(...)` to override fields one at a time with nullification support.
///
/// Usage
@@ -130,58 +129,71 @@ class _$TabStateCWProxyImpl implements _$TabStateCWProxy {
}) {
return TabState(
id: _value.id,
contextId: contextId == const $CopyWithPlaceholder()
? _value.contextId
// ignore: cast_nullable_to_non_nullable
: contextId as String?,
url: url == const $CopyWithPlaceholder()
? _value.url
// ignore: cast_nullable_to_non_nullable
: url as Uri,
title: title == const $CopyWithPlaceholder()
? _value.title
// ignore: cast_nullable_to_non_nullable
: title as String,
icon: icon == const $CopyWithPlaceholder()
? _value.icon
// ignore: cast_nullable_to_non_nullable
: icon as EquatableImage?,
thumbnail: thumbnail == const $CopyWithPlaceholder()
? _value.thumbnail
// ignore: cast_nullable_to_non_nullable
: thumbnail as EquatableImage?,
progress: progress == const $CopyWithPlaceholder()
? _value.progress
// ignore: cast_nullable_to_non_nullable
: progress as int,
isPrivate: isPrivate == const $CopyWithPlaceholder()
? _value.isPrivate
// ignore: cast_nullable_to_non_nullable
: isPrivate as bool,
isFullScreen: isFullScreen == const $CopyWithPlaceholder()
? _value.isFullScreen
// ignore: cast_nullable_to_non_nullable
: isFullScreen as bool,
isLoading: isLoading == const $CopyWithPlaceholder()
? _value.isLoading
// ignore: cast_nullable_to_non_nullable
: isLoading as bool,
securityInfoState: securityInfoState == const $CopyWithPlaceholder()
? _value.securityInfoState
// ignore: cast_nullable_to_non_nullable
: securityInfoState as SecurityState,
historyState: historyState == const $CopyWithPlaceholder()
? _value.historyState
// ignore: cast_nullable_to_non_nullable
: historyState as HistoryState,
readerableState: readerableState == const $CopyWithPlaceholder()
? _value.readerableState
// ignore: cast_nullable_to_non_nullable
: readerableState as ReaderableState,
findResultState: findResultState == const $CopyWithPlaceholder()
? _value.findResultState
// ignore: cast_nullable_to_non_nullable
: findResultState as FindResultState,
contextId:
contextId == const $CopyWithPlaceholder()
? _value.contextId
// ignore: cast_nullable_to_non_nullable
: contextId as String?,
url:
url == const $CopyWithPlaceholder()
? _value.url
// ignore: cast_nullable_to_non_nullable
: url as Uri,
title:
title == const $CopyWithPlaceholder()
? _value.title
// ignore: cast_nullable_to_non_nullable
: title as String,
icon:
icon == const $CopyWithPlaceholder()
? _value.icon
// ignore: cast_nullable_to_non_nullable
: icon as EquatableImage?,
thumbnail:
thumbnail == const $CopyWithPlaceholder()
? _value.thumbnail
// ignore: cast_nullable_to_non_nullable
: thumbnail as EquatableImage?,
progress:
progress == const $CopyWithPlaceholder()
? _value.progress
// ignore: cast_nullable_to_non_nullable
: progress as int,
isPrivate:
isPrivate == const $CopyWithPlaceholder()
? _value.isPrivate
// ignore: cast_nullable_to_non_nullable
: isPrivate as bool,
isFullScreen:
isFullScreen == const $CopyWithPlaceholder()
? _value.isFullScreen
// ignore: cast_nullable_to_non_nullable
: isFullScreen as bool,
isLoading:
isLoading == const $CopyWithPlaceholder()
? _value.isLoading
// ignore: cast_nullable_to_non_nullable
: isLoading as bool,
securityInfoState:
securityInfoState == const $CopyWithPlaceholder()
? _value.securityInfoState
// ignore: cast_nullable_to_non_nullable
: securityInfoState as SecurityState,
historyState:
historyState == const $CopyWithPlaceholder()
? _value.historyState
// ignore: cast_nullable_to_non_nullable
: historyState as HistoryState,
readerableState:
readerableState == const $CopyWithPlaceholder()
? _value.readerableState
// ignore: cast_nullable_to_non_nullable
: readerableState as ReaderableState,
findResultState:
findResultState == const $CopyWithPlaceholder()
? _value.findResultState
// ignore: cast_nullable_to_non_nullable
: findResultState as FindResultState,
);
}
}
@@ -69,7 +69,6 @@ class _$WebExtensionStateCWProxyImpl implements _$WebExtensionStateCWProxy {
WebExtensionState icon(EquatableImage? icon) => this(icon: icon);
@override
/// This function **does support** nullification of nullable fields. All `null` values passed to `non-nullable` fields will be ignored. You can also use `WebExtensionState(...).copyWith.fieldName(...)` to override fields one at a time with nullification support.
///
/// Usage
@@ -86,34 +85,41 @@ class _$WebExtensionStateCWProxyImpl implements _$WebExtensionStateCWProxy {
Object? icon = const $CopyWithPlaceholder(),
}) {
return WebExtensionState(
extensionId: extensionId == const $CopyWithPlaceholder()
? _value.extensionId
// ignore: cast_nullable_to_non_nullable
: extensionId as String,
enabled: enabled == const $CopyWithPlaceholder()
? _value.enabled
// ignore: cast_nullable_to_non_nullable
: enabled as bool,
title: title == const $CopyWithPlaceholder()
? _value.title
// ignore: cast_nullable_to_non_nullable
: title as String?,
badgeText: badgeText == const $CopyWithPlaceholder()
? _value.badgeText
// ignore: cast_nullable_to_non_nullable
: badgeText as String?,
badgeTextColor: badgeTextColor == const $CopyWithPlaceholder()
? _value.badgeTextColor
// ignore: cast_nullable_to_non_nullable
: badgeTextColor as Color?,
badgeBackgroundColor: badgeBackgroundColor == const $CopyWithPlaceholder()
? _value.badgeBackgroundColor
// ignore: cast_nullable_to_non_nullable
: badgeBackgroundColor as Color?,
icon: icon == const $CopyWithPlaceholder()
? _value.icon
// ignore: cast_nullable_to_non_nullable
: icon as EquatableImage?,
extensionId:
extensionId == const $CopyWithPlaceholder()
? _value.extensionId
// ignore: cast_nullable_to_non_nullable
: extensionId as String,
enabled:
enabled == const $CopyWithPlaceholder()
? _value.enabled
// ignore: cast_nullable_to_non_nullable
: enabled as bool,
title:
title == const $CopyWithPlaceholder()
? _value.title
// ignore: cast_nullable_to_non_nullable
: title as String?,
badgeText:
badgeText == const $CopyWithPlaceholder()
? _value.badgeText
// ignore: cast_nullable_to_non_nullable
: badgeText as String?,
badgeTextColor:
badgeTextColor == const $CopyWithPlaceholder()
? _value.badgeTextColor
// ignore: cast_nullable_to_non_nullable
: badgeTextColor as Color?,
badgeBackgroundColor:
badgeBackgroundColor == const $CopyWithPlaceholder()
? _value.badgeBackgroundColor
// ignore: cast_nullable_to_non_nullable
: badgeBackgroundColor as Color?,
icon:
icon == const $CopyWithPlaceholder()
? _value.icon
// ignore: cast_nullable_to_non_nullable
: icon as EquatableImage?,
);
}
}
@@ -3,6 +3,7 @@ import 'dart:async';
import 'package:flutter_mozilla_components/flutter_mozilla_components.dart';
import 'package:lensai/core/logger.dart';
import 'package:lensai/features/bangs/domain/providers/bangs.dart';
import 'package:lensai/features/geckoview/domain/providers/selected_tab.dart';
import 'package:lensai/features/geckoview/domain/repositories/tab.dart';
import 'package:riverpod/riverpod.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
@@ -23,26 +24,31 @@ GeckoSelectionActionService selectionActionService(Ref ref) {
);
if (defaultSearchBang != null) {
await ref
.read(tabRepositoryProvider.notifier)
.addTab(url: defaultSearchBang.getUrl(text));
} else {
logger.e('No default search bang found');
}
}),
PrivateSearchAction((text) async {
final defaultSearchBang = await ref.read(
defaultSearchBangDataProvider.future,
);
final currentTabId = ref.read(selectedTabProvider);
if (defaultSearchBang != null) {
await ref
.read(tabRepositoryProvider.notifier)
.addTab(url: defaultSearchBang.getUrl(text), private: true);
.addTab(
url: defaultSearchBang.getUrl(text),
parentId: currentTabId,
);
} else {
logger.e('No default search bang found');
}
}),
// PrivateSearchAction((text) async {
// final defaultSearchBang = await ref.read(
// defaultSearchBangDataProvider.future,
// );
// if (defaultSearchBang != null) {
// await ref
// .read(tabRepositoryProvider.notifier)
// .addTab(url: defaultSearchBang.getUrl(text), private: true);
// } else {
// logger.e('No default search bang found');
// }
// }),
ShareAction((text) async {
await Share.share(text);
}),
@@ -7,20 +7,21 @@ part of 'providers.dart';
// **************************************************************************
String _$selectionActionServiceHash() =>
r'd0c04262171976c21441297706273417e3d79b67';
r'8d0af53213bdb924bcf5f8df6ceec6c81a345345';
/// See also [selectionActionService].
@ProviderFor(selectionActionService)
final selectionActionServiceProvider =
Provider<GeckoSelectionActionService>.internal(
selectionActionService,
name: r'selectionActionServiceProvider',
debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
? null
: _$selectionActionServiceHash,
dependencies: null,
allTransitiveDependencies: null,
);
selectionActionService,
name: r'selectionActionServiceProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$selectionActionServiceHash,
dependencies: null,
allTransitiveDependencies: null,
);
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
@@ -64,9 +65,10 @@ String _$tabContentServiceHash() => r'd9a991add907ecc138c62790883e59d8e9aa9266';
final tabContentServiceProvider = Provider<GeckoTabContentService>.internal(
tabContentService,
name: r'tabContentServiceProvider',
debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
? null
: _$tabContentServiceHash,
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$tabContentServiceHash,
dependencies: null,
allTransitiveDependencies: null,
);
@@ -81,14 +83,15 @@ String _$engineSuggestionsServiceHash() =>
@ProviderFor(engineSuggestionsService)
final engineSuggestionsServiceProvider =
Provider<GeckoSuggestionsService>.internal(
engineSuggestionsService,
name: r'engineSuggestionsServiceProvider',
debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
? null
: _$engineSuggestionsServiceHash,
dependencies: null,
allTransitiveDependencies: null,
);
engineSuggestionsService,
name: r'engineSuggestionsServiceProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$engineSuggestionsServiceHash,
dependencies: null,
allTransitiveDependencies: null,
);
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
@@ -99,14 +102,15 @@ String _$engineReadyStateHash() => r'c682333e2e07cf0635aa7ae793a2088ca648c950';
@ProviderFor(EngineReadyState)
final engineReadyStateProvider =
NotifierProvider<EngineReadyState, bool>.internal(
EngineReadyState.new,
name: r'engineReadyStateProvider',
debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
? null
: _$engineReadyStateHash,
dependencies: null,
allTransitiveDependencies: null,
);
EngineReadyState.new,
name: r'engineReadyStateProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$engineReadyStateHash,
dependencies: null,
allTransitiveDependencies: null,
);
typedef _$EngineReadyState = Notifier<bool>;
// ignore_for_file: type=lint
@@ -21,7 +21,7 @@ class SelectedTab extends _$SelectedTab {
}
});
final selectedTabSub = eventSerivce.selectedTabEvents.listen((tabId) async {
final selectedTabSub = eventSerivce.selectedTabEvents.listen((tabId) {
state = tabId;
});
@@ -6,7 +6,7 @@ part of 'selected_tab.dart';
// RiverpodGenerator
// **************************************************************************
String _$selectedTabHash() => r'f550ac5b471bab8f8e5d75ef4d7669cde769db9a';
String _$selectedTabHash() => r'250f54fe9a56d14876e0979e5370eb76879da11c';
/// See also [SelectedTab].
@ProviderFor(SelectedTab)
@@ -22,7 +22,7 @@ class TabList extends _$TabList {
}
});
final tabListSub = eventService.tabListEvents.listen((tabs) async {
final tabListSub = eventService.tabListEvents.listen((tabs) {
final equatableTabs = EquatableCollection(tabs, immutable: true);
if (equatableTabs != state) {
@@ -6,19 +6,19 @@ part of 'tab_list.dart';
// RiverpodGenerator
// **************************************************************************
String _$tabListHash() => r'bb8b6cca42a8aace8bd9808fdeac4fe4965ac867';
String _$tabListHash() => r'cdcbfd9c12e06f350d8284d48c81826b3aa57b6d';
/// See also [TabList].
@ProviderFor(TabList)
final tabListProvider =
NotifierProvider<TabList, EquatableCollection<List<String>>>.internal(
TabList.new,
name: r'tabListProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product') ? null : _$tabListHash,
dependencies: null,
allTransitiveDependencies: null,
);
TabList.new,
name: r'tabListProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product') ? null : _$tabListHash,
dependencies: null,
allTransitiveDependencies: null,
);
typedef _$TabList = Notifier<EquatableCollection<List<String>>>;
// ignore_for_file: type=lint
@@ -13,14 +13,15 @@ String _$selectedTabSessionNotifierHash() =>
@ProviderFor(selectedTabSessionNotifier)
final selectedTabSessionNotifierProvider =
AutoDisposeProvider<Raw<TabSession>>.internal(
selectedTabSessionNotifier,
name: r'selectedTabSessionNotifierProvider',
debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
? null
: _$selectedTabSessionNotifierHash,
dependencies: null,
allTransitiveDependencies: null,
);
selectedTabSessionNotifier,
name: r'selectedTabSessionNotifierProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$selectedTabSessionNotifierHash,
dependencies: null,
allTransitiveDependencies: null,
);
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
@@ -51,9 +52,7 @@ class _SystemHash {
abstract class _$TabSession extends BuildlessAutoDisposeNotifier<void> {
late final String? tabId;
void build({
required String? tabId,
});
void build({required String? tabId});
}
/// See also [TabSession].
@@ -66,21 +65,15 @@ class TabSessionFamily extends Family<void> {
const TabSessionFamily();
/// See also [TabSession].
TabSessionProvider call({
required String? tabId,
}) {
return TabSessionProvider(
tabId: tabId,
);
TabSessionProvider call({required String? tabId}) {
return TabSessionProvider(tabId: tabId);
}
@override
TabSessionProvider getProviderOverride(
covariant TabSessionProvider provider,
) {
return call(
tabId: provider.tabId,
);
return call(tabId: provider.tabId);
}
static const Iterable<ProviderOrFamily>? _dependencies = null;
@@ -102,21 +95,19 @@ class TabSessionFamily extends Family<void> {
class TabSessionProvider
extends AutoDisposeNotifierProviderImpl<TabSession, void> {
/// See also [TabSession].
TabSessionProvider({
required String? tabId,
}) : this._internal(
() => TabSession()..tabId = tabId,
from: tabSessionProvider,
name: r'tabSessionProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$tabSessionHash,
dependencies: TabSessionFamily._dependencies,
allTransitiveDependencies:
TabSessionFamily._allTransitiveDependencies,
tabId: tabId,
);
TabSessionProvider({required String? tabId})
: this._internal(
() => TabSession()..tabId = tabId,
from: tabSessionProvider,
name: r'tabSessionProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$tabSessionHash,
dependencies: TabSessionFamily._dependencies,
allTransitiveDependencies: TabSessionFamily._allTransitiveDependencies,
tabId: tabId,
);
TabSessionProvider._internal(
super._createNotifier, {
@@ -131,12 +122,8 @@ class TabSessionProvider
final String? tabId;
@override
void runNotifierBuild(
covariant TabSession notifier,
) {
return notifier.build(
tabId: tabId,
);
void runNotifierBuild(covariant TabSession notifier) {
return notifier.build(tabId: tabId);
}
@override
@@ -189,5 +176,6 @@ class _TabSessionProviderElement
@override
String? get tabId => (origin as TabSessionProvider).tabId;
}
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package
@@ -126,7 +126,7 @@ class TabStates extends _$TabStates {
final eventService = ref.watch(eventServiceProvider);
final subscriptions = [
eventService.tabContentEvents.listen((event) async {
eventService.tabContentEvents.listen((event) {
_onTabContentStateChange(event);
}),
eventService.iconChangeEvents.listen((event) async {
@@ -135,16 +135,16 @@ class TabStates extends _$TabStates {
eventService.thumbnailEvents.listen((event) async {
await _onThumbnailChange(event);
}),
eventService.securityInfoEvents.listen((event) async {
eventService.securityInfoEvents.listen((event) {
_onSecurityInfoStateChange(event);
}),
eventService.historyEvents.listen((event) async {
eventService.historyEvents.listen((event) {
_onHistoryStateChange(event);
}),
eventService.readerableEvents.listen((event) async {
eventService.readerableEvents.listen((event) {
_onReaderableStateChange(event);
}),
eventService.findResultsEvent.listen((event) async {
eventService.findResultsEvent.listen((event) {
_onFindResultsChange(event);
}),
];
@@ -39,21 +39,13 @@ class TabStateFamily extends Family<TabState?> {
const TabStateFamily();
/// See also [tabState].
TabStateProvider call(
String? tabId,
) {
return TabStateProvider(
tabId,
);
TabStateProvider call(String? tabId) {
return TabStateProvider(tabId);
}
@override
TabStateProvider getProviderOverride(
covariant TabStateProvider provider,
) {
return call(
provider.tabId,
);
TabStateProvider getProviderOverride(covariant TabStateProvider provider) {
return call(provider.tabId);
}
static const Iterable<ProviderOrFamily>? _dependencies = null;
@@ -74,23 +66,19 @@ class TabStateFamily extends Family<TabState?> {
/// See also [tabState].
class TabStateProvider extends AutoDisposeProvider<TabState?> {
/// See also [tabState].
TabStateProvider(
String? tabId,
) : this._internal(
(ref) => tabState(
ref as TabStateRef,
tabId,
),
from: tabStateProvider,
name: r'tabStateProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$tabStateHash,
dependencies: TabStateFamily._dependencies,
allTransitiveDependencies: TabStateFamily._allTransitiveDependencies,
tabId: tabId,
);
TabStateProvider(String? tabId)
: this._internal(
(ref) => tabState(ref as TabStateRef, tabId),
from: tabStateProvider,
name: r'tabStateProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$tabStateHash,
dependencies: TabStateFamily._dependencies,
allTransitiveDependencies: TabStateFamily._allTransitiveDependencies,
tabId: tabId,
);
TabStateProvider._internal(
super._createNotifier, {
@@ -105,9 +93,7 @@ class TabStateProvider extends AutoDisposeProvider<TabState?> {
final String? tabId;
@override
Override overrideWith(
TabState? Function(TabStateRef provider) create,
) {
Override overrideWith(TabState? Function(TabStateRef provider) create) {
return ProviderOverride(
origin: this,
override: TabStateProvider._internal(
@@ -163,9 +149,10 @@ String _$selectedTabStateHash() => r'dbd36af7af286bd9d079f30e8e11bbda23bf7728';
final selectedTabStateProvider = AutoDisposeProvider<TabState?>.internal(
selectedTabState,
name: r'selectedTabStateProvider',
debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
? null
: _$selectedTabStateHash,
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$selectedTabStateHash,
dependencies: null,
allTransitiveDependencies: null,
);
@@ -173,19 +160,21 @@ final selectedTabStateProvider = AutoDisposeProvider<TabState?>.internal(
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
typedef SelectedTabStateRef = AutoDisposeProviderRef<TabState?>;
String _$tabStatesHash() => r'2f4af9df4d648f7fb940f02e14f4a6762bb21d8a';
String _$tabStatesHash() => r'b136dbf6d68b67f0fe0db302a4147b67789db853';
/// See also [TabStates].
@ProviderFor(TabStates)
final tabStatesProvider =
NotifierProvider<TabStates, Map<String, TabState>>.internal(
TabStates.new,
name: r'tabStatesProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product') ? null : _$tabStatesHash,
dependencies: null,
allTransitiveDependencies: null,
);
TabStates.new,
name: r'tabStatesProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$tabStatesHash,
dependencies: null,
allTransitiveDependencies: null,
);
typedef _$TabStates = Notifier<Map<String, TabState>>;
// ignore_for_file: type=lint
@@ -69,7 +69,7 @@ class WebExtensionsState extends _$WebExtensionsState {
final subscriptions = switch (actionType) {
WebExtensionActionType.browser => [
addonService.browserExtensionStream.listen((event) async {
addonService.browserExtensionStream.listen((event) {
_onExtensionUpdate(event);
}),
addonService.browserIconStream.listen((event) async {
@@ -77,7 +77,7 @@ class WebExtensionsState extends _$WebExtensionsState {
}),
],
WebExtensionActionType.page => [
addonService.pageExtensionStream.listen((event) async {
addonService.pageExtensionStream.listen((event) {
_onExtensionUpdate(event);
}),
addonService.pageIconStream.listen((event) async {
@@ -7,7 +7,7 @@ part of 'web_extensions_state.dart';
// **************************************************************************
String _$webExtensionsStateHash() =>
r'9382461e7e72c31946a5308642baaac307977a15';
r'eab924e9c17e805a3c29065289be5d1c8ffe3bc9';
/// Copied from Dart SDK
class _SystemHash {
@@ -34,9 +34,7 @@ abstract class _$WebExtensionsState
extends BuildlessNotifier<Map<String, WebExtensionState>> {
late final WebExtensionActionType actionType;
Map<String, WebExtensionState> build(
WebExtensionActionType actionType,
);
Map<String, WebExtensionState> build(WebExtensionActionType actionType);
}
/// See also [WebExtensionsState].
@@ -49,21 +47,15 @@ class WebExtensionsStateFamily extends Family<Map<String, WebExtensionState>> {
const WebExtensionsStateFamily();
/// See also [WebExtensionsState].
WebExtensionsStateProvider call(
WebExtensionActionType actionType,
) {
return WebExtensionsStateProvider(
actionType,
);
WebExtensionsStateProvider call(WebExtensionActionType actionType) {
return WebExtensionsStateProvider(actionType);
}
@override
WebExtensionsStateProvider getProviderOverride(
covariant WebExtensionsStateProvider provider,
) {
return call(
provider.actionType,
);
return call(provider.actionType);
}
static const Iterable<ProviderOrFamily>? _dependencies = null;
@@ -82,24 +74,27 @@ class WebExtensionsStateFamily extends Family<Map<String, WebExtensionState>> {
}
/// See also [WebExtensionsState].
class WebExtensionsStateProvider extends NotifierProviderImpl<
WebExtensionsState, Map<String, WebExtensionState>> {
class WebExtensionsStateProvider
extends
NotifierProviderImpl<
WebExtensionsState,
Map<String, WebExtensionState>
> {
/// See also [WebExtensionsState].
WebExtensionsStateProvider(
WebExtensionActionType actionType,
) : this._internal(
() => WebExtensionsState()..actionType = actionType,
from: webExtensionsStateProvider,
name: r'webExtensionsStateProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$webExtensionsStateHash,
dependencies: WebExtensionsStateFamily._dependencies,
allTransitiveDependencies:
WebExtensionsStateFamily._allTransitiveDependencies,
actionType: actionType,
);
WebExtensionsStateProvider(WebExtensionActionType actionType)
: this._internal(
() => WebExtensionsState()..actionType = actionType,
from: webExtensionsStateProvider,
name: r'webExtensionsStateProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$webExtensionsStateHash,
dependencies: WebExtensionsStateFamily._dependencies,
allTransitiveDependencies:
WebExtensionsStateFamily._allTransitiveDependencies,
actionType: actionType,
);
WebExtensionsStateProvider._internal(
super._createNotifier, {
@@ -117,9 +112,7 @@ class WebExtensionsStateProvider extends NotifierProviderImpl<
Map<String, WebExtensionState> runNotifierBuild(
covariant WebExtensionsState notifier,
) {
return notifier.build(
actionType,
);
return notifier.build(actionType);
}
@override
@@ -140,7 +133,7 @@ class WebExtensionsStateProvider extends NotifierProviderImpl<
@override
NotifierProviderElement<WebExtensionsState, Map<String, WebExtensionState>>
createElement() {
createElement() {
return _WebExtensionsStateProviderElement(this);
}
@@ -167,14 +160,19 @@ mixin WebExtensionsStateRef
WebExtensionActionType get actionType;
}
class _WebExtensionsStateProviderElement extends NotifierProviderElement<
WebExtensionsState,
Map<String, WebExtensionState>> with WebExtensionsStateRef {
class _WebExtensionsStateProviderElement
extends
NotifierProviderElement<
WebExtensionsState,
Map<String, WebExtensionState>
>
with WebExtensionsStateRef {
_WebExtensionsStateProviderElement(super.provider);
@override
WebExtensionActionType get actionType =>
(origin as WebExtensionsStateProvider).actionType;
}
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package
@@ -140,7 +140,7 @@ class TabRepository extends _$TabRepository {
final tabStateDebouncer = Debouncer(const Duration(seconds: 3));
Map<String, TabState>? debounceStartValue;
ref.listen(tabStatesProvider, (previous, next) async {
ref.listen(tabStatesProvider, (previous, next) {
//Since state changes occure pretty often and our map always contains
//the latest state, we cache the value before starting debouncing and
//later diff to that, to avoid frequent database writes
@@ -6,16 +6,17 @@ part of 'tab.dart';
// RiverpodGenerator
// **************************************************************************
String _$tabRepositoryHash() => r'f7d6584d9d6a320ebe4964dd5dc80bda987c40c2';
String _$tabRepositoryHash() => r'e6f9d58982f3bbe389e3a3299bb498c6e8e101eb';
/// See also [TabRepository].
@ProviderFor(TabRepository)
final tabRepositoryProvider = NotifierProvider<TabRepository, void>.internal(
TabRepository.new,
name: r'tabRepositoryProvider',
debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
? null
: _$tabRepositoryHash,
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$tabRepositoryHash,
dependencies: null,
allTransitiveDependencies: null,
);
@@ -7,7 +7,7 @@ final class ViewTabsSheet extends Sheet {
bool get cacheHash => true;
@override
List<Object?> get hashParameters => [];
List<Object?> get hashParameters => [null];
}
final class TabQaChatSheet extends Sheet {
@@ -1,7 +1,6 @@
import 'dart:async';
import 'package:lensai/domain/entities/equatable_iterable.dart';
import 'package:lensai/extensions/nullable.dart';
import 'package:lensai/features/bangs/data/models/bang_data.dart';
import 'package:lensai/features/bangs/domain/repositories/data.dart';
import 'package:lensai/features/geckoview/domain/entities/states/tab.dart';
@@ -184,9 +183,7 @@ EquatableCollection<List<TabPreview>> seamlessFilteredTabPreviews(
id: tab.id,
title: tab.title ?? availableTabStates.collection[tab.id]!.title,
icon: null,
url:
tab.cleanUrl.mapNotNull(Uri.tryParse) ??
availableTabStates.collection[tab.id]!.url,
url: tab.cleanUrl ?? availableTabStates.collection[tab.id]!.url,
highlightedUrl: tab.url,
content: tab.extractedContent ?? tab.fullContent,
);
@@ -39,21 +39,15 @@ class AvailableTabIdsFamily extends Family<EquatableCollection<List<String>>> {
const AvailableTabIdsFamily();
/// See also [availableTabIds].
AvailableTabIdsProvider call(
ContainerFilter containerFilter,
) {
return AvailableTabIdsProvider(
containerFilter,
);
AvailableTabIdsProvider call(ContainerFilter containerFilter) {
return AvailableTabIdsProvider(containerFilter);
}
@override
AvailableTabIdsProvider getProviderOverride(
covariant AvailableTabIdsProvider provider,
) {
return call(
provider.containerFilter,
);
return call(provider.containerFilter);
}
static const Iterable<ProviderOrFamily>? _dependencies = null;
@@ -75,24 +69,20 @@ class AvailableTabIdsFamily extends Family<EquatableCollection<List<String>>> {
class AvailableTabIdsProvider
extends AutoDisposeProvider<EquatableCollection<List<String>>> {
/// See also [availableTabIds].
AvailableTabIdsProvider(
ContainerFilter containerFilter,
) : this._internal(
(ref) => availableTabIds(
ref as AvailableTabIdsRef,
containerFilter,
),
from: availableTabIdsProvider,
name: r'availableTabIdsProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$availableTabIdsHash,
dependencies: AvailableTabIdsFamily._dependencies,
allTransitiveDependencies:
AvailableTabIdsFamily._allTransitiveDependencies,
containerFilter: containerFilter,
);
AvailableTabIdsProvider(ContainerFilter containerFilter)
: this._internal(
(ref) => availableTabIds(ref as AvailableTabIdsRef, containerFilter),
from: availableTabIdsProvider,
name: r'availableTabIdsProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$availableTabIdsHash,
dependencies: AvailableTabIdsFamily._dependencies,
allTransitiveDependencies:
AvailableTabIdsFamily._allTransitiveDependencies,
containerFilter: containerFilter,
);
AvailableTabIdsProvider._internal(
super._createNotifier, {
@@ -109,7 +99,7 @@ class AvailableTabIdsProvider
@override
Override overrideWith(
EquatableCollection<List<String>> Function(AvailableTabIdsRef provider)
create,
create,
) {
return ProviderOverride(
origin: this,
@@ -127,7 +117,7 @@ class AvailableTabIdsProvider
@override
AutoDisposeProviderElement<EquatableCollection<List<String>>>
createElement() {
createElement() {
return _AvailableTabIdsProviderElement(this);
}
@@ -178,21 +168,15 @@ class AvailableTabStatesFamily
const AvailableTabStatesFamily();
/// See also [availableTabStates].
AvailableTabStatesProvider call(
ContainerFilter containerFilter,
) {
return AvailableTabStatesProvider(
containerFilter,
);
AvailableTabStatesProvider call(ContainerFilter containerFilter) {
return AvailableTabStatesProvider(containerFilter);
}
@override
AvailableTabStatesProvider getProviderOverride(
covariant AvailableTabStatesProvider provider,
) {
return call(
provider.containerFilter,
);
return call(provider.containerFilter);
}
static const Iterable<ProviderOrFamily>? _dependencies = null;
@@ -214,24 +198,21 @@ class AvailableTabStatesFamily
class AvailableTabStatesProvider
extends AutoDisposeProvider<EquatableCollection<Map<String, TabState>>> {
/// See also [availableTabStates].
AvailableTabStatesProvider(
ContainerFilter containerFilter,
) : this._internal(
(ref) => availableTabStates(
ref as AvailableTabStatesRef,
containerFilter,
),
from: availableTabStatesProvider,
name: r'availableTabStatesProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$availableTabStatesHash,
dependencies: AvailableTabStatesFamily._dependencies,
allTransitiveDependencies:
AvailableTabStatesFamily._allTransitiveDependencies,
containerFilter: containerFilter,
);
AvailableTabStatesProvider(ContainerFilter containerFilter)
: this._internal(
(ref) =>
availableTabStates(ref as AvailableTabStatesRef, containerFilter),
from: availableTabStatesProvider,
name: r'availableTabStatesProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$availableTabStatesHash,
dependencies: AvailableTabStatesFamily._dependencies,
allTransitiveDependencies:
AvailableTabStatesFamily._allTransitiveDependencies,
containerFilter: containerFilter,
);
AvailableTabStatesProvider._internal(
super._createNotifier, {
@@ -248,8 +229,9 @@ class AvailableTabStatesProvider
@override
Override overrideWith(
EquatableCollection<Map<String, TabState>> Function(
AvailableTabStatesRef provider)
create,
AvailableTabStatesRef provider,
)
create,
) {
return ProviderOverride(
origin: this,
@@ -267,7 +249,7 @@ class AvailableTabStatesProvider
@override
AutoDisposeProviderElement<EquatableCollection<Map<String, TabState>>>
createElement() {
createElement() {
return _AvailableTabStatesProviderElement(this);
}
@@ -294,8 +276,10 @@ mixin AvailableTabStatesRef
ContainerFilter get containerFilter;
}
class _AvailableTabStatesProviderElement extends AutoDisposeProviderElement<
EquatableCollection<Map<String, TabState>>> with AvailableTabStatesRef {
class _AvailableTabStatesProviderElement
extends
AutoDisposeProviderElement<EquatableCollection<Map<String, TabState>>>
with AvailableTabStatesRef {
_AvailableTabStatesProviderElement(super.provider);
@override
@@ -321,20 +305,14 @@ class SeamlessFilteredTabIdsFamily
TabSearchPartition searchPartition,
ContainerFilter containerFilter,
) {
return SeamlessFilteredTabIdsProvider(
searchPartition,
containerFilter,
);
return SeamlessFilteredTabIdsProvider(searchPartition, containerFilter);
}
@override
SeamlessFilteredTabIdsProvider getProviderOverride(
covariant SeamlessFilteredTabIdsProvider provider,
) {
return call(
provider.searchPartition,
provider.containerFilter,
);
return call(provider.searchPartition, provider.containerFilter);
}
static const Iterable<ProviderOrFamily>? _dependencies = null;
@@ -360,23 +338,23 @@ class SeamlessFilteredTabIdsProvider
TabSearchPartition searchPartition,
ContainerFilter containerFilter,
) : this._internal(
(ref) => seamlessFilteredTabIds(
ref as SeamlessFilteredTabIdsRef,
searchPartition,
containerFilter,
),
from: seamlessFilteredTabIdsProvider,
name: r'seamlessFilteredTabIdsProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$seamlessFilteredTabIdsHash,
dependencies: SeamlessFilteredTabIdsFamily._dependencies,
allTransitiveDependencies:
SeamlessFilteredTabIdsFamily._allTransitiveDependencies,
searchPartition: searchPartition,
containerFilter: containerFilter,
);
(ref) => seamlessFilteredTabIds(
ref as SeamlessFilteredTabIdsRef,
searchPartition,
containerFilter,
),
from: seamlessFilteredTabIdsProvider,
name: r'seamlessFilteredTabIdsProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$seamlessFilteredTabIdsHash,
dependencies: SeamlessFilteredTabIdsFamily._dependencies,
allTransitiveDependencies:
SeamlessFilteredTabIdsFamily._allTransitiveDependencies,
searchPartition: searchPartition,
containerFilter: containerFilter,
);
SeamlessFilteredTabIdsProvider._internal(
super._createNotifier, {
@@ -395,8 +373,9 @@ class SeamlessFilteredTabIdsProvider
@override
Override overrideWith(
EquatableCollection<List<String>> Function(
SeamlessFilteredTabIdsRef provider)
create,
SeamlessFilteredTabIdsRef provider,
)
create,
) {
return ProviderOverride(
origin: this,
@@ -415,7 +394,7 @@ class SeamlessFilteredTabIdsProvider
@override
AutoDisposeProviderElement<EquatableCollection<List<String>>>
createElement() {
createElement() {
return _SeamlessFilteredTabIdsProviderElement(this);
}
@@ -461,7 +440,7 @@ class _SeamlessFilteredTabIdsProviderElement
}
String _$seamlessFilteredTabPreviewsHash() =>
r'7a70eb2f3f59de5188d94a73790e39c339a6293b';
r'6beefa943d298b81482276f12484e27346ff9907';
/// See also [seamlessFilteredTabPreviews].
@ProviderFor(seamlessFilteredTabPreviews)
@@ -488,10 +467,7 @@ class SeamlessFilteredTabPreviewsFamily
SeamlessFilteredTabPreviewsProvider getProviderOverride(
covariant SeamlessFilteredTabPreviewsProvider provider,
) {
return call(
provider.searchPartition,
provider.containerFilter,
);
return call(provider.searchPartition, provider.containerFilter);
}
static const Iterable<ProviderOrFamily>? _dependencies = null;
@@ -517,23 +493,23 @@ class SeamlessFilteredTabPreviewsProvider
TabSearchPartition searchPartition,
ContainerFilter containerFilter,
) : this._internal(
(ref) => seamlessFilteredTabPreviews(
ref as SeamlessFilteredTabPreviewsRef,
searchPartition,
containerFilter,
),
from: seamlessFilteredTabPreviewsProvider,
name: r'seamlessFilteredTabPreviewsProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$seamlessFilteredTabPreviewsHash,
dependencies: SeamlessFilteredTabPreviewsFamily._dependencies,
allTransitiveDependencies:
SeamlessFilteredTabPreviewsFamily._allTransitiveDependencies,
searchPartition: searchPartition,
containerFilter: containerFilter,
);
(ref) => seamlessFilteredTabPreviews(
ref as SeamlessFilteredTabPreviewsRef,
searchPartition,
containerFilter,
),
from: seamlessFilteredTabPreviewsProvider,
name: r'seamlessFilteredTabPreviewsProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$seamlessFilteredTabPreviewsHash,
dependencies: SeamlessFilteredTabPreviewsFamily._dependencies,
allTransitiveDependencies:
SeamlessFilteredTabPreviewsFamily._allTransitiveDependencies,
searchPartition: searchPartition,
containerFilter: containerFilter,
);
SeamlessFilteredTabPreviewsProvider._internal(
super._createNotifier, {
@@ -552,8 +528,9 @@ class SeamlessFilteredTabPreviewsProvider
@override
Override overrideWith(
EquatableCollection<List<TabPreview>> Function(
SeamlessFilteredTabPreviewsRef provider)
create,
SeamlessFilteredTabPreviewsRef provider,
)
create,
) {
return ProviderOverride(
origin: this,
@@ -572,7 +549,7 @@ class SeamlessFilteredTabPreviewsProvider
@override
AutoDisposeProviderElement<EquatableCollection<List<TabPreview>>>
createElement() {
createElement() {
return _SeamlessFilteredTabPreviewsProviderElement(this);
}
@@ -623,9 +600,7 @@ String _$selectedBangTriggerHash() =>
abstract class _$SelectedBangTrigger extends BuildlessNotifier<String?> {
late final String? domain;
String? build({
String? domain,
});
String? build({String? domain});
}
/// See also [SelectedBangTrigger].
@@ -638,21 +613,15 @@ class SelectedBangTriggerFamily extends Family<String?> {
const SelectedBangTriggerFamily();
/// See also [SelectedBangTrigger].
SelectedBangTriggerProvider call({
String? domain,
}) {
return SelectedBangTriggerProvider(
domain: domain,
);
SelectedBangTriggerProvider call({String? domain}) {
return SelectedBangTriggerProvider(domain: domain);
}
@override
SelectedBangTriggerProvider getProviderOverride(
covariant SelectedBangTriggerProvider provider,
) {
return call(
domain: provider.domain,
);
return call(domain: provider.domain);
}
static const Iterable<ProviderOrFamily>? _dependencies = null;
@@ -674,21 +643,20 @@ class SelectedBangTriggerFamily extends Family<String?> {
class SelectedBangTriggerProvider
extends NotifierProviderImpl<SelectedBangTrigger, String?> {
/// See also [SelectedBangTrigger].
SelectedBangTriggerProvider({
String? domain,
}) : this._internal(
() => SelectedBangTrigger()..domain = domain,
from: selectedBangTriggerProvider,
name: r'selectedBangTriggerProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$selectedBangTriggerHash,
dependencies: SelectedBangTriggerFamily._dependencies,
allTransitiveDependencies:
SelectedBangTriggerFamily._allTransitiveDependencies,
domain: domain,
);
SelectedBangTriggerProvider({String? domain})
: this._internal(
() => SelectedBangTrigger()..domain = domain,
from: selectedBangTriggerProvider,
name: r'selectedBangTriggerProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$selectedBangTriggerHash,
dependencies: SelectedBangTriggerFamily._dependencies,
allTransitiveDependencies:
SelectedBangTriggerFamily._allTransitiveDependencies,
domain: domain,
);
SelectedBangTriggerProvider._internal(
super._createNotifier, {
@@ -703,12 +671,8 @@ class SelectedBangTriggerProvider
final String? domain;
@override
String? runNotifierBuild(
covariant SelectedBangTrigger notifier,
) {
return notifier.build(
domain: domain,
);
String? runNotifierBuild(covariant SelectedBangTrigger notifier) {
return notifier.build(domain: domain);
}
@override
@@ -768,9 +732,7 @@ abstract class _$SelectedBangData
extends BuildlessAutoDisposeNotifier<BangData?> {
late final String? domain;
BangData? build({
String? domain,
});
BangData? build({String? domain});
}
/// See also [SelectedBangData].
@@ -783,21 +745,15 @@ class SelectedBangDataFamily extends Family<BangData?> {
const SelectedBangDataFamily();
/// See also [SelectedBangData].
SelectedBangDataProvider call({
String? domain,
}) {
return SelectedBangDataProvider(
domain: domain,
);
SelectedBangDataProvider call({String? domain}) {
return SelectedBangDataProvider(domain: domain);
}
@override
SelectedBangDataProvider getProviderOverride(
covariant SelectedBangDataProvider provider,
) {
return call(
domain: provider.domain,
);
return call(domain: provider.domain);
}
static const Iterable<ProviderOrFamily>? _dependencies = null;
@@ -819,21 +775,20 @@ class SelectedBangDataFamily extends Family<BangData?> {
class SelectedBangDataProvider
extends AutoDisposeNotifierProviderImpl<SelectedBangData, BangData?> {
/// See also [SelectedBangData].
SelectedBangDataProvider({
String? domain,
}) : this._internal(
() => SelectedBangData()..domain = domain,
from: selectedBangDataProvider,
name: r'selectedBangDataProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$selectedBangDataHash,
dependencies: SelectedBangDataFamily._dependencies,
allTransitiveDependencies:
SelectedBangDataFamily._allTransitiveDependencies,
domain: domain,
);
SelectedBangDataProvider({String? domain})
: this._internal(
() => SelectedBangData()..domain = domain,
from: selectedBangDataProvider,
name: r'selectedBangDataProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$selectedBangDataHash,
dependencies: SelectedBangDataFamily._dependencies,
allTransitiveDependencies:
SelectedBangDataFamily._allTransitiveDependencies,
domain: domain,
);
SelectedBangDataProvider._internal(
super._createNotifier, {
@@ -848,12 +803,8 @@ class SelectedBangDataProvider
final String? domain;
@override
BangData? runNotifierBuild(
covariant SelectedBangData notifier,
) {
return notifier.build(
domain: domain,
);
BangData? runNotifierBuild(covariant SelectedBangData notifier) {
return notifier.build(domain: domain);
}
@override
@@ -874,7 +825,7 @@ class SelectedBangDataProvider
@override
AutoDisposeNotifierProviderElement<SelectedBangData, BangData?>
createElement() {
createElement() {
return _SelectedBangDataProviderElement(this);
}
@@ -915,9 +866,10 @@ String _$showFindInPageHash() => r'7ee5703f7d0c7e8a8dd6b0849d7b1e0a41fe24d9';
final showFindInPageProvider = NotifierProvider<ShowFindInPage, bool>.internal(
ShowFindInPage.new,
name: r'showFindInPageProvider',
debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
? null
: _$showFindInPageHash,
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$showFindInPageHash,
dependencies: null,
allTransitiveDependencies: null,
);
@@ -12,13 +12,15 @@ String _$intentStreamHash() => r'e78268ec703cd0d1f08d41b9e10a487e6000b7da';
@ProviderFor(IntentStream)
final intentStreamProvider =
AutoDisposeStreamNotifierProvider<IntentStream, SharedContent>.internal(
IntentStream.new,
name: r'intentStreamProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product') ? null : _$intentStreamHash,
dependencies: null,
allTransitiveDependencies: null,
);
IntentStream.new,
name: r'intentStreamProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$intentStreamHash,
dependencies: null,
allTransitiveDependencies: null,
);
typedef _$IntentStream = AutoDisposeStreamNotifier<SharedContent>;
// ignore_for_file: type=lint
@@ -13,14 +13,15 @@ String _$browserDataServiceHash() =>
@ProviderFor(BrowserDataService)
final browserDataServiceProvider =
AutoDisposeNotifierProvider<BrowserDataService, void>.internal(
BrowserDataService.new,
name: r'browserDataServiceProvider',
debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
? null
: _$browserDataServiceHash,
dependencies: null,
allTransitiveDependencies: null,
);
BrowserDataService.new,
name: r'browserDataServiceProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$browserDataServiceHash,
dependencies: null,
allTransitiveDependencies: null,
);
typedef _$BrowserDataService = AutoDisposeNotifier<void>;
// ignore_for_file: type=lint
@@ -13,14 +13,15 @@ String _$engineSettingsReplicationServiceHash() =>
@ProviderFor(EngineSettingsReplicationService)
final engineSettingsReplicationServiceProvider =
NotifierProvider<EngineSettingsReplicationService, void>.internal(
EngineSettingsReplicationService.new,
name: r'engineSettingsReplicationServiceProvider',
debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
? null
: _$engineSettingsReplicationServiceHash,
dependencies: null,
allTransitiveDependencies: null,
);
EngineSettingsReplicationService.new,
name: r'engineSettingsReplicationServiceProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$engineSettingsReplicationServiceHash,
dependencies: null,
allTransitiveDependencies: null,
);
typedef _$EngineSettingsReplicationService = Notifier<void>;
// ignore_for_file: type=lint
@@ -13,14 +13,15 @@ String _$proxySettingsReplucationHash() =>
@ProviderFor(ProxySettingsReplucation)
final proxySettingsReplucationProvider =
NotifierProvider<ProxySettingsReplucation, void>.internal(
ProxySettingsReplucation.new,
name: r'proxySettingsReplucationProvider',
debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
? null
: _$proxySettingsReplucationHash,
dependencies: null,
allTransitiveDependencies: null,
);
ProxySettingsReplucation.new,
name: r'proxySettingsReplucationProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$proxySettingsReplucationHash,
dependencies: null,
allTransitiveDependencies: null,
);
typedef _$ProxySettingsReplucation = Notifier<void>;
// ignore_for_file: type=lint
@@ -7,7 +7,6 @@ import 'package:flutter_material_design_icons/flutter_material_design_icons.dart
import 'package:go_router/go_router.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:lensai/data/models/web_page_info.dart';
import 'package:lensai/features/bangs/data/models/bang_data.dart';
import 'package:lensai/features/bangs/domain/providers/bangs.dart';
import 'package:lensai/features/bangs/presentation/widgets/site_search.dart';
import 'package:lensai/features/chat/features/chat_store/data/models/chat_metadata.dart';
@@ -20,6 +19,7 @@ import 'package:lensai/features/geckoview/features/browser/domain/entities/sheet
import 'package:lensai/features/geckoview/features/browser/presentation/widgets/browser_modules/address_with_suggestions_field.dart';
import 'package:lensai/features/user/domain/providers.dart';
import 'package:lensai/presentation/widgets/failure_widget.dart';
import 'package:lensai/presentation/widgets/website_feed_tile.dart';
import 'package:lensai/presentation/widgets/website_title_tile.dart';
import 'package:lensai/utils/ui_helper.dart' as ui_helper;
@@ -100,13 +100,13 @@ class WebPageDialog extends HookConsumerWidget {
loading:
() => SiteSearch(
domain: url.host,
availableBangs: [
BangData(
websiteName: 'websiteName',
domain: 'domain',
trigger: 'trigger',
urlTemplate: 'urlTemplate',
),
availableBangs: const [
// BangData(
// websiteName: 'websiteName',
// domain: 'domain',
// trigger: 'trigger',
// urlTemplate: 'urlTemplate',
// ),
],
),
),
@@ -115,6 +115,7 @@ class WebPageDialog extends HookConsumerWidget {
availableBangCount == null ||
availableBangCount > 0)
const Divider(),
WebsiteFeedTile(url, precachedInfo: precachedInfo),
ListTile(
leading: const Icon(MdiIcons.contentCopy),
title: const Text('Copy address'),
@@ -138,11 +139,23 @@ class WebPageDialog extends HookConsumerWidget {
leading: const Icon(MdiIcons.tabPlus),
title: const Text('Clone tab'),
onTap: () async {
await ref
final tabId = await ref
.read(tabRepositoryProvider.notifier)
.addTab(url: url);
if (context.mounted) {
//save reference before pop `ref` gets disposed
final repo = ref.read(
tabRepositoryProvider.notifier,
);
ui_helper.showTabSwitchMessage(
context,
onSwitch: () {
repo.selectTab(tabId);
},
);
context.pop();
}
},
@@ -22,8 +22,6 @@ import 'package:lensai/features/geckoview/features/contextmenu/extensions/hit_re
import 'package:lensai/features/geckoview/features/find_in_page/presentation/widgets/find_in_page.dart';
import 'package:lensai/features/geckoview/features/readerview/presentation/widgets/reader_appearance_button.dart';
import 'package:lensai/features/geckoview/features/tabs/features/chat/presentation/widgets/tab_qa_chat.dart';
import 'package:lensai/presentation/hooks/draggable_scrollable_controller.dart';
import 'package:lensai/presentation/hooks/overlay_portal_controller.dart';
import 'package:lensai/utils/ui_helper.dart' as ui_helper;
class BrowserScreen extends HookConsumerWidget {
@@ -98,7 +96,7 @@ class BrowserScreen extends HookConsumerWidget {
.read(tabRepositoryProvider.notifier)
.closeTab(details.data.tabId);
},
builder: (context, _, __) {
builder: (context, _, _) {
return OverlayPortal(
controller: overlayController,
overlayChildBuilder: (context) {
@@ -160,6 +158,11 @@ class BrowserScreen extends HookConsumerWidget {
return true;
}
//Go router has routes to go back to
if (context.canPop()) {
return true;
}
if (lastBackButtonPress.value != null &&
DateTime.now().difference(lastBackButtonPress.value!) <
const Duration(seconds: 2)) {
@@ -17,6 +17,7 @@ import 'package:lensai/features/geckoview/features/browser/presentation/widgets/
import 'package:lensai/features/geckoview/features/browser/presentation/widgets/tabs_action_button.dart';
import 'package:lensai/features/geckoview/features/find_in_page/presentation/controllers/find_in_page_visibility.dart';
import 'package:lensai/features/geckoview/features/readerview/presentation/widgets/reader_button.dart';
import 'package:lensai/features/web_feed/domain/services/feed_reader.dart';
import 'package:lensai/presentation/hooks/menu_controller.dart';
import 'package:lensai/presentation/icons/tor_icons.dart';
import 'package:lensai/utils/ui_helper.dart' as ui_helper;
@@ -359,10 +360,28 @@ class BrowserBottomAppBar extends HookConsumerWidget {
),
MenuItemButton(
onPressed: () async {
await context.push(UserAuthRoute().location);
final res = await ref
.read(feedReaderProvider.notifier)
.parseFeed(
Uri.parse('https://simonwillison.net/atom/everything/'),
);
if (context.mounted) {
await context.push(
FeedCreateRoute().location,
extra: res.feedData,
);
}
},
leadingIcon: const Icon(Icons.info),
child: const Text('Auth'),
child: const Text('Add'),
),
MenuItemButton(
onPressed: () async {
await context.push(FeedListRoute().location);
},
leadingIcon: const Icon(Icons.info),
child: const Text('List'),
),
],
),
@@ -20,7 +20,7 @@ import 'package:lensai/features/user/domain/services/local_authentication.dart';
class BrowserView extends StatefulHookConsumerWidget {
final Duration screenshotPeriod;
final FutureOr<void> Function()? postInitializationStep;
final Future<void> Function()? postInitializationStep;
const BrowserView({
this.screenshotPeriod = const Duration(seconds: 10),
@@ -1,4 +1,5 @@
import 'package:flutter/material.dart';
import 'package:lensai/extensions/nullable.dart';
import 'package:lensai/features/geckoview/domain/entities/states/web_extension.dart';
class ExtensionBadgeIcon extends StatelessWidget {
@@ -8,7 +9,7 @@ class ExtensionBadgeIcon extends StatelessWidget {
@override
Widget build(BuildContext context) {
final hasBadge = state.badgeText?.isNotEmpty ?? false;
final hasBadge = state.badgeText.isNotEmpty;
return Badge(
isLabelVisible: hasBadge,
@@ -137,7 +137,7 @@ class _TabSheetHeader extends HookConsumerWidget {
.maybeStartProxy(context);
}
},
onDeleted: (container) async {
onDeleted: (container) {
ref
.read(selectedContainerProvider.notifier)
.clearContainer();
@@ -1,6 +1,7 @@
import 'dart:convert';
import 'package:flutter_mozilla_components/flutter_mozilla_components.dart';
import 'package:lensai/extensions/nullable.dart';
import 'package:lensai/features/geckoview/features/contextmenu/domain/converters/hit_result_converter.dart';
extension HitResultJson on HitResult {
@@ -38,13 +39,11 @@ extension HitResultX on HitResult {
UnknownHitResult(src: final src) => src,
ImageSrcHitResult(uri: final uri) => uri,
ImageHitResult(src: final src, title: final title) =>
title?.isEmpty ?? true
? (src.length > maxTitleLength ? 'image' : src)
: title!,
title.isEmpty ? (src.length > maxTitleLength ? 'image' : src) : title!,
VideoHitResult(src: final src, title: final title) =>
(title?.isEmpty ?? true) ? src : title!,
(title.isEmpty) ? src : title!,
AudioHitResult(src: final src, title: final title) =>
(title?.isEmpty ?? true) ? src : title!,
(title.isEmpty) ? src : title!,
_ => 'about:blank',
};
}
@@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_material_design_icons/flutter_material_design_icons.dart';
import 'package:flutter_mozilla_components/flutter_mozilla_components.dart';
import 'package:go_router/go_router.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:lensai/extensions/nullable.dart';
import 'package:lensai/features/geckoview/features/contextmenu/extensions/hit_result.dart';
@@ -24,6 +25,10 @@ class CopyEmail extends HookConsumerWidget {
final email = hitResult.tryGetLink().mapNotNull((url) => url.host);
if (email != null) {
await Clipboard.setData(ClipboardData(text: email));
if (context.mounted) {
context.pop();
}
}
},
);
@@ -1,6 +1,7 @@
import 'package:flutter/material.dart';
import 'package:flutter_material_design_icons/flutter_material_design_icons.dart';
import 'package:flutter_mozilla_components/flutter_mozilla_components.dart';
import 'package:go_router/go_router.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:lensai/features/geckoview/domain/providers/tab_state.dart';
import 'package:lensai/features/geckoview/features/contextmenu/extensions/hit_result.dart';
@@ -30,6 +31,10 @@ class CopyImage extends HookConsumerWidget {
isPrivate: currentTab.isPrivate,
referrerUrl: currentTab.url,
);
if (context.mounted) {
context.pop();
}
}
},
);
@@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_material_design_icons/flutter_material_design_icons.dart';
import 'package:flutter_mozilla_components/flutter_mozilla_components.dart';
import 'package:go_router/go_router.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:lensai/extensions/nullable.dart';
import 'package:lensai/features/geckoview/features/contextmenu/extensions/hit_result.dart';
@@ -21,9 +22,13 @@ class CopyImageLocation extends HookConsumerWidget {
leading: const Icon(MdiIcons.imageMarker),
title: const Text('Copy image location'),
onTap: () async {
await hitResult.tryGetLink().mapNotNull(
(link) => Clipboard.setData(ClipboardData(text: link.toString())),
);
await hitResult.tryGetLink().mapNotNull((link) async {
await Clipboard.setData(ClipboardData(text: link.toString()));
if (context.mounted) {
context.pop();
}
});
},
);
}
@@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_material_design_icons/flutter_material_design_icons.dart';
import 'package:flutter_mozilla_components/flutter_mozilla_components.dart';
import 'package:go_router/go_router.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:lensai/extensions/nullable.dart';
import 'package:lensai/features/geckoview/features/contextmenu/extensions/hit_result.dart';
@@ -21,9 +22,13 @@ class CopyLink extends HookConsumerWidget {
leading: const Icon(MdiIcons.contentCopy),
title: const Text('Copy link'),
onTap: () async {
await hitResult.tryGetLink().mapNotNull(
(link) => Clipboard.setData(ClipboardData(text: link.toString())),
);
await hitResult.tryGetLink().mapNotNull((link) async {
await Clipboard.setData(ClipboardData(text: link.toString()));
if (context.mounted) {
context.pop();
}
});
},
);
}
@@ -1,5 +1,6 @@
import 'package:flutter/material.dart';
import 'package:flutter_mozilla_components/flutter_mozilla_components.dart';
import 'package:go_router/go_router.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:lensai/extensions/nullable.dart';
import 'package:lensai/features/geckoview/features/contextmenu/extensions/hit_result.dart';
@@ -22,9 +23,13 @@ class LaunchExternal extends HookConsumerWidget {
leading: const Icon(Icons.open_in_browser),
title: const Text('Launch External'),
onTap: () async {
await hitResult.tryGetLink().mapNotNull(
(url) => launchUrlFeedback(context, url),
);
await hitResult.tryGetLink().mapNotNull((url) async {
await launchUrlFeedback(context, url);
if (context.mounted) {
context.pop();
}
});
},
);
}
@@ -1,10 +1,12 @@
import 'package:flutter/material.dart';
import 'package:flutter_material_design_icons/flutter_material_design_icons.dart';
import 'package:flutter_mozilla_components/flutter_mozilla_components.dart';
import 'package:go_router/go_router.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:lensai/features/geckoview/domain/providers/selected_tab.dart';
import 'package:lensai/features/geckoview/domain/repositories/tab.dart';
import 'package:lensai/features/geckoview/features/contextmenu/extensions/hit_result.dart';
import 'package:lensai/utils/ui_helper.dart';
class OpenImageInNewTab extends HookConsumerWidget {
final HitResult hitResult;
@@ -22,9 +24,28 @@ class OpenImageInNewTab extends HookConsumerWidget {
title: const Text('Open image in new tab'),
onTap: () async {
final currentTabId = ref.read(selectedTabProvider);
await ref
final tabId = await ref
.read(tabRepositoryProvider.notifier)
.addTab(url: hitResult.tryGetLink(), parentId: currentTabId);
.addTab(
url: hitResult.tryGetLink(),
parentId: currentTabId,
selectTab: false,
);
if (context.mounted) {
//save reference before pop `ref` gets disposed
final repo = ref.read(tabRepositoryProvider.notifier);
showTabSwitchMessage(
context,
onSwitch: () {
repo.selectTab(tabId);
},
);
context.pop();
}
},
);
}
@@ -1,9 +1,12 @@
import 'package:flutter/material.dart';
import 'package:flutter_material_design_icons/flutter_material_design_icons.dart';
import 'package:flutter_mozilla_components/flutter_mozilla_components.dart';
import 'package:go_router/go_router.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:lensai/features/geckoview/domain/providers/selected_tab.dart';
import 'package:lensai/features/geckoview/domain/repositories/tab.dart';
import 'package:lensai/features/geckoview/features/contextmenu/extensions/hit_result.dart';
import 'package:lensai/utils/ui_helper.dart';
class OpenInNewTab extends HookConsumerWidget {
final HitResult hitResult;
@@ -20,9 +23,29 @@ class OpenInNewTab extends HookConsumerWidget {
leading: const Icon(MdiIcons.tabPlus),
title: const Text('Open in new tab'),
onTap: () async {
await ref
final currentTabId = ref.read(selectedTabProvider);
final tabId = await ref
.read(tabRepositoryProvider.notifier)
.addTab(url: hitResult.tryGetLink());
.addTab(
url: hitResult.tryGetLink(),
parentId: currentTabId,
selectTab: false,
);
if (context.mounted) {
//save reference before pop `ref` gets disposed
final repo = ref.read(tabRepositoryProvider.notifier);
showTabSwitchMessage(
context,
onSwitch: () {
repo.selectTab(tabId);
},
);
context.pop();
}
},
);
}
@@ -1,6 +1,7 @@
import 'package:flutter/material.dart';
import 'package:flutter_material_design_icons/flutter_material_design_icons.dart';
import 'package:flutter_mozilla_components/flutter_mozilla_components.dart';
import 'package:go_router/go_router.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:lensai/features/geckoview/domain/providers/tab_state.dart';
import 'package:lensai/features/geckoview/features/contextmenu/extensions/hit_result.dart';
@@ -31,6 +32,10 @@ class SaveFile extends HookConsumerWidget {
isPrivate: currentTab.isPrivate,
referrerUrl: currentTab.url,
);
if (context.mounted) {
context.pop();
}
}
},
);
@@ -1,6 +1,7 @@
import 'package:flutter/material.dart';
import 'package:flutter_material_design_icons/flutter_material_design_icons.dart';
import 'package:flutter_mozilla_components/flutter_mozilla_components.dart';
import 'package:go_router/go_router.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:lensai/features/geckoview/domain/providers/tab_state.dart';
import 'package:lensai/features/geckoview/features/contextmenu/extensions/hit_result.dart';
@@ -31,6 +32,10 @@ class SaveImage extends HookConsumerWidget {
isPrivate: currentTab.isPrivate,
referrerUrl: currentTab.url,
);
if (context.mounted) {
context.pop();
}
}
},
);
@@ -1,6 +1,7 @@
import 'package:flutter/material.dart';
import 'package:flutter_material_design_icons/flutter_material_design_icons.dart';
import 'package:flutter_mozilla_components/flutter_mozilla_components.dart';
import 'package:go_router/go_router.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:lensai/extensions/nullable.dart';
import 'package:lensai/features/geckoview/features/contextmenu/extensions/hit_result.dart';
@@ -24,6 +25,10 @@ class ShareEmail extends HookConsumerWidget {
final email = hitResult.tryGetLink().mapNotNull((url) => url.path);
if (email != null) {
await Share.share(email);
if (context.mounted) {
context.pop();
}
}
},
);
@@ -1,6 +1,7 @@
import 'package:flutter/material.dart';
import 'package:flutter_material_design_icons/flutter_material_design_icons.dart';
import 'package:flutter_mozilla_components/flutter_mozilla_components.dart';
import 'package:go_router/go_router.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:lensai/features/geckoview/domain/providers/tab_state.dart';
import 'package:lensai/features/geckoview/features/contextmenu/extensions/hit_result.dart';
@@ -30,6 +31,10 @@ class ShareImage extends HookConsumerWidget {
isPrivate: currentTab.isPrivate,
referrerUrl: currentTab.url,
);
if (context.mounted) {
context.pop();
}
}
},
);
@@ -1,5 +1,6 @@
import 'package:flutter/material.dart';
import 'package:flutter_mozilla_components/flutter_mozilla_components.dart';
import 'package:go_router/go_router.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:lensai/extensions/nullable.dart';
import 'package:lensai/features/geckoview/features/contextmenu/extensions/hit_result.dart';
@@ -21,6 +22,10 @@ class ShareLink extends HookConsumerWidget {
title: const Text('Share link'),
onTap: () async {
await hitResult.tryGetLink().mapNotNull((url) => Share.shareUri(url));
if (context.mounted) {
context.pop();
}
},
);
}
@@ -34,9 +34,7 @@ abstract class _$FindInPageRepository
extends BuildlessAutoDisposeNotifier<void> {
late final String? tabId;
void build(
String? tabId,
);
void build(String? tabId);
}
/// See also [FindInPageRepository].
@@ -49,21 +47,15 @@ class FindInPageRepositoryFamily extends Family<void> {
const FindInPageRepositoryFamily();
/// See also [FindInPageRepository].
FindInPageRepositoryProvider call(
String? tabId,
) {
return FindInPageRepositoryProvider(
tabId,
);
FindInPageRepositoryProvider call(String? tabId) {
return FindInPageRepositoryProvider(tabId);
}
@override
FindInPageRepositoryProvider getProviderOverride(
covariant FindInPageRepositoryProvider provider,
) {
return call(
provider.tabId,
);
return call(provider.tabId);
}
static const Iterable<ProviderOrFamily>? _dependencies = null;
@@ -85,21 +77,20 @@ class FindInPageRepositoryFamily extends Family<void> {
class FindInPageRepositoryProvider
extends AutoDisposeNotifierProviderImpl<FindInPageRepository, void> {
/// See also [FindInPageRepository].
FindInPageRepositoryProvider(
String? tabId,
) : this._internal(
() => FindInPageRepository()..tabId = tabId,
from: findInPageRepositoryProvider,
name: r'findInPageRepositoryProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$findInPageRepositoryHash,
dependencies: FindInPageRepositoryFamily._dependencies,
allTransitiveDependencies:
FindInPageRepositoryFamily._allTransitiveDependencies,
tabId: tabId,
);
FindInPageRepositoryProvider(String? tabId)
: this._internal(
() => FindInPageRepository()..tabId = tabId,
from: findInPageRepositoryProvider,
name: r'findInPageRepositoryProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$findInPageRepositoryHash,
dependencies: FindInPageRepositoryFamily._dependencies,
allTransitiveDependencies:
FindInPageRepositoryFamily._allTransitiveDependencies,
tabId: tabId,
);
FindInPageRepositoryProvider._internal(
super._createNotifier, {
@@ -114,12 +105,8 @@ class FindInPageRepositoryProvider
final String? tabId;
@override
void runNotifierBuild(
covariant FindInPageRepository notifier,
) {
return notifier.build(
tabId,
);
void runNotifierBuild(covariant FindInPageRepository notifier) {
return notifier.build(tabId);
}
@override
@@ -140,7 +127,7 @@ class FindInPageRepositoryProvider
@override
AutoDisposeNotifierProviderElement<FindInPageRepository, void>
createElement() {
createElement() {
return _FindInPageRepositoryProviderElement(this);
}
@@ -173,5 +160,6 @@ class _FindInPageRepositoryProviderElement
@override
String? get tabId => (origin as FindInPageRepositoryProvider).tabId;
}
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package
@@ -13,14 +13,15 @@ String _$findInPageVisibilityControllerHash() =>
@ProviderFor(FindInPageVisibilityController)
final findInPageVisibilityControllerProvider =
AutoDisposeNotifierProvider<FindInPageVisibilityController, bool>.internal(
FindInPageVisibilityController.new,
name: r'findInPageVisibilityControllerProvider',
debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
? null
: _$findInPageVisibilityControllerHash,
dependencies: null,
allTransitiveDependencies: null,
);
FindInPageVisibilityController.new,
name: r'findInPageVisibilityControllerProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$findInPageVisibilityControllerHash,
dependencies: null,
allTransitiveDependencies: null,
);
typedef _$FindInPageVisibilityController = AutoDisposeNotifier<bool>;
// ignore_for_file: type=lint
@@ -39,7 +39,6 @@ class _$PreferenceSettingGroupCWProxyImpl
this(settings: settings);
@override
/// This function **does support** nullification of nullable fields. All `null` values passed to `non-nullable` fields will be ignored. You can also use `PreferenceSettingGroup(...).copyWith.fieldName(...)` to override fields one at a time with nullification support.
///
/// Usage
@@ -51,14 +50,16 @@ class _$PreferenceSettingGroupCWProxyImpl
Object? settings = const $CopyWithPlaceholder(),
}) {
return PreferenceSettingGroup(
description: description == const $CopyWithPlaceholder()
? _value.description
// ignore: cast_nullable_to_non_nullable
: description as String?,
settings: settings == const $CopyWithPlaceholder()
? _value.settings
// ignore: cast_nullable_to_non_nullable
: settings as Map<String, PreferenceSetting>,
description:
description == const $CopyWithPlaceholder()
? _value.description
// ignore: cast_nullable_to_non_nullable
: description as String?,
settings:
settings == const $CopyWithPlaceholder()
? _value.settings
// ignore: cast_nullable_to_non_nullable
: settings as Map<String, PreferenceSetting>,
);
}
}
@@ -128,7 +129,6 @@ class _$PreferenceSettingCWProxyImpl implements _$PreferenceSettingCWProxy {
this(shouldBeDefault: shouldBeDefault);
@override
/// This function **does support** nullification of nullable fields. All `null` values passed to `non-nullable` fields will be ignored. You can also use `PreferenceSetting(...).copyWith.fieldName(...)` to override fields one at a time with nullification support.
///
/// Usage
@@ -144,30 +144,36 @@ class _$PreferenceSettingCWProxyImpl implements _$PreferenceSettingCWProxy {
Object? shouldBeDefault = const $CopyWithPlaceholder(),
}) {
return PreferenceSetting(
value: value == const $CopyWithPlaceholder()
? _value.value
// ignore: cast_nullable_to_non_nullable
: value as Object,
title: title == const $CopyWithPlaceholder()
? _value.title
// ignore: cast_nullable_to_non_nullable
: title as String?,
description: description == const $CopyWithPlaceholder()
? _value.description
// ignore: cast_nullable_to_non_nullable
: description as String?,
actualValue: actualValue == const $CopyWithPlaceholder()
? _value.actualValue
// ignore: cast_nullable_to_non_nullable
: actualValue as Object?,
requireUserOptIn: requireUserOptIn == const $CopyWithPlaceholder()
? _value.requireUserOptIn
// ignore: cast_nullable_to_non_nullable
: requireUserOptIn as bool,
shouldBeDefault: shouldBeDefault == const $CopyWithPlaceholder()
? _value.shouldBeDefault
// ignore: cast_nullable_to_non_nullable
: shouldBeDefault as bool,
value:
value == const $CopyWithPlaceholder()
? _value.value
// ignore: cast_nullable_to_non_nullable
: value as Object,
title:
title == const $CopyWithPlaceholder()
? _value.title
// ignore: cast_nullable_to_non_nullable
: title as String?,
description:
description == const $CopyWithPlaceholder()
? _value.description
// ignore: cast_nullable_to_non_nullable
: description as String?,
actualValue:
actualValue == const $CopyWithPlaceholder()
? _value.actualValue
// ignore: cast_nullable_to_non_nullable
: actualValue as Object?,
requireUserOptIn:
requireUserOptIn == const $CopyWithPlaceholder()
? _value.requireUserOptIn
// ignore: cast_nullable_to_non_nullable
: requireUserOptIn as bool,
shouldBeDefault:
shouldBeDefault == const $CopyWithPlaceholder()
? _value.shouldBeDefault
// ignore: cast_nullable_to_non_nullable
: shouldBeDefault as bool,
);
}
}
@@ -13,14 +13,15 @@ String _$preferenceSettingContentHash() =>
@ProviderFor(_preferenceSettingContent)
final _preferenceSettingContentProvider =
FutureProvider<Map<String, dynamic>>.internal(
_preferenceSettingContent,
name: r'_preferenceSettingContentProvider',
debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
? null
: _$preferenceSettingContentHash,
dependencies: null,
allTransitiveDependencies: null,
);
_preferenceSettingContent,
name: r'_preferenceSettingContentProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$preferenceSettingContentHash,
dependencies: null,
allTransitiveDependencies: null,
);
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
@@ -60,21 +61,15 @@ class _PreferenceSettingGroupsFamily
const _PreferenceSettingGroupsFamily();
/// See also [_preferenceSettingGroups].
_PreferenceSettingGroupsProvider call(
PreferencePartition partition,
) {
return _PreferenceSettingGroupsProvider(
partition,
);
_PreferenceSettingGroupsProvider call(PreferencePartition partition) {
return _PreferenceSettingGroupsProvider(partition);
}
@override
_PreferenceSettingGroupsProvider getProviderOverride(
covariant _PreferenceSettingGroupsProvider provider,
) {
return call(
provider.partition,
);
return call(provider.partition);
}
static const Iterable<ProviderOrFamily>? _dependencies = null;
@@ -96,24 +91,23 @@ class _PreferenceSettingGroupsFamily
class _PreferenceSettingGroupsProvider
extends FutureProvider<Map<String, PreferenceSettingGroup>> {
/// See also [_preferenceSettingGroups].
_PreferenceSettingGroupsProvider(
PreferencePartition partition,
) : this._internal(
(ref) => _preferenceSettingGroups(
ref as _PreferenceSettingGroupsRef,
partition,
),
from: _preferenceSettingGroupsProvider,
name: r'_preferenceSettingGroupsProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$preferenceSettingGroupsHash,
dependencies: _PreferenceSettingGroupsFamily._dependencies,
allTransitiveDependencies:
_PreferenceSettingGroupsFamily._allTransitiveDependencies,
partition: partition,
);
_PreferenceSettingGroupsProvider(PreferencePartition partition)
: this._internal(
(ref) => _preferenceSettingGroups(
ref as _PreferenceSettingGroupsRef,
partition,
),
from: _preferenceSettingGroupsProvider,
name: r'_preferenceSettingGroupsProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$preferenceSettingGroupsHash,
dependencies: _PreferenceSettingGroupsFamily._dependencies,
allTransitiveDependencies:
_PreferenceSettingGroupsFamily._allTransitiveDependencies,
partition: partition,
);
_PreferenceSettingGroupsProvider._internal(
super._createNotifier, {
@@ -130,8 +124,9 @@ class _PreferenceSettingGroupsProvider
@override
Override overrideWith(
FutureOr<Map<String, PreferenceSettingGroup>> Function(
_PreferenceSettingGroupsRef provider)
create,
_PreferenceSettingGroupsRef provider,
)
create,
) {
return ProviderOverride(
origin: this,
@@ -203,20 +198,14 @@ class _PreferenceSettingGroupFamily
PreferencePartition partition,
String groupName,
) {
return _PreferenceSettingGroupProvider(
partition,
groupName,
);
return _PreferenceSettingGroupProvider(partition, groupName);
}
@override
_PreferenceSettingGroupProvider getProviderOverride(
covariant _PreferenceSettingGroupProvider provider,
) {
return call(
provider.partition,
provider.groupName,
);
return call(provider.partition, provider.groupName);
}
static const Iterable<ProviderOrFamily>? _dependencies = null;
@@ -242,23 +231,23 @@ class _PreferenceSettingGroupProvider
PreferencePartition partition,
String groupName,
) : this._internal(
(ref) => _preferenceSettingGroup(
ref as _PreferenceSettingGroupRef,
partition,
groupName,
),
from: _preferenceSettingGroupProvider,
name: r'_preferenceSettingGroupProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$preferenceSettingGroupHash,
dependencies: _PreferenceSettingGroupFamily._dependencies,
allTransitiveDependencies:
_PreferenceSettingGroupFamily._allTransitiveDependencies,
partition: partition,
groupName: groupName,
);
(ref) => _preferenceSettingGroup(
ref as _PreferenceSettingGroupRef,
partition,
groupName,
),
from: _preferenceSettingGroupProvider,
name: r'_preferenceSettingGroupProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$preferenceSettingGroupHash,
dependencies: _PreferenceSettingGroupFamily._dependencies,
allTransitiveDependencies:
_PreferenceSettingGroupFamily._allTransitiveDependencies,
partition: partition,
groupName: groupName,
);
_PreferenceSettingGroupProvider._internal(
super._createNotifier, {
@@ -277,8 +266,9 @@ class _PreferenceSettingGroupProvider
@override
Override overrideWith(
FutureOr<PreferenceSettingGroup> Function(
_PreferenceSettingGroupRef provider)
create,
_PreferenceSettingGroupRef provider,
)
create,
) {
return ProviderOverride(
origin: this,
@@ -345,24 +335,29 @@ String _$preferenceRepositoryHash() =>
/// See also [_PreferenceRepository].
@ProviderFor(_PreferenceRepository)
final _preferenceRepositoryProvider = AutoDisposeNotifierProvider<
_PreferenceRepository, Raw<Stream<Map<String, Object>>>>.internal(
_PreferenceRepository,
Raw<Stream<Map<String, Object>>>
>.internal(
_PreferenceRepository.new,
name: r'_preferenceRepositoryProvider',
debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
? null
: _$preferenceRepositoryHash,
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$preferenceRepositoryHash,
dependencies: null,
allTransitiveDependencies: null,
);
typedef _$PreferenceRepository
= AutoDisposeNotifier<Raw<Stream<Map<String, Object>>>>;
typedef _$PreferenceRepository =
AutoDisposeNotifier<Raw<Stream<Map<String, Object>>>>;
String _$unifiedPreferenceSettingsRepositoryHash() =>
r'35aa16ffa7aa1453c8331ed7470ef85a68d27178';
abstract class _$UnifiedPreferenceSettingsRepository
extends BuildlessAutoDisposeStreamNotifier<
Map<String, PreferenceSettingGroup>> {
extends
BuildlessAutoDisposeStreamNotifier<
Map<String, PreferenceSettingGroup>
> {
late final PreferencePartition partition;
Stream<Map<String, PreferenceSettingGroup>> build(
@@ -385,18 +380,14 @@ class UnifiedPreferenceSettingsRepositoryFamily
UnifiedPreferenceSettingsRepositoryProvider call(
PreferencePartition partition,
) {
return UnifiedPreferenceSettingsRepositoryProvider(
partition,
);
return UnifiedPreferenceSettingsRepositoryProvider(partition);
}
@override
UnifiedPreferenceSettingsRepositoryProvider getProviderOverride(
covariant UnifiedPreferenceSettingsRepositoryProvider provider,
) {
return call(
provider.partition,
);
return call(provider.partition);
}
static const Iterable<ProviderOrFamily>? _dependencies = null;
@@ -416,25 +407,27 @@ class UnifiedPreferenceSettingsRepositoryFamily
/// See also [UnifiedPreferenceSettingsRepository].
class UnifiedPreferenceSettingsRepositoryProvider
extends AutoDisposeStreamNotifierProviderImpl<
UnifiedPreferenceSettingsRepository,
Map<String, PreferenceSettingGroup>> {
extends
AutoDisposeStreamNotifierProviderImpl<
UnifiedPreferenceSettingsRepository,
Map<String, PreferenceSettingGroup>
> {
/// See also [UnifiedPreferenceSettingsRepository].
UnifiedPreferenceSettingsRepositoryProvider(
PreferencePartition partition,
) : this._internal(
() => UnifiedPreferenceSettingsRepository()..partition = partition,
from: unifiedPreferenceSettingsRepositoryProvider,
name: r'unifiedPreferenceSettingsRepositoryProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$unifiedPreferenceSettingsRepositoryHash,
dependencies: UnifiedPreferenceSettingsRepositoryFamily._dependencies,
allTransitiveDependencies: UnifiedPreferenceSettingsRepositoryFamily
._allTransitiveDependencies,
partition: partition,
);
UnifiedPreferenceSettingsRepositoryProvider(PreferencePartition partition)
: this._internal(
() => UnifiedPreferenceSettingsRepository()..partition = partition,
from: unifiedPreferenceSettingsRepositoryProvider,
name: r'unifiedPreferenceSettingsRepositoryProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$unifiedPreferenceSettingsRepositoryHash,
dependencies: UnifiedPreferenceSettingsRepositoryFamily._dependencies,
allTransitiveDependencies:
UnifiedPreferenceSettingsRepositoryFamily
._allTransitiveDependencies,
partition: partition,
);
UnifiedPreferenceSettingsRepositoryProvider._internal(
super._createNotifier, {
@@ -452,9 +445,7 @@ class UnifiedPreferenceSettingsRepositoryProvider
Stream<Map<String, PreferenceSettingGroup>> runNotifierBuild(
covariant UnifiedPreferenceSettingsRepository notifier,
) {
return notifier.build(
partition,
);
return notifier.build(partition);
}
@override
@@ -474,8 +465,11 @@ class UnifiedPreferenceSettingsRepositoryProvider
}
@override
AutoDisposeStreamNotifierProviderElement<UnifiedPreferenceSettingsRepository,
Map<String, PreferenceSettingGroup>> createElement() {
AutoDisposeStreamNotifierProviderElement<
UnifiedPreferenceSettingsRepository,
Map<String, PreferenceSettingGroup>
>
createElement() {
return _UnifiedPreferenceSettingsRepositoryProviderElement(this);
}
@@ -497,16 +491,20 @@ class UnifiedPreferenceSettingsRepositoryProvider
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
mixin UnifiedPreferenceSettingsRepositoryRef
on AutoDisposeStreamNotifierProviderRef<
Map<String, PreferenceSettingGroup>> {
on
AutoDisposeStreamNotifierProviderRef<
Map<String, PreferenceSettingGroup>
> {
/// The parameter `partition` of this provider.
PreferencePartition get partition;
}
class _UnifiedPreferenceSettingsRepositoryProviderElement
extends AutoDisposeStreamNotifierProviderElement<
UnifiedPreferenceSettingsRepository,
Map<String, PreferenceSettingGroup>>
extends
AutoDisposeStreamNotifierProviderElement<
UnifiedPreferenceSettingsRepository,
Map<String, PreferenceSettingGroup>
>
with UnifiedPreferenceSettingsRepositoryRef {
_UnifiedPreferenceSettingsRepositoryProviderElement(super.provider);
@@ -545,20 +543,14 @@ class PreferenceSettingsGroupRepositoryFamily
PreferencePartition partition,
String groupName,
) {
return PreferenceSettingsGroupRepositoryProvider(
partition,
groupName,
);
return PreferenceSettingsGroupRepositoryProvider(partition, groupName);
}
@override
PreferenceSettingsGroupRepositoryProvider getProviderOverride(
covariant PreferenceSettingsGroupRepositoryProvider provider,
) {
return call(
provider.partition,
provider.groupName,
);
return call(provider.partition, provider.groupName);
}
static const Iterable<ProviderOrFamily>? _dependencies = null;
@@ -578,28 +570,32 @@ class PreferenceSettingsGroupRepositoryFamily
/// See also [PreferenceSettingsGroupRepository].
class PreferenceSettingsGroupRepositoryProvider
extends AutoDisposeStreamNotifierProviderImpl<
PreferenceSettingsGroupRepository, PreferenceSettingGroup> {
extends
AutoDisposeStreamNotifierProviderImpl<
PreferenceSettingsGroupRepository,
PreferenceSettingGroup
> {
/// See also [PreferenceSettingsGroupRepository].
PreferenceSettingsGroupRepositoryProvider(
PreferencePartition partition,
String groupName,
) : this._internal(
() => PreferenceSettingsGroupRepository()
..partition = partition
..groupName = groupName,
from: preferenceSettingsGroupRepositoryProvider,
name: r'preferenceSettingsGroupRepositoryProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$preferenceSettingsGroupRepositoryHash,
dependencies: PreferenceSettingsGroupRepositoryFamily._dependencies,
allTransitiveDependencies: PreferenceSettingsGroupRepositoryFamily
._allTransitiveDependencies,
partition: partition,
groupName: groupName,
);
() =>
PreferenceSettingsGroupRepository()
..partition = partition
..groupName = groupName,
from: preferenceSettingsGroupRepositoryProvider,
name: r'preferenceSettingsGroupRepositoryProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$preferenceSettingsGroupRepositoryHash,
dependencies: PreferenceSettingsGroupRepositoryFamily._dependencies,
allTransitiveDependencies:
PreferenceSettingsGroupRepositoryFamily._allTransitiveDependencies,
partition: partition,
groupName: groupName,
);
PreferenceSettingsGroupRepositoryProvider._internal(
super._createNotifier, {
@@ -619,10 +615,7 @@ class PreferenceSettingsGroupRepositoryProvider
Stream<PreferenceSettingGroup> runNotifierBuild(
covariant PreferenceSettingsGroupRepository notifier,
) {
return notifier.build(
partition,
groupName,
);
return notifier.build(partition, groupName);
}
@override
@@ -630,9 +623,10 @@ class PreferenceSettingsGroupRepositoryProvider
return ProviderOverride(
origin: this,
override: PreferenceSettingsGroupRepositoryProvider._internal(
() => create()
..partition = partition
..groupName = groupName,
() =>
create()
..partition = partition
..groupName = groupName,
from: from,
name: null,
dependencies: null,
@@ -645,8 +639,11 @@ class PreferenceSettingsGroupRepositoryProvider
}
@override
AutoDisposeStreamNotifierProviderElement<PreferenceSettingsGroupRepository,
PreferenceSettingGroup> createElement() {
AutoDisposeStreamNotifierProviderElement<
PreferenceSettingsGroupRepository,
PreferenceSettingGroup
>
createElement() {
return _PreferenceSettingsGroupRepositoryProviderElement(this);
}
@@ -679,9 +676,12 @@ mixin PreferenceSettingsGroupRepositoryRef
}
class _PreferenceSettingsGroupRepositoryProviderElement
extends AutoDisposeStreamNotifierProviderElement<
PreferenceSettingsGroupRepository,
PreferenceSettingGroup> with PreferenceSettingsGroupRepositoryRef {
extends
AutoDisposeStreamNotifierProviderElement<
PreferenceSettingsGroupRepository,
PreferenceSettingGroup
>
with PreferenceSettingsGroupRepositoryRef {
_PreferenceSettingsGroupRepositoryProviderElement(super.provider);
@override
@@ -691,5 +691,6 @@ class _PreferenceSettingsGroupRepositoryProviderElement
String get groupName =>
(origin as PreferenceSettingsGroupRepositoryProvider).groupName;
}
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package
@@ -13,9 +13,10 @@ String _$readerableServiceHash() => r'03182c8afc41f5184322a3206473cbfa96df5819';
final readerableServiceProvider = Provider<GeckoReaderableService>.internal(
readerableService,
name: r'readerableServiceProvider',
debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
? null
: _$readerableServiceHash,
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$readerableServiceHash,
dependencies: null,
allTransitiveDependencies: null,
);
@@ -30,14 +31,15 @@ String _$appearanceButtonVisibilityHash() =>
@ProviderFor(appearanceButtonVisibility)
final appearanceButtonVisibilityProvider =
AutoDisposeStreamProvider<bool>.internal(
appearanceButtonVisibility,
name: r'appearanceButtonVisibilityProvider',
debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
? null
: _$appearanceButtonVisibilityHash,
dependencies: null,
allTransitiveDependencies: null,
);
appearanceButtonVisibility,
name: r'appearanceButtonVisibilityProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$appearanceButtonVisibilityHash,
dependencies: null,
allTransitiveDependencies: null,
);
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
@@ -19,9 +19,9 @@ class ReaderableScreenController extends _$ReaderableScreenController {
}
@override
FutureOr<void> build() {
Future<void> build() {
_service = ref.watch(readerableServiceProvider);
return null;
return Future.value();
}
}
@@ -7,20 +7,21 @@ part of 'readerable.dart';
// **************************************************************************
String _$readerableScreenControllerHash() =>
r'463c032a6d07936954fead58589101ccb31c2765';
r'62b2167ff8f9fe21c3cf3339e135a50aa684160c';
/// See also [ReaderableScreenController].
@ProviderFor(ReaderableScreenController)
final readerableScreenControllerProvider =
AsyncNotifierProvider<ReaderableScreenController, void>.internal(
ReaderableScreenController.new,
name: r'readerableScreenControllerProvider',
debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
? null
: _$readerableScreenControllerHash,
dependencies: null,
allTransitiveDependencies: null,
);
ReaderableScreenController.new,
name: r'readerableScreenControllerProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$readerableScreenControllerHash,
dependencies: null,
allTransitiveDependencies: null,
);
typedef _$ReaderableScreenController = AsyncNotifier<void>;
// ignore_for_file: type=lint
@@ -42,7 +42,7 @@ AsyncValue<List<GeckoSuggestion>> engineHistorySuggestions(Ref ref) {
.where(
(suggestion) =>
suggestion.type == GeckoSuggestionType.history &&
(suggestion.title?.isNotEmpty ?? false) &&
(suggestion.title.isNotEmpty) &&
(suggestion.description.mapNotNull(
(url) => Uri.tryParse(url),
) !=
@@ -7,36 +7,40 @@ part of 'engine_suggestions.dart';
// **************************************************************************
String _$engineHistorySuggestionsHash() =>
r'218f1da2140a76c3b02634619955b1382c6ef182';
r'7e6c17e6a2df98098ca1a683a438d1c261ccabdf';
/// See also [engineHistorySuggestions].
@ProviderFor(engineHistorySuggestions)
final engineHistorySuggestionsProvider =
AutoDisposeProvider<AsyncValue<List<GeckoSuggestion>>>.internal(
engineHistorySuggestions,
name: r'engineHistorySuggestionsProvider',
debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
? null
: _$engineHistorySuggestionsHash,
dependencies: null,
allTransitiveDependencies: null,
);
engineHistorySuggestions,
name: r'engineHistorySuggestionsProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$engineHistorySuggestionsHash,
dependencies: null,
allTransitiveDependencies: null,
);
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
typedef EngineHistorySuggestionsRef
= AutoDisposeProviderRef<AsyncValue<List<GeckoSuggestion>>>;
typedef EngineHistorySuggestionsRef =
AutoDisposeProviderRef<AsyncValue<List<GeckoSuggestion>>>;
String _$engineSuggestionsHash() => r'ba2c2d7f0a5e99fd9e639acd020b8cf3016c6126';
/// See also [EngineSuggestions].
@ProviderFor(EngineSuggestions)
final engineSuggestionsProvider = AutoDisposeStreamNotifierProvider<
EngineSuggestions, List<GeckoSuggestion>>.internal(
EngineSuggestions,
List<GeckoSuggestion>
>.internal(
EngineSuggestions.new,
name: r'engineSuggestionsProvider',
debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
? null
: _$engineSuggestionsHash,
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$engineSuggestionsHash,
dependencies: null,
allTransitiveDependencies: null,
);
@@ -13,14 +13,15 @@ String _$defaultSearchSuggestionsHash() =>
@ProviderFor(defaultSearchSuggestions)
final defaultSearchSuggestionsProvider =
Provider<ISearchSuggestionProvider>.internal(
defaultSearchSuggestions,
name: r'defaultSearchSuggestionsProvider',
debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
? null
: _$defaultSearchSuggestionsHash,
dependencies: null,
allTransitiveDependencies: null,
);
defaultSearchSuggestions,
name: r'defaultSearchSuggestionsProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$defaultSearchSuggestionsHash,
dependencies: null,
allTransitiveDependencies: null,
);
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
@@ -52,9 +53,7 @@ abstract class _$SearchSuggestions
extends BuildlessAutoDisposeStreamNotifier<List<String>> {
late final ISearchSuggestionProvider? suggestionsProvider;
Stream<List<String>> build({
ISearchSuggestionProvider? suggestionsProvider,
});
Stream<List<String>> build({ISearchSuggestionProvider? suggestionsProvider});
}
/// See also [SearchSuggestions].
@@ -70,18 +69,14 @@ class SearchSuggestionsFamily extends Family<AsyncValue<List<String>>> {
SearchSuggestionsProvider call({
ISearchSuggestionProvider? suggestionsProvider,
}) {
return SearchSuggestionsProvider(
suggestionsProvider: suggestionsProvider,
);
return SearchSuggestionsProvider(suggestionsProvider: suggestionsProvider);
}
@override
SearchSuggestionsProvider getProviderOverride(
covariant SearchSuggestionsProvider provider,
) {
return call(
suggestionsProvider: provider.suggestionsProvider,
);
return call(suggestionsProvider: provider.suggestionsProvider);
}
static const Iterable<ProviderOrFamily>? _dependencies = null;
@@ -100,24 +95,24 @@ class SearchSuggestionsFamily extends Family<AsyncValue<List<String>>> {
}
/// See also [SearchSuggestions].
class SearchSuggestionsProvider extends AutoDisposeStreamNotifierProviderImpl<
SearchSuggestions, List<String>> {
class SearchSuggestionsProvider
extends
AutoDisposeStreamNotifierProviderImpl<SearchSuggestions, List<String>> {
/// See also [SearchSuggestions].
SearchSuggestionsProvider({
ISearchSuggestionProvider? suggestionsProvider,
}) : this._internal(
() => SearchSuggestions()..suggestionsProvider = suggestionsProvider,
from: searchSuggestionsProvider,
name: r'searchSuggestionsProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$searchSuggestionsHash,
dependencies: SearchSuggestionsFamily._dependencies,
allTransitiveDependencies:
SearchSuggestionsFamily._allTransitiveDependencies,
suggestionsProvider: suggestionsProvider,
);
SearchSuggestionsProvider({ISearchSuggestionProvider? suggestionsProvider})
: this._internal(
() => SearchSuggestions()..suggestionsProvider = suggestionsProvider,
from: searchSuggestionsProvider,
name: r'searchSuggestionsProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$searchSuggestionsHash,
dependencies: SearchSuggestionsFamily._dependencies,
allTransitiveDependencies:
SearchSuggestionsFamily._allTransitiveDependencies,
suggestionsProvider: suggestionsProvider,
);
SearchSuggestionsProvider._internal(
super._createNotifier, {
@@ -132,12 +127,8 @@ class SearchSuggestionsProvider extends AutoDisposeStreamNotifierProviderImpl<
final ISearchSuggestionProvider? suggestionsProvider;
@override
Stream<List<String>> runNotifierBuild(
covariant SearchSuggestions notifier,
) {
return notifier.build(
suggestionsProvider: suggestionsProvider,
);
Stream<List<String>> runNotifierBuild(covariant SearchSuggestions notifier) {
return notifier.build(suggestionsProvider: suggestionsProvider);
}
@override
@@ -158,7 +149,7 @@ class SearchSuggestionsProvider extends AutoDisposeStreamNotifierProviderImpl<
@override
AutoDisposeStreamNotifierProviderElement<SearchSuggestions, List<String>>
createElement() {
createElement() {
return _SearchSuggestionsProviderElement(this);
}
@@ -186,13 +177,18 @@ mixin SearchSuggestionsRef
}
class _SearchSuggestionsProviderElement
extends AutoDisposeStreamNotifierProviderElement<SearchSuggestions,
List<String>> with SearchSuggestionsRef {
extends
AutoDisposeStreamNotifierProviderElement<
SearchSuggestions,
List<String>
>
with SearchSuggestionsRef {
_SearchSuggestionsProviderElement(super.provider);
@override
ISearchSuggestionProvider? get suggestionsProvider =>
(origin as SearchSuggestionsProvider).suggestionsProvider;
}
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package
@@ -53,18 +53,14 @@ class SearchSuggestionsRepositoryFamily
SearchSuggestionsRepositoryProvider call(
ISearchSuggestionProvider suggestionsProvider,
) {
return SearchSuggestionsRepositoryProvider(
suggestionsProvider,
);
return SearchSuggestionsRepositoryProvider(suggestionsProvider);
}
@override
SearchSuggestionsRepositoryProvider getProviderOverride(
covariant SearchSuggestionsRepositoryProvider provider,
) {
return call(
provider.suggestionsProvider,
);
return call(provider.suggestionsProvider);
}
static const Iterable<ProviderOrFamily>? _dependencies = null;
@@ -83,25 +79,30 @@ class SearchSuggestionsRepositoryFamily
}
/// See also [SearchSuggestionsRepository].
class SearchSuggestionsRepositoryProvider extends NotifierProviderImpl<
SearchSuggestionsRepository, Raw<Stream<List<String>>>> {
class SearchSuggestionsRepositoryProvider
extends
NotifierProviderImpl<
SearchSuggestionsRepository,
Raw<Stream<List<String>>>
> {
/// See also [SearchSuggestionsRepository].
SearchSuggestionsRepositoryProvider(
ISearchSuggestionProvider suggestionsProvider,
) : this._internal(
() => SearchSuggestionsRepository()
..suggestionsProvider = suggestionsProvider,
from: searchSuggestionsRepositoryProvider,
name: r'searchSuggestionsRepositoryProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$searchSuggestionsRepositoryHash,
dependencies: SearchSuggestionsRepositoryFamily._dependencies,
allTransitiveDependencies:
SearchSuggestionsRepositoryFamily._allTransitiveDependencies,
suggestionsProvider: suggestionsProvider,
);
() =>
SearchSuggestionsRepository()
..suggestionsProvider = suggestionsProvider,
from: searchSuggestionsRepositoryProvider,
name: r'searchSuggestionsRepositoryProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$searchSuggestionsRepositoryHash,
dependencies: SearchSuggestionsRepositoryFamily._dependencies,
allTransitiveDependencies:
SearchSuggestionsRepositoryFamily._allTransitiveDependencies,
suggestionsProvider: suggestionsProvider,
);
SearchSuggestionsRepositoryProvider._internal(
super._createNotifier, {
@@ -119,9 +120,7 @@ class SearchSuggestionsRepositoryProvider extends NotifierProviderImpl<
Raw<Stream<List<String>>> runNotifierBuild(
covariant SearchSuggestionsRepository notifier,
) {
return notifier.build(
suggestionsProvider,
);
return notifier.build(suggestionsProvider);
}
@override
@@ -141,8 +140,11 @@ class SearchSuggestionsRepositoryProvider extends NotifierProviderImpl<
}
@override
NotifierProviderElement<SearchSuggestionsRepository,
Raw<Stream<List<String>>>> createElement() {
NotifierProviderElement<
SearchSuggestionsRepository,
Raw<Stream<List<String>>>
>
createElement() {
return _SearchSuggestionsRepositoryProviderElement(this);
}
@@ -170,13 +172,18 @@ mixin SearchSuggestionsRepositoryRef
}
class _SearchSuggestionsRepositoryProviderElement
extends NotifierProviderElement<SearchSuggestionsRepository,
Raw<Stream<List<String>>>> with SearchSuggestionsRepositoryRef {
extends
NotifierProviderElement<
SearchSuggestionsRepository,
Raw<Stream<List<String>>>
>
with SearchSuggestionsRepositoryRef {
_SearchSuggestionsRepositoryProviderElement(super.provider);
@override
ISearchSuggestionProvider get suggestionsProvider =>
(origin as SearchSuggestionsRepositoryProvider).suggestionsProvider;
}
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package
@@ -2,11 +2,12 @@ import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:lensai/core/routing/routes.dart';
import 'package:lensai/extensions/nullable.dart';
import 'package:lensai/features/bangs/data/models/bang_data.dart';
import 'package:lensai/features/bangs/domain/repositories/search.dart';
import 'package:lensai/features/bangs/domain/providers/search.dart';
import 'package:lensai/presentation/hooks/listenable_callback.dart';
import 'package:lensai/presentation/widgets/bang_icon.dart';
import 'package:lensai/presentation/widgets/selectable_chips.dart';
import 'package:lensai/presentation/widgets/url_icon.dart';
class BangChips extends HookConsumerWidget {
final bool displayMenu;
@@ -99,7 +100,7 @@ class BangChips extends HookConsumerWidget {
await context.push(
BangSearchRoute(
searchText:
(searchText?.isEmpty ?? true)
(searchText.isEmpty)
? BangSearchRoute.emptySearchText
: searchText!,
).location,
@@ -6,8 +6,8 @@ import 'package:lensai/features/geckoview/features/search/domain/providers/engin
import 'package:lensai/features/user/domain/providers.dart';
import 'package:lensai/presentation/hooks/listenable_callback.dart';
import 'package:lensai/presentation/widgets/auto_suggest_text_field.dart';
import 'package:lensai/presentation/widgets/bang_icon.dart';
import 'package:lensai/presentation/widgets/speech_to_text_button.dart';
import 'package:lensai/presentation/widgets/url_icon.dart';
class SearchField extends HookConsumerWidget {
final TextEditingController textEditingController;
@@ -29,7 +29,7 @@ class HistorySuggestions extends HookConsumerWidget {
});
if (historySuggestions.hasValue &&
(historySuggestions.valueOrNull?.isEmpty ?? true)) {
(historySuggestions.valueOrNull.isEmpty)) {
return const SliverToBoxAdapter(child: SizedBox.shrink());
}
@@ -3,6 +3,7 @@ import 'package:fading_scroll/fading_scroll.dart';
import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:lensai/extensions/nullable.dart';
import 'package:lensai/features/bangs/data/models/bang_data.dart';
import 'package:lensai/features/bangs/domain/providers/bangs.dart';
import 'package:lensai/features/bangs/domain/repositories/data.dart';
@@ -40,7 +41,7 @@ class SearchTermSuggestions extends HookConsumerWidget {
final searchHistory = ref.watch(searchHistoryProvider);
useListenableCallback(searchTextController, () async {
useListenableCallback(searchTextController, () {
ref
.read(searchSuggestionsProvider().notifier)
.addQuery(searchTextController.text);
@@ -50,7 +51,7 @@ class SearchTermSuggestions extends HookConsumerWidget {
if (showHistory &&
!searchTextIsNotEmpty &&
(searchHistory.value?.isNotEmpty ?? false)) {
(searchHistory.value.isNotEmpty)) {
final entries = searchHistory.value!;
listSliver = SliverList.builder(
@@ -13,7 +13,7 @@ import 'package:lensai/features/geckoview/features/tabs/domain/providers/selecte
import 'package:lensai/features/geckoview/features/tabs/domain/repositories/tab_search.dart';
import 'package:lensai/features/geckoview/features/tabs/presentation/widgets/container_chips.dart';
import 'package:lensai/presentation/hooks/listenable_callback.dart';
import 'package:lensai/presentation/widgets/bang_icon.dart';
import 'package:lensai/presentation/widgets/url_icon.dart';
import 'package:sliver_tools/sliver_tools.dart';
class TabSearch extends HookConsumerWidget {
@@ -34,7 +34,7 @@ class ContainerDao extends DatabaseAccessor<TabDatabase>
}
Future<void> deleteContainer(String id) {
return db.container.deleteOne(ContainerCompanion.custom(id: Variable(id)));
return db.container.deleteOne(ContainerCompanion(id: Value(id)));
}
SingleOrNullSelectable<ContainerData> getContainerData(String id) {
@@ -74,10 +74,9 @@ class TabDao extends DatabaseAccessor<TabDatabase> with _$TabDaoMixin {
orderKey: currentOrderKey,
),
onConflict: DoUpdate(
(old) => TabCompanion.custom(
containerId:
(containerId.present) ? Variable(containerId.value) : null,
orderKey: (orderKey.present) ? Variable(orderKey.value) : null,
(old) => TabCompanion(
containerId: containerId,
orderKey: Value.absentIfNull(orderKey.value),
),
),
);
@@ -107,10 +106,9 @@ class TabDao extends DatabaseAccessor<TabDatabase> with _$TabDaoMixin {
orderKey: currentOrderKey,
),
onConflict: DoUpdate(
(old) => TabCompanion.custom(
containerId:
(containerId.present) ? Variable(containerId.value) : null,
orderKey: (orderKey.present) ? Variable(orderKey.value) : null,
(old) => TabCompanion(
containerId: containerId,
orderKey: Value.absentIfNull(orderKey.value),
),
where: (old) => old.containerId.isNull(),
),
@@ -160,7 +158,7 @@ class TabDao extends DatabaseAccessor<TabDatabase> with _$TabDaoMixin {
Map<String, TabState>? previous,
Map<String, TabState> next,
) async {
await batch((batch) async {
await batch((batch) {
for (final state in next.values) {
final previousState = previous?[state.id];
@@ -172,7 +170,7 @@ class TabDao extends DatabaseAccessor<TabDatabase> with _$TabDaoMixin {
TabCompanion(
url:
(previousState?.url != state.url)
? Value(state.url.toString())
? Value(state.url)
: const Value.absent(),
title:
(previousState?.title != state.title)
@@ -186,7 +184,7 @@ class TabDao extends DatabaseAccessor<TabDatabase> with _$TabDaoMixin {
});
}
Future<void> syncTabs({required List<String> retainTabIds}) async {
Future<void> syncTabs({required List<String> retainTabIds}) {
return db.transaction(() async {
await (db.tab.delete()..where((t) => t.id.isNotIn(retainTabIds))).go();
@@ -1,6 +1,7 @@
import 'package:drift/drift.dart';
import 'package:flutter/widgets.dart' show Color;
import 'package:lensai/data/database/converters/color.dart';
import 'package:lensai/data/database/converters/uri.dart';
import 'package:lensai/features/geckoview/features/tabs/data/database/converters/container_metadata_converter.dart';
import 'package:lensai/features/geckoview/features/tabs/data/database/daos/container.dart';
import 'package:lensai/features/geckoview/features/tabs/data/database/daos/tab.dart';
@@ -1,4 +1,5 @@
import 'package:lensai/data/database/converters/color.dart';
import 'package:lensai/data/database/converters/uri.dart';
import 'package:lensai/features/geckoview/features/tabs/data/models/container_data.dart';
import 'package:lensai/features/geckoview/features/tabs/data/models/tab_query_result.dart';
import 'package:lensai/features/geckoview/features/tabs/data/database/converters/container_metadata_converter.dart';
@@ -14,7 +15,7 @@ CREATE TABLE tab (
id TEXT PRIMARY KEY NOT NULL,
container_id TEXT REFERENCES container (id) ON DELETE CASCADE,
order_key TEXT NOT NULL,
url TEXT,
url TEXT MAPPED BY `const UriConverter()`,
title TEXT,
is_probably_readerable BOOL,
extracted_content_markdown TEXT,
File diff suppressed because it is too large Load Diff
@@ -46,7 +46,6 @@ class _$ContainerAuthSettingsCWProxyImpl
this(lockTimeout: lockTimeout);
@override
/// This function **does support** nullification of nullable fields. All `null` values passed to `non-nullable` fields will be ignored. You can also use `ContainerAuthSettings(...).copyWith.fieldName(...)` to override fields one at a time with nullification support.
///
/// Usage
@@ -64,14 +63,16 @@ class _$ContainerAuthSettingsCWProxyImpl
? _value.authenticationRequired
// ignore: cast_nullable_to_non_nullable
: authenticationRequired as bool,
lockOnAppBackground: lockOnAppBackground == const $CopyWithPlaceholder()
? _value.lockOnAppBackground
// ignore: cast_nullable_to_non_nullable
: lockOnAppBackground as bool,
lockTimeout: lockTimeout == const $CopyWithPlaceholder()
? _value.lockTimeout
// ignore: cast_nullable_to_non_nullable
: lockTimeout as Duration?,
lockOnAppBackground:
lockOnAppBackground == const $CopyWithPlaceholder()
? _value.lockOnAppBackground
// ignore: cast_nullable_to_non_nullable
: lockOnAppBackground as bool,
lockTimeout:
lockTimeout == const $CopyWithPlaceholder()
? _value.lockTimeout
// ignore: cast_nullable_to_non_nullable
: lockTimeout as Duration?,
);
}
}
@@ -127,7 +128,6 @@ class _$ContainerMetadataCWProxyImpl implements _$ContainerMetadataCWProxy {
ContainerMetadata useProxy(bool useProxy) => this(useProxy: useProxy);
@override
/// This function **does support** nullification of nullable fields. All `null` values passed to `non-nullable` fields will be ignored. You can also use `ContainerMetadata(...).copyWith.fieldName(...)` to override fields one at a time with nullification support.
///
/// Usage
@@ -141,22 +141,26 @@ class _$ContainerMetadataCWProxyImpl implements _$ContainerMetadataCWProxy {
Object? useProxy = const $CopyWithPlaceholder(),
}) {
return ContainerMetadata(
iconData: iconData == const $CopyWithPlaceholder()
? _value.iconData
// ignore: cast_nullable_to_non_nullable
: iconData as IconData?,
contextualIdentity: contextualIdentity == const $CopyWithPlaceholder()
? _value.contextualIdentity
// ignore: cast_nullable_to_non_nullable
: contextualIdentity as String?,
authSettings: authSettings == const $CopyWithPlaceholder()
? _value.authSettings
// ignore: cast_nullable_to_non_nullable
: authSettings as ContainerAuthSettings,
useProxy: useProxy == const $CopyWithPlaceholder()
? _value.useProxy
// ignore: cast_nullable_to_non_nullable
: useProxy as bool,
iconData:
iconData == const $CopyWithPlaceholder()
? _value.iconData
// ignore: cast_nullable_to_non_nullable
: iconData as IconData?,
contextualIdentity:
contextualIdentity == const $CopyWithPlaceholder()
? _value.contextualIdentity
// ignore: cast_nullable_to_non_nullable
: contextualIdentity as String?,
authSettings:
authSettings == const $CopyWithPlaceholder()
? _value.authSettings
// ignore: cast_nullable_to_non_nullable
: authSettings as ContainerAuthSettings,
useProxy:
useProxy == const $CopyWithPlaceholder()
? _value.useProxy
// ignore: cast_nullable_to_non_nullable
: useProxy as bool,
);
}
}
@@ -211,7 +215,6 @@ class _$ContainerDataCWProxyImpl implements _$ContainerDataCWProxy {
this(metadata: metadata);
@override
/// This function **does support** nullification of nullable fields. All `null` values passed to `non-nullable` fields will be ignored. You can also use `ContainerData(...).copyWith.fieldName(...)` to override fields one at a time with nullification support.
///
/// Usage
@@ -225,22 +228,26 @@ class _$ContainerDataCWProxyImpl implements _$ContainerDataCWProxy {
Object? metadata = const $CopyWithPlaceholder(),
}) {
return ContainerData(
id: id == const $CopyWithPlaceholder()
? _value.id
// ignore: cast_nullable_to_non_nullable
: id as String,
name: name == const $CopyWithPlaceholder()
? _value.name
// ignore: cast_nullable_to_non_nullable
: name as String?,
color: color == const $CopyWithPlaceholder()
? _value.color
// ignore: cast_nullable_to_non_nullable
: color as Color,
metadata: metadata == const $CopyWithPlaceholder()
? _value.metadata
// ignore: cast_nullable_to_non_nullable
: metadata as ContainerMetadata?,
id:
id == const $CopyWithPlaceholder()
? _value.id
// ignore: cast_nullable_to_non_nullable
: id as String,
name:
name == const $CopyWithPlaceholder()
? _value.name
// ignore: cast_nullable_to_non_nullable
: name as String?,
color:
color == const $CopyWithPlaceholder()
? _value.color
// ignore: cast_nullable_to_non_nullable
: color as Color,
metadata:
metadata == const $CopyWithPlaceholder()
? _value.metadata
// ignore: cast_nullable_to_non_nullable
: metadata as ContainerMetadata?,
);
}
}
@@ -256,52 +263,57 @@ extension $ContainerDataCopyWith on ContainerData {
// **************************************************************************
ContainerAuthSettings _$ContainerAuthSettingsFromJson(
Map<String, dynamic> json) =>
ContainerAuthSettings(
authenticationRequired: json['authenticationRequired'] as bool,
lockOnAppBackground: json['lockOnAppBackground'] as bool,
lockTimeout: json['lockTimeout'] == null
Map<String, dynamic> json,
) => ContainerAuthSettings(
authenticationRequired: json['authenticationRequired'] as bool,
lockOnAppBackground: json['lockOnAppBackground'] as bool,
lockTimeout:
json['lockTimeout'] == null
? null
: Duration(microseconds: (json['lockTimeout'] as num).toInt()),
);
);
Map<String, dynamic> _$ContainerAuthSettingsToJson(
ContainerAuthSettings instance) =>
<String, dynamic>{
'authenticationRequired': instance.authenticationRequired,
'lockOnAppBackground': instance.lockOnAppBackground,
'lockTimeout': instance.lockTimeout?.inMicroseconds,
};
ContainerAuthSettings instance,
) => <String, dynamic>{
'authenticationRequired': instance.authenticationRequired,
'lockOnAppBackground': instance.lockOnAppBackground,
'lockTimeout': instance.lockTimeout?.inMicroseconds,
};
ContainerMetadata _$ContainerMetadataFromJson(Map<String, dynamic> json) =>
ContainerMetadata.withDefaults(
iconData: _$JsonConverterFromJson<Map<String, dynamic>, IconData>(
json['iconData'], const IconDataJsonConverter().fromJson),
json['iconData'],
const IconDataJsonConverter().fromJson,
),
contextualIdentity: json['contextualIdentity'] as String?,
authSettings: json['authSettings'] == null
? null
: ContainerAuthSettings.fromJson(
json['authSettings'] as Map<String, dynamic>),
authSettings:
json['authSettings'] == null
? null
: ContainerAuthSettings.fromJson(
json['authSettings'] as Map<String, dynamic>,
),
useProxy: json['useProxy'] as bool? ?? false,
);
Map<String, dynamic> _$ContainerMetadataToJson(ContainerMetadata instance) =>
<String, dynamic>{
'iconData': _$JsonConverterToJson<Map<String, dynamic>, IconData>(
instance.iconData, const IconDataJsonConverter().toJson),
instance.iconData,
const IconDataJsonConverter().toJson,
),
'contextualIdentity': instance.contextualIdentity,
'authSettings': instance.authSettings,
'authSettings': instance.authSettings.toJson(),
'useProxy': instance.useProxy,
};
Value? _$JsonConverterFromJson<Json, Value>(
Object? json,
Value? Function(Json json) fromJson,
) =>
json == null ? null : fromJson(json as Json);
) => json == null ? null : fromJson(json as Json);
Json? _$JsonConverterToJson<Json, Value>(
Value? value,
Json? Function(Value value) toJson,
) =>
value == null ? null : toJson(value);
) => value == null ? null : toJson(value);
@@ -4,7 +4,7 @@ class TabQueryResult with FastEquatable {
final String id;
final String? title;
final String? cleanUrl;
final Uri? cleanUrl;
final String? url;
final String? extractedContent;
@@ -1,3 +1,4 @@
import 'package:lensai/extensions/nullable.dart';
import 'package:lensai/features/geckoview/features/tabs/data/entities/container_filter.dart';
import 'package:lensai/features/geckoview/features/tabs/data/models/container_data.dart';
import 'package:lensai/features/geckoview/features/tabs/data/providers.dart';
@@ -20,7 +21,7 @@ AsyncValue<List<ContainerDataWithCount>> matchSortedContainersWithCount(
) {
return ref.watch(
containersWithCountProvider.select((value) {
if (searchText?.isEmpty ?? true) {
if (searchText.isEmpty) {
return value;
}
@@ -13,21 +13,22 @@ String _$containersWithCountHash() =>
@ProviderFor(containersWithCount)
final containersWithCountProvider =
AutoDisposeStreamProvider<List<ContainerDataWithCount>>.internal(
containersWithCount,
name: r'containersWithCountProvider',
debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
? null
: _$containersWithCountHash,
dependencies: null,
allTransitiveDependencies: null,
);
containersWithCount,
name: r'containersWithCountProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$containersWithCountHash,
dependencies: null,
allTransitiveDependencies: null,
);
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
typedef ContainersWithCountRef
= AutoDisposeStreamProviderRef<List<ContainerDataWithCount>>;
typedef ContainersWithCountRef =
AutoDisposeStreamProviderRef<List<ContainerDataWithCount>>;
String _$matchSortedContainersWithCountHash() =>
r'0ed555f0cb72f4990a2841114d72f57d8178d5c3';
r'bc2077602c3c1d86c5b916e4ad920053310993e4';
/// Copied from Dart SDK
class _SystemHash {
@@ -62,21 +63,15 @@ class MatchSortedContainersWithCountFamily
const MatchSortedContainersWithCountFamily();
/// See also [matchSortedContainersWithCount].
MatchSortedContainersWithCountProvider call(
String? searchText,
) {
return MatchSortedContainersWithCountProvider(
searchText,
);
MatchSortedContainersWithCountProvider call(String? searchText) {
return MatchSortedContainersWithCountProvider(searchText);
}
@override
MatchSortedContainersWithCountProvider getProviderOverride(
covariant MatchSortedContainersWithCountProvider provider,
) {
return call(
provider.searchText,
);
return call(provider.searchText);
}
static const Iterable<ProviderOrFamily>? _dependencies = null;
@@ -98,24 +93,23 @@ class MatchSortedContainersWithCountFamily
class MatchSortedContainersWithCountProvider
extends AutoDisposeProvider<AsyncValue<List<ContainerDataWithCount>>> {
/// See also [matchSortedContainersWithCount].
MatchSortedContainersWithCountProvider(
String? searchText,
) : this._internal(
(ref) => matchSortedContainersWithCount(
ref as MatchSortedContainersWithCountRef,
searchText,
),
from: matchSortedContainersWithCountProvider,
name: r'matchSortedContainersWithCountProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$matchSortedContainersWithCountHash,
dependencies: MatchSortedContainersWithCountFamily._dependencies,
allTransitiveDependencies:
MatchSortedContainersWithCountFamily._allTransitiveDependencies,
searchText: searchText,
);
MatchSortedContainersWithCountProvider(String? searchText)
: this._internal(
(ref) => matchSortedContainersWithCount(
ref as MatchSortedContainersWithCountRef,
searchText,
),
from: matchSortedContainersWithCountProvider,
name: r'matchSortedContainersWithCountProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$matchSortedContainersWithCountHash,
dependencies: MatchSortedContainersWithCountFamily._dependencies,
allTransitiveDependencies:
MatchSortedContainersWithCountFamily._allTransitiveDependencies,
searchText: searchText,
);
MatchSortedContainersWithCountProvider._internal(
super._createNotifier, {
@@ -132,8 +126,9 @@ class MatchSortedContainersWithCountProvider
@override
Override overrideWith(
AsyncValue<List<ContainerDataWithCount>> Function(
MatchSortedContainersWithCountRef provider)
create,
MatchSortedContainersWithCountRef provider,
)
create,
) {
return ProviderOverride(
origin: this,
@@ -151,7 +146,7 @@ class MatchSortedContainersWithCountProvider
@override
AutoDisposeProviderElement<AsyncValue<List<ContainerDataWithCount>>>
createElement() {
createElement() {
return _MatchSortedContainersWithCountProviderElement(this);
}
@@ -200,21 +195,15 @@ class ContainerTabIdsFamily extends Family<AsyncValue<List<String>>> {
const ContainerTabIdsFamily();
/// See also [containerTabIds].
ContainerTabIdsProvider call(
ContainerFilter containerFilter,
) {
return ContainerTabIdsProvider(
containerFilter,
);
ContainerTabIdsProvider call(ContainerFilter containerFilter) {
return ContainerTabIdsProvider(containerFilter);
}
@override
ContainerTabIdsProvider getProviderOverride(
covariant ContainerTabIdsProvider provider,
) {
return call(
provider.containerFilter,
);
return call(provider.containerFilter);
}
static const Iterable<ProviderOrFamily>? _dependencies = null;
@@ -235,24 +224,20 @@ class ContainerTabIdsFamily extends Family<AsyncValue<List<String>>> {
/// See also [containerTabIds].
class ContainerTabIdsProvider extends AutoDisposeStreamProvider<List<String>> {
/// See also [containerTabIds].
ContainerTabIdsProvider(
ContainerFilter containerFilter,
) : this._internal(
(ref) => containerTabIds(
ref as ContainerTabIdsRef,
containerFilter,
),
from: containerTabIdsProvider,
name: r'containerTabIdsProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$containerTabIdsHash,
dependencies: ContainerTabIdsFamily._dependencies,
allTransitiveDependencies:
ContainerTabIdsFamily._allTransitiveDependencies,
containerFilter: containerFilter,
);
ContainerTabIdsProvider(ContainerFilter containerFilter)
: this._internal(
(ref) => containerTabIds(ref as ContainerTabIdsRef, containerFilter),
from: containerTabIdsProvider,
name: r'containerTabIdsProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$containerTabIdsHash,
dependencies: ContainerTabIdsFamily._dependencies,
allTransitiveDependencies:
ContainerTabIdsFamily._allTransitiveDependencies,
containerFilter: containerFilter,
);
ContainerTabIdsProvider._internal(
super._createNotifier, {
@@ -320,5 +305,6 @@ class _ContainerTabIdsProviderElement
ContainerFilter get containerFilter =>
(origin as ContainerTabIdsProvider).containerFilter;
}
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package
@@ -13,14 +13,15 @@ String _$selectedContainerDataHash() =>
@ProviderFor(selectedContainerData)
final selectedContainerDataProvider =
AutoDisposeStreamProvider<ContainerData?>.internal(
selectedContainerData,
name: r'selectedContainerDataProvider',
debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
? null
: _$selectedContainerDataHash,
dependencies: null,
allTransitiveDependencies: null,
);
selectedContainerData,
name: r'selectedContainerDataProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$selectedContainerDataHash,
dependencies: null,
allTransitiveDependencies: null,
);
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
@@ -31,14 +32,15 @@ String _$selectedContainerHash() => r'f3dab491337396b8d56daed37a0d85c85aa8d64a';
@ProviderFor(SelectedContainer)
final selectedContainerProvider =
NotifierProvider<SelectedContainer, String?>.internal(
SelectedContainer.new,
name: r'selectedContainerProvider',
debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
? null
: _$selectedContainerHash,
dependencies: null,
allTransitiveDependencies: null,
);
SelectedContainer.new,
name: r'selectedContainerProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$selectedContainerHash,
dependencies: null,
allTransitiveDependencies: null,
);
typedef _$SelectedContainer = Notifier<String?>;
// ignore_for_file: type=lint
@@ -22,7 +22,7 @@ class ContainerRepository extends _$ContainerRepository {
.replaceContainer(container);
}
Future<ContainerData?> getContainerData(String id) async {
Future<ContainerData?> getContainerData(String id) {
return ref
.read(tabDatabaseProvider)
.containerDao
@@ -7,20 +7,21 @@ part of 'container.dart';
// **************************************************************************
String _$containerRepositoryHash() =>
r'e91db35caae057e777fbe3b77439289844f52677';
r'7bb9aa1b2d88e79b7d5e69df1817fb4c97a2a542';
/// See also [ContainerRepository].
@ProviderFor(ContainerRepository)
final containerRepositoryProvider =
NotifierProvider<ContainerRepository, void>.internal(
ContainerRepository.new,
name: r'containerRepositoryProvider',
debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
? null
: _$containerRepositoryHash,
dependencies: null,
allTransitiveDependencies: null,
);
ContainerRepository.new,
name: r'containerRepositoryProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$containerRepositoryHash,
dependencies: null,
allTransitiveDependencies: null,
);
typedef _$ContainerRepository = Notifier<void>;
// ignore_for_file: type=lint
@@ -12,14 +12,15 @@ String _$tabDataRepositoryHash() => r'6c6f4aa5eaf4033541700bf18a592555a4b946d3';
@ProviderFor(TabDataRepository)
final tabDataRepositoryProvider =
NotifierProvider<TabDataRepository, void>.internal(
TabDataRepository.new,
name: r'tabDataRepositoryProvider',
debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
? null
: _$tabDataRepositoryHash,
dependencies: null,
allTransitiveDependencies: null,
);
TabDataRepository.new,
name: r'tabDataRepositoryProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$tabDataRepositoryHash,
dependencies: null,
allTransitiveDependencies: null,
);
typedef _$TabDataRepository = Notifier<void>;
// ignore_for_file: type=lint
@@ -34,9 +34,7 @@ abstract class _$TabSearchRepository
extends BuildlessAutoDisposeAsyncNotifier<List<TabQueryResult>?> {
late final TabSearchPartition partition;
FutureOr<List<TabQueryResult>?> build(
TabSearchPartition partition,
);
FutureOr<List<TabQueryResult>?> build(TabSearchPartition partition);
}
/// See also [TabSearchRepository].
@@ -50,21 +48,15 @@ class TabSearchRepositoryFamily
const TabSearchRepositoryFamily();
/// See also [TabSearchRepository].
TabSearchRepositoryProvider call(
TabSearchPartition partition,
) {
return TabSearchRepositoryProvider(
partition,
);
TabSearchRepositoryProvider call(TabSearchPartition partition) {
return TabSearchRepositoryProvider(partition);
}
@override
TabSearchRepositoryProvider getProviderOverride(
covariant TabSearchRepositoryProvider provider,
) {
return call(
provider.partition,
);
return call(provider.partition);
}
static const Iterable<ProviderOrFamily>? _dependencies = null;
@@ -83,24 +75,27 @@ class TabSearchRepositoryFamily
}
/// See also [TabSearchRepository].
class TabSearchRepositoryProvider extends AutoDisposeAsyncNotifierProviderImpl<
TabSearchRepository, List<TabQueryResult>?> {
class TabSearchRepositoryProvider
extends
AutoDisposeAsyncNotifierProviderImpl<
TabSearchRepository,
List<TabQueryResult>?
> {
/// See also [TabSearchRepository].
TabSearchRepositoryProvider(
TabSearchPartition partition,
) : this._internal(
() => TabSearchRepository()..partition = partition,
from: tabSearchRepositoryProvider,
name: r'tabSearchRepositoryProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$tabSearchRepositoryHash,
dependencies: TabSearchRepositoryFamily._dependencies,
allTransitiveDependencies:
TabSearchRepositoryFamily._allTransitiveDependencies,
partition: partition,
);
TabSearchRepositoryProvider(TabSearchPartition partition)
: this._internal(
() => TabSearchRepository()..partition = partition,
from: tabSearchRepositoryProvider,
name: r'tabSearchRepositoryProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$tabSearchRepositoryHash,
dependencies: TabSearchRepositoryFamily._dependencies,
allTransitiveDependencies:
TabSearchRepositoryFamily._allTransitiveDependencies,
partition: partition,
);
TabSearchRepositoryProvider._internal(
super._createNotifier, {
@@ -118,9 +113,7 @@ class TabSearchRepositoryProvider extends AutoDisposeAsyncNotifierProviderImpl<
FutureOr<List<TabQueryResult>?> runNotifierBuild(
covariant TabSearchRepository notifier,
) {
return notifier.build(
partition,
);
return notifier.build(partition);
}
@override
@@ -140,8 +133,11 @@ class TabSearchRepositoryProvider extends AutoDisposeAsyncNotifierProviderImpl<
}
@override
AutoDisposeAsyncNotifierProviderElement<TabSearchRepository,
List<TabQueryResult>?> createElement() {
AutoDisposeAsyncNotifierProviderElement<
TabSearchRepository,
List<TabQueryResult>?
>
createElement() {
return _TabSearchRepositoryProviderElement(this);
}
@@ -168,13 +164,18 @@ mixin TabSearchRepositoryRef
}
class _TabSearchRepositoryProviderElement
extends AutoDisposeAsyncNotifierProviderElement<TabSearchRepository,
List<TabQueryResult>?> with TabSearchRepositoryRef {
extends
AutoDisposeAsyncNotifierProviderElement<
TabSearchRepository,
List<TabQueryResult>?
>
with TabSearchRepositoryRef {
_TabSearchRepositoryProviderElement(super.provider);
@override
TabSearchPartition get partition =>
(origin as TabSearchRepositoryProvider).partition;
}
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package
@@ -32,9 +32,7 @@ class _SystemHash {
abstract class _$ChatBackend extends BuildlessAutoDisposeNotifier<void> {
late final String chatId;
void build(
String chatId,
);
void build(String chatId);
}
/// See also [ChatBackend].
@@ -47,21 +45,15 @@ class ChatBackendFamily extends Family<void> {
const ChatBackendFamily();
/// See also [ChatBackend].
ChatBackendProvider call(
String chatId,
) {
return ChatBackendProvider(
chatId,
);
ChatBackendProvider call(String chatId) {
return ChatBackendProvider(chatId);
}
@override
ChatBackendProvider getProviderOverride(
covariant ChatBackendProvider provider,
) {
return call(
provider.chatId,
);
return call(provider.chatId);
}
static const Iterable<ProviderOrFamily>? _dependencies = null;
@@ -83,21 +75,19 @@ class ChatBackendFamily extends Family<void> {
class ChatBackendProvider
extends AutoDisposeNotifierProviderImpl<ChatBackend, void> {
/// See also [ChatBackend].
ChatBackendProvider(
String chatId,
) : this._internal(
() => ChatBackend()..chatId = chatId,
from: chatBackendProvider,
name: r'chatBackendProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$chatBackendHash,
dependencies: ChatBackendFamily._dependencies,
allTransitiveDependencies:
ChatBackendFamily._allTransitiveDependencies,
chatId: chatId,
);
ChatBackendProvider(String chatId)
: this._internal(
() => ChatBackend()..chatId = chatId,
from: chatBackendProvider,
name: r'chatBackendProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$chatBackendHash,
dependencies: ChatBackendFamily._dependencies,
allTransitiveDependencies: ChatBackendFamily._allTransitiveDependencies,
chatId: chatId,
);
ChatBackendProvider._internal(
super._createNotifier, {
@@ -112,12 +102,8 @@ class ChatBackendProvider
final String chatId;
@override
void runNotifierBuild(
covariant ChatBackend notifier,
) {
return notifier.build(
chatId,
);
void runNotifierBuild(covariant ChatBackend notifier) {
return notifier.build(chatId);
}
@override
@@ -170,5 +156,6 @@ class _ChatBackendProviderElement
@override
String get chatId => (origin as ChatBackendProvider).chatId;
}
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package
@@ -98,23 +98,24 @@ class QAMemoryChainProvider
String? mainDocumentId,
String? contextId,
}) : this._internal(
() => QAMemoryChain()
..chatId = chatId
..mainDocumentId = mainDocumentId
..contextId = contextId,
from: qAMemoryChainProvider,
name: r'qAMemoryChainProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$qAMemoryChainHash,
dependencies: QAMemoryChainFamily._dependencies,
allTransitiveDependencies:
QAMemoryChainFamily._allTransitiveDependencies,
chatId: chatId,
mainDocumentId: mainDocumentId,
contextId: contextId,
);
() =>
QAMemoryChain()
..chatId = chatId
..mainDocumentId = mainDocumentId
..contextId = contextId,
from: qAMemoryChainProvider,
name: r'qAMemoryChainProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$qAMemoryChainHash,
dependencies: QAMemoryChainFamily._dependencies,
allTransitiveDependencies:
QAMemoryChainFamily._allTransitiveDependencies,
chatId: chatId,
mainDocumentId: mainDocumentId,
contextId: contextId,
);
QAMemoryChainProvider._internal(
super._createNotifier, {
@@ -133,9 +134,7 @@ class QAMemoryChainProvider
final String? contextId;
@override
void runNotifierBuild(
covariant QAMemoryChain notifier,
) {
void runNotifierBuild(covariant QAMemoryChain notifier) {
return notifier.build(
chatId: chatId,
mainDocumentId: mainDocumentId,
@@ -148,10 +147,11 @@ class QAMemoryChainProvider
return ProviderOverride(
origin: this,
override: QAMemoryChainProvider._internal(
() => create()
..chatId = chatId
..mainDocumentId = mainDocumentId
..contextId = contextId,
() =>
create()
..chatId = chatId
..mainDocumentId = mainDocumentId
..contextId = contextId,
from: from,
name: null,
dependencies: null,
@@ -214,5 +214,6 @@ class _QAMemoryChainProviderElement
@override
String? get contextId => (origin as QAMemoryChainProvider).contextId;
}
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package
@@ -13,14 +13,15 @@ String _$documentRepositoryHash() =>
@ProviderFor(DocumentRepository)
final documentRepositoryProvider =
AutoDisposeNotifierProvider<DocumentRepository, void>.internal(
DocumentRepository.new,
name: r'documentRepositoryProvider',
debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
? null
: _$documentRepositoryHash,
dependencies: null,
allTransitiveDependencies: null,
);
DocumentRepository.new,
name: r'documentRepositoryProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$documentRepositoryHash,
dependencies: null,
allTransitiveDependencies: null,
);
typedef _$DocumentRepository = AutoDisposeNotifier<void>;
// ignore_for_file: type=lint
@@ -11,7 +11,6 @@ import 'package:lensai/features/geckoview/features/tabs/data/models/container_da
import 'package:lensai/features/geckoview/features/tabs/domain/providers.dart';
import 'package:lensai/features/geckoview/features/tabs/domain/repositories/container.dart';
import 'package:lensai/features/geckoview/features/tabs/domain/repositories/tab.dart';
import 'package:lensai/presentation/hooks/overlay_portal_controller.dart';
import 'package:lensai/presentation/widgets/selectable_chips.dart';
class ContainerChips extends HookConsumerWidget {
@@ -1,9 +1,9 @@
import 'dart:typed_data';
import 'dart:ui';
import 'package:fast_equatable/hash.dart';
import 'package:lensai/domain/entities/equatable_image.dart';
import 'package:lensai/utils/lru_cache.dart';
import 'package:xxh3/xxh3.dart';
final _cache = LRUCache<int, EquatableImage>(100);
@@ -13,7 +13,7 @@ Future<EquatableImage?> tryDecodeImage(
int? targetHeight,
bool allowUpscaling = true,
}) async {
final digest = xxh3(bytes);
final digest = secureHash(bytes);
final cached = _cache.get(digest);
if (cached != null) {