sleeptimer

This commit is contained in:
Dr-Blank 2024-06-06 15:35:30 -04:00
parent d372a6b096
commit b98188d7fb
No known key found for this signature in database
GPG key ID: 7452CC63F210A266
17 changed files with 1262 additions and 363 deletions

View file

@ -1,8 +1,9 @@
import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:whispering_pages/api/api_provider.dart';
import 'package:whispering_pages/features/player/core/audiobook_player.dart' as abp;
import 'package:whispering_pages/features/player/core/audiobook_player.dart'
as abp;
part 'audiobook_player_provider.g.dart';
part 'audiobook_player.g.dart';
// @Riverpod(keepAlive: true)
// abp.AudiobookPlayer audiobookPlayer(
@ -19,12 +20,23 @@ part 'audiobook_player_provider.g.dart';
const playerId = 'audiobook_player';
@Riverpod(keepAlive: true)
class AudiobookPlayer extends _$AudiobookPlayer {
class SimpleAudiobookPlayer extends _$SimpleAudiobookPlayer {
@override
abp.AudiobookPlayer build() {
final api = ref.watch(authenticatedApiProvider);
final player =
abp.AudiobookPlayer(api.token!, api.baseUrl);
final player = abp.AudiobookPlayer(api.token!, api.baseUrl);
ref.onDispose(player.dispose);
return player;
}
}
@Riverpod(keepAlive: true)
class AudiobookPlayer extends _$AudiobookPlayer {
@override
abp.AudiobookPlayer build() {
final player = ref.watch(simpleAudiobookPlayerProvider);
ref.onDispose(player.dispose);
@ -40,7 +52,7 @@ class AudiobookPlayer extends _$AudiobookPlayer {
ref.notifyListeners();
}
Future<void> setSpeed(double speed) async {
Future<void> setSpeed(double speed) async {
await state.setSpeed(speed);
notifyListeners();
}

View file

@ -6,7 +6,24 @@ part of 'audiobook_player.dart';
// RiverpodGenerator
// **************************************************************************
String _$audiobookPlayerHash() => r'a636d5e8e73dc6bbf7b3f47f83884bb3af3b9370';
String _$simpleAudiobookPlayerHash() =>
r'b65e6d779476a2c1fa38f617771bf997acb4f5b8';
/// See also [SimpleAudiobookPlayer].
@ProviderFor(SimpleAudiobookPlayer)
final simpleAudiobookPlayerProvider =
NotifierProvider<SimpleAudiobookPlayer, abp.AudiobookPlayer>.internal(
SimpleAudiobookPlayer.new,
name: r'simpleAudiobookPlayerProvider',
debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
? null
: _$simpleAudiobookPlayerHash,
dependencies: null,
allTransitiveDependencies: null,
);
typedef _$SimpleAudiobookPlayer = Notifier<abp.AudiobookPlayer>;
String _$audiobookPlayerHash() => r'38042d0c93034e6907677fdb614a9af1b9d636af';
/// See also [AudiobookPlayer].
@ProviderFor(AudiobookPlayer)