mirror of
https://github.com/kodjodevf/mangayomi.git
synced 2026-05-24 08:32:13 +00:00
MangasListState previously stored selected manga IDs as List<int>. Every visible library card called .contains() on that list once per rebuild to determine its highlight state, making each check O(n) in the number of selected items. The provider's own update/selectAll/ selectSome methods also used .contains() and .remove() on a List. Change the state type to Set<int> throughout, making all membership checks O(1). Updated all consumers: library_gridview_widget, library_listview_widget, library_app_bar, library_dialogs, and MangasSetIsReadState.
196 lines
4.9 KiB
Dart
196 lines
4.9 KiB
Dart
// GENERATED CODE - DO NOT MODIFY BY HAND
|
|
|
|
part of 'reader_controller_provider.dart';
|
|
|
|
// **************************************************************************
|
|
// RiverpodGenerator
|
|
// **************************************************************************
|
|
|
|
// GENERATED CODE - DO NOT MODIFY BY HAND
|
|
// ignore_for_file: type=lint, type=warning
|
|
|
|
@ProviderFor(CurrentIndex)
|
|
final currentIndexProvider = CurrentIndexFamily._();
|
|
|
|
final class CurrentIndexProvider extends $NotifierProvider<CurrentIndex, int> {
|
|
CurrentIndexProvider._({
|
|
required CurrentIndexFamily super.from,
|
|
required Chapter super.argument,
|
|
}) : super(
|
|
retry: null,
|
|
name: r'currentIndexProvider',
|
|
isAutoDispose: true,
|
|
dependencies: null,
|
|
$allTransitiveDependencies: null,
|
|
);
|
|
|
|
@override
|
|
String debugGetCreateSourceHash() => _$currentIndexHash();
|
|
|
|
@override
|
|
String toString() {
|
|
return r'currentIndexProvider'
|
|
''
|
|
'($argument)';
|
|
}
|
|
|
|
@$internal
|
|
@override
|
|
CurrentIndex create() => CurrentIndex();
|
|
|
|
/// {@macro riverpod.override_with_value}
|
|
Override overrideWithValue(int value) {
|
|
return $ProviderOverride(
|
|
origin: this,
|
|
providerOverride: $SyncValueProvider<int>(value),
|
|
);
|
|
}
|
|
|
|
@override
|
|
bool operator ==(Object other) {
|
|
return other is CurrentIndexProvider && other.argument == argument;
|
|
}
|
|
|
|
@override
|
|
int get hashCode {
|
|
return argument.hashCode;
|
|
}
|
|
}
|
|
|
|
String _$currentIndexHash() => r'e0b5e5b8a2afa5e8df699784009720334e1c9e80';
|
|
|
|
final class CurrentIndexFamily extends $Family
|
|
with $ClassFamilyOverride<CurrentIndex, int, int, int, Chapter> {
|
|
CurrentIndexFamily._()
|
|
: super(
|
|
retry: null,
|
|
name: r'currentIndexProvider',
|
|
dependencies: null,
|
|
$allTransitiveDependencies: null,
|
|
isAutoDispose: true,
|
|
);
|
|
|
|
CurrentIndexProvider call(Chapter chapter) =>
|
|
CurrentIndexProvider._(argument: chapter, from: this);
|
|
|
|
@override
|
|
String toString() => r'currentIndexProvider';
|
|
}
|
|
|
|
abstract class _$CurrentIndex extends $Notifier<int> {
|
|
late final _$args = ref.$arg as Chapter;
|
|
Chapter get chapter => _$args;
|
|
|
|
int build(Chapter chapter);
|
|
@$mustCallSuper
|
|
@override
|
|
void runBuild() {
|
|
final ref = this.ref as $Ref<int, int>;
|
|
final element =
|
|
ref.element
|
|
as $ClassProviderElement<
|
|
AnyNotifier<int, int>,
|
|
int,
|
|
Object?,
|
|
Object?
|
|
>;
|
|
element.handleCreate(ref, () => build(_$args));
|
|
}
|
|
}
|
|
|
|
@ProviderFor(ReaderController)
|
|
final readerControllerProvider = ReaderControllerFamily._();
|
|
|
|
final class ReaderControllerProvider
|
|
extends $NotifierProvider<ReaderController, KeepAliveLink> {
|
|
ReaderControllerProvider._({
|
|
required ReaderControllerFamily super.from,
|
|
required Chapter super.argument,
|
|
}) : super(
|
|
retry: null,
|
|
name: r'readerControllerProvider',
|
|
isAutoDispose: true,
|
|
dependencies: null,
|
|
$allTransitiveDependencies: null,
|
|
);
|
|
|
|
@override
|
|
String debugGetCreateSourceHash() => _$readerControllerHash();
|
|
|
|
@override
|
|
String toString() {
|
|
return r'readerControllerProvider'
|
|
''
|
|
'($argument)';
|
|
}
|
|
|
|
@$internal
|
|
@override
|
|
ReaderController create() => ReaderController();
|
|
|
|
/// {@macro riverpod.override_with_value}
|
|
Override overrideWithValue(KeepAliveLink value) {
|
|
return $ProviderOverride(
|
|
origin: this,
|
|
providerOverride: $SyncValueProvider<KeepAliveLink>(value),
|
|
);
|
|
}
|
|
|
|
@override
|
|
bool operator ==(Object other) {
|
|
return other is ReaderControllerProvider && other.argument == argument;
|
|
}
|
|
|
|
@override
|
|
int get hashCode {
|
|
return argument.hashCode;
|
|
}
|
|
}
|
|
|
|
String _$readerControllerHash() => r'adab728fa21939302d0f928b11be204e8e8a0527';
|
|
|
|
final class ReaderControllerFamily extends $Family
|
|
with
|
|
$ClassFamilyOverride<
|
|
ReaderController,
|
|
KeepAliveLink,
|
|
KeepAliveLink,
|
|
KeepAliveLink,
|
|
Chapter
|
|
> {
|
|
ReaderControllerFamily._()
|
|
: super(
|
|
retry: null,
|
|
name: r'readerControllerProvider',
|
|
dependencies: null,
|
|
$allTransitiveDependencies: null,
|
|
isAutoDispose: true,
|
|
);
|
|
|
|
ReaderControllerProvider call({required Chapter chapter}) =>
|
|
ReaderControllerProvider._(argument: chapter, from: this);
|
|
|
|
@override
|
|
String toString() => r'readerControllerProvider';
|
|
}
|
|
|
|
abstract class _$ReaderController extends $Notifier<KeepAliveLink> {
|
|
late final _$args = ref.$arg as Chapter;
|
|
Chapter get chapter => _$args;
|
|
|
|
KeepAliveLink build({required Chapter chapter});
|
|
@$mustCallSuper
|
|
@override
|
|
void runBuild() {
|
|
final ref = this.ref as $Ref<KeepAliveLink, KeepAliveLink>;
|
|
final element =
|
|
ref.element
|
|
as $ClassProviderElement<
|
|
AnyNotifier<KeepAliveLink, KeepAliveLink>,
|
|
KeepAliveLink,
|
|
Object?,
|
|
Object?
|
|
>;
|
|
element.handleCreate(ref, () => build(chapter: _$args));
|
|
}
|
|
}
|