完善新播放逻辑

This commit is contained in:
rang 2025-11-22 15:54:29 +08:00
parent eb1955e5e6
commit 114c9761fd
30 changed files with 658 additions and 683 deletions

View file

@ -6,40 +6,7 @@ part of 'session_provider.dart';
// RiverpodGenerator
// **************************************************************************
String _$sessionHash() => r'ae97659a7772abaa3c97644f39af6b3f05c75faf';
/// See also [session].
@ProviderFor(session)
final sessionProvider = Provider<SessionPlayer>.internal(
session,
name: r'sessionProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product') ? null : _$sessionHash,
dependencies: null,
allTransitiveDependencies: null,
);
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
typedef SessionRef = ProviderRef<SessionPlayer>;
String _$currentChapterHash() => r'a2f43d62f77ce48e6ca34c89700443f67dbd78fe';
/// See also [currentChapter].
@ProviderFor(currentChapter)
final currentChapterProvider = AutoDisposeProvider<core.BookChapter?>.internal(
currentChapter,
name: r'currentChapterProvider',
debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
? null
: _$currentChapterHash,
dependencies: null,
allTransitiveDependencies: null,
);
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
typedef CurrentChapterRef = AutoDisposeProviderRef<core.BookChapter?>;
String _$audioHandlerInitHash() => r'64bc78439049068ec6de6e19af657d410bde9581';
String _$audioHandlerInitHash() => r'5677b2267f472b667ce7a63cc5c91c4320d630e8';
/// See also [audioHandlerInit].
@ProviderFor(audioHandlerInit)
@ -56,7 +23,7 @@ final audioHandlerInitProvider = FutureProvider<AbsAudioHandler>.internal(
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
typedef AudioHandlerInitRef = FutureProviderRef<AbsAudioHandler>;
String _$playerHash() => r'41cc626fd4a3317ce7e1ffa3c5e03206a9819231';
String _$playerHash() => r'9599b094cdd9eca614c27ec5bdf2d5259d20ac5f';
/// See also [Player].
@ProviderFor(Player)
@ -70,184 +37,52 @@ final playerProvider = NotifierProvider<Player, AbsAudioHandler>.internal(
);
typedef _$Player = Notifier<AbsAudioHandler>;
String _$sessionLoadingHash() => r'4688469dd8ac9f38063917ede032cfe1506a63a8';
String _$sessionHash() => r'ce9405cc0b8247014924a005fa60fbc3bf92d5c6';
/// Copied from Dart SDK
class _SystemHash {
_SystemHash._();
static int combine(int hash, int value) {
// ignore: parameter_assignments
hash = 0x1fffffff & (hash + value);
// ignore: parameter_assignments
hash = 0x1fffffff & (hash + ((0x0007ffff & hash) << 10));
return hash ^ (hash >> 6);
}
static int finish(int hash) {
// ignore: parameter_assignments
hash = 0x1fffffff & (hash + ((0x03ffffff & hash) << 3));
// ignore: parameter_assignments
hash = hash ^ (hash >> 11);
return 0x1fffffff & (hash + ((0x00003fff & hash) << 15));
}
}
abstract class _$SessionLoading extends BuildlessNotifier<bool> {
late final String itemId;
bool build(
String itemId,
);
}
/// See also [SessionLoading].
@ProviderFor(SessionLoading)
const sessionLoadingProvider = SessionLoadingFamily();
/// See also [SessionLoading].
class SessionLoadingFamily extends Family<bool> {
/// See also [SessionLoading].
const SessionLoadingFamily();
/// See also [SessionLoading].
SessionLoadingProvider call(
String itemId,
) {
return SessionLoadingProvider(
itemId,
);
}
@override
SessionLoadingProvider getProviderOverride(
covariant SessionLoadingProvider provider,
) {
return call(
provider.itemId,
);
}
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'sessionLoadingProvider';
}
/// See also [SessionLoading].
class SessionLoadingProvider
extends NotifierProviderImpl<SessionLoading, bool> {
/// See also [SessionLoading].
SessionLoadingProvider(
String itemId,
) : this._internal(
() => SessionLoading()..itemId = itemId,
from: sessionLoadingProvider,
name: r'sessionLoadingProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$sessionLoadingHash,
dependencies: SessionLoadingFamily._dependencies,
allTransitiveDependencies:
SessionLoadingFamily._allTransitiveDependencies,
itemId: itemId,
);
SessionLoadingProvider._internal(
super._createNotifier, {
required super.name,
required super.dependencies,
required super.allTransitiveDependencies,
required super.debugGetCreateSourceHash,
required super.from,
required this.itemId,
}) : super.internal();
final String itemId;
@override
bool runNotifierBuild(
covariant SessionLoading notifier,
) {
return notifier.build(
itemId,
);
}
@override
Override overrideWith(SessionLoading Function() create) {
return ProviderOverride(
origin: this,
override: SessionLoadingProvider._internal(
() => create()..itemId = itemId,
from: from,
name: null,
dependencies: null,
allTransitiveDependencies: null,
debugGetCreateSourceHash: null,
itemId: itemId,
),
);
}
@override
NotifierProviderElement<SessionLoading, bool> createElement() {
return _SessionLoadingProviderElement(this);
}
@override
bool operator ==(Object other) {
return other is SessionLoadingProvider && other.itemId == itemId;
}
@override
int get hashCode {
var hash = _SystemHash.combine(0, runtimeType.hashCode);
hash = _SystemHash.combine(hash, itemId.hashCode);
return _SystemHash.finish(hash);
}
}
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
mixin SessionLoadingRef on NotifierProviderRef<bool> {
/// The parameter `itemId` of this provider.
String get itemId;
}
class _SessionLoadingProviderElement
extends NotifierProviderElement<SessionLoading, bool>
with SessionLoadingRef {
_SessionLoadingProviderElement(super.provider);
@override
String get itemId => (origin as SessionLoadingProvider).itemId;
}
String _$playStateHash() => r'5256c4154c4254e406593035bc54d917a9a059bf';
/// See also [PlayState].
@ProviderFor(PlayState)
final playStateProvider = NotifierProvider<PlayState, PlayerState>.internal(
PlayState.new,
name: r'playStateProvider',
/// See also [Session].
@ProviderFor(Session)
final sessionProvider =
NotifierProvider<Session, core.PlaybackSessionExpanded?>.internal(
Session.new,
name: r'sessionProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product') ? null : _$playStateHash,
const bool.fromEnvironment('dart.vm.product') ? null : _$sessionHash,
dependencies: null,
allTransitiveDependencies: null,
);
typedef _$PlayState = Notifier<PlayerState>;
typedef _$Session = Notifier<core.PlaybackSessionExpanded?>;
String _$currentChapterHash() => r'0be02fbc4f65b30da4ce18964ee457a18c4d1073';
/// See also [CurrentChapter].
@ProviderFor(CurrentChapter)
final currentChapterProvider =
NotifierProvider<CurrentChapter, core.BookChapter?>.internal(
CurrentChapter.new,
name: r'currentChapterProvider',
debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
? null
: _$currentChapterHash,
dependencies: null,
allTransitiveDependencies: null,
);
typedef _$CurrentChapter = Notifier<core.BookChapter?>;
String _$playbackReporterHash() => r'b9a2197a12e83f9760bd61ae2a1ad8dff82042e9';
/// See also [PlaybackReporter].
@ProviderFor(PlaybackReporter)
final playbackReporterProvider =
AsyncNotifierProvider<PlaybackReporter, core.PlaybackReporter?>.internal(
PlaybackReporter.new,
name: r'playbackReporterProvider',
debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
? null
: _$playbackReporterHash,
dependencies: null,
allTransitiveDependencies: null,
);
typedef _$PlaybackReporter = AsyncNotifier<core.PlaybackReporter?>;
// 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