pretty good
This commit is contained in:
@@ -57,17 +57,6 @@ Stream<List<SearchHistoryEntry>> searchHistory(Ref ref) {
|
||||
return repository.watchSearchHistory(limit: 3); //TODO: make count dynamic
|
||||
}
|
||||
|
||||
@Riverpod()
|
||||
Future<BangData> bangDataEnsureIcon(
|
||||
Ref ref,
|
||||
BangData bang,
|
||||
) {
|
||||
final repository = ref.watch(bangDataRepositoryProvider.notifier);
|
||||
return repository.ensureIconAvailable(bang).then(
|
||||
(value) => value.value,
|
||||
);
|
||||
}
|
||||
|
||||
@Riverpod()
|
||||
Stream<DateTime?> lastSyncOfGroup(
|
||||
Ref ref,
|
||||
|
||||
@@ -387,138 +387,6 @@ final searchHistoryProvider =
|
||||
// ignore: unused_element
|
||||
typedef SearchHistoryRef
|
||||
= AutoDisposeStreamProviderRef<List<SearchHistoryEntry>>;
|
||||
String _$bangDataEnsureIconHash() =>
|
||||
r'423b8e92fd89ec328c2fcc8f9e55365c30633fd2';
|
||||
|
||||
/// See also [bangDataEnsureIcon].
|
||||
@ProviderFor(bangDataEnsureIcon)
|
||||
const bangDataEnsureIconProvider = BangDataEnsureIconFamily();
|
||||
|
||||
/// See also [bangDataEnsureIcon].
|
||||
class BangDataEnsureIconFamily extends Family<AsyncValue<BangData>> {
|
||||
/// See also [bangDataEnsureIcon].
|
||||
const BangDataEnsureIconFamily();
|
||||
|
||||
/// See also [bangDataEnsureIcon].
|
||||
BangDataEnsureIconProvider call(
|
||||
BangData bang,
|
||||
) {
|
||||
return BangDataEnsureIconProvider(
|
||||
bang,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
BangDataEnsureIconProvider getProviderOverride(
|
||||
covariant BangDataEnsureIconProvider provider,
|
||||
) {
|
||||
return call(
|
||||
provider.bang,
|
||||
);
|
||||
}
|
||||
|
||||
static const Iterable<ProviderOrFamily>? _dependencies = null;
|
||||
|
||||
@override
|
||||
Iterable<ProviderOrFamily>? get dependencies => _dependencies;
|
||||
|
||||
static const Iterable<ProviderOrFamily>? _allTransitiveDependencies = null;
|
||||
|
||||
@override
|
||||
Iterable<ProviderOrFamily>? get allTransitiveDependencies =>
|
||||
_allTransitiveDependencies;
|
||||
|
||||
@override
|
||||
String? get name => r'bangDataEnsureIconProvider';
|
||||
}
|
||||
|
||||
/// See also [bangDataEnsureIcon].
|
||||
class BangDataEnsureIconProvider extends AutoDisposeFutureProvider<BangData> {
|
||||
/// See also [bangDataEnsureIcon].
|
||||
BangDataEnsureIconProvider(
|
||||
BangData bang,
|
||||
) : this._internal(
|
||||
(ref) => bangDataEnsureIcon(
|
||||
ref as BangDataEnsureIconRef,
|
||||
bang,
|
||||
),
|
||||
from: bangDataEnsureIconProvider,
|
||||
name: r'bangDataEnsureIconProvider',
|
||||
debugGetCreateSourceHash:
|
||||
const bool.fromEnvironment('dart.vm.product')
|
||||
? null
|
||||
: _$bangDataEnsureIconHash,
|
||||
dependencies: BangDataEnsureIconFamily._dependencies,
|
||||
allTransitiveDependencies:
|
||||
BangDataEnsureIconFamily._allTransitiveDependencies,
|
||||
bang: bang,
|
||||
);
|
||||
|
||||
BangDataEnsureIconProvider._internal(
|
||||
super._createNotifier, {
|
||||
required super.name,
|
||||
required super.dependencies,
|
||||
required super.allTransitiveDependencies,
|
||||
required super.debugGetCreateSourceHash,
|
||||
required super.from,
|
||||
required this.bang,
|
||||
}) : super.internal();
|
||||
|
||||
final BangData bang;
|
||||
|
||||
@override
|
||||
Override overrideWith(
|
||||
FutureOr<BangData> Function(BangDataEnsureIconRef provider) create,
|
||||
) {
|
||||
return ProviderOverride(
|
||||
origin: this,
|
||||
override: BangDataEnsureIconProvider._internal(
|
||||
(ref) => create(ref as BangDataEnsureIconRef),
|
||||
from: from,
|
||||
name: null,
|
||||
dependencies: null,
|
||||
allTransitiveDependencies: null,
|
||||
debugGetCreateSourceHash: null,
|
||||
bang: bang,
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
AutoDisposeFutureProviderElement<BangData> createElement() {
|
||||
return _BangDataEnsureIconProviderElement(this);
|
||||
}
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
return other is BangDataEnsureIconProvider && other.bang == bang;
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode {
|
||||
var hash = _SystemHash.combine(0, runtimeType.hashCode);
|
||||
hash = _SystemHash.combine(hash, bang.hashCode);
|
||||
|
||||
return _SystemHash.finish(hash);
|
||||
}
|
||||
}
|
||||
|
||||
@Deprecated('Will be removed in 3.0. Use Ref instead')
|
||||
// ignore: unused_element
|
||||
mixin BangDataEnsureIconRef on AutoDisposeFutureProviderRef<BangData> {
|
||||
/// The parameter `bang` of this provider.
|
||||
BangData get bang;
|
||||
}
|
||||
|
||||
class _BangDataEnsureIconProviderElement
|
||||
extends AutoDisposeFutureProviderElement<BangData>
|
||||
with BangDataEnsureIconRef {
|
||||
_BangDataEnsureIconProviderElement(super.provider);
|
||||
|
||||
@override
|
||||
BangData get bang => (origin as BangDataEnsureIconProvider).bang;
|
||||
}
|
||||
|
||||
String _$lastSyncOfGroupHash() => r'23d07f3132ba9bb35a31f74e3a69698d31d4c569';
|
||||
|
||||
/// See also [lastSyncOfGroup].
|
||||
|
||||
@@ -111,26 +111,6 @@ class BangDataRepository extends _$BangDataRepository {
|
||||
.removeSearchEntry(searchQuery);
|
||||
}
|
||||
|
||||
Future<Result<BangData>> ensureIconAvailable(BangData bang) async {
|
||||
if (bang.icon != null) {
|
||||
return Result.success(bang);
|
||||
}
|
||||
|
||||
final url = bang.getUrl('');
|
||||
|
||||
final websiteProvider = ref.read(genericWebsiteServiceProvider.notifier);
|
||||
final cachedIcon = await websiteProvider.getCachedIcon(url);
|
||||
|
||||
if (cachedIcon != null) {
|
||||
return Result.success(bang.copyWith.icon(cachedIcon));
|
||||
}
|
||||
|
||||
return websiteProvider.fetchPageInfo(url).then(
|
||||
(result) => result
|
||||
.flatMap((pageInfo) => bang.copyWith.icon(pageInfo.favicon)),
|
||||
);
|
||||
}
|
||||
|
||||
Future<int> resetFrequencies() {
|
||||
return ref.read(bangDatabaseProvider).bangFrequency.deleteAll();
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ part of 'data.dart';
|
||||
// **************************************************************************
|
||||
|
||||
String _$bangDataRepositoryHash() =>
|
||||
r'2c009519cf02df4d3cbb6768dbe55e9eb696e126';
|
||||
r'de89d7089ce6a92015bee233f08d920981518793';
|
||||
|
||||
/// See also [BangDataRepository].
|
||||
@ProviderFor(BangDataRepository)
|
||||
|
||||
@@ -13,12 +13,13 @@ class BangSearch extends _$BangSearch {
|
||||
|
||||
Future<void> search(String input) async {
|
||||
if (input.isNotEmpty) {
|
||||
await ref
|
||||
.read(bangDatabaseProvider)
|
||||
.bangDao
|
||||
.queryBangs(input)
|
||||
.get()
|
||||
.then(_streamController.add);
|
||||
await ref.read(bangDatabaseProvider).bangDao.queryBangs(input).get().then(
|
||||
(value) {
|
||||
if (!_streamController.isClosed) {
|
||||
_streamController.add(value);
|
||||
}
|
||||
},
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ part of 'search.dart';
|
||||
// RiverpodGenerator
|
||||
// **************************************************************************
|
||||
|
||||
String _$bangSearchHash() => r'632ddd09a1198394884cb5c27a2bde7850c0515b';
|
||||
String _$bangSearchHash() => r'abf9ff5badf2ecfbcbde148fd2c849beac83bec4';
|
||||
|
||||
/// See also [BangSearch].
|
||||
@ProviderFor(BangSearch)
|
||||
|
||||
Reference in New Issue
Block a user