mirror of
https://github.com/Dr-Blank/Vaani.git
synced 2025-12-20 18:09:30 +00:00
* feat: add ability to get logs file from ui * test: add unit test for log line parsing in logs_provider * refactor: update all logs to obfuscate sensitive information * feat: generate dynamic zip file name for logs export * feat: enhance logging in audiobook player and provider for better debugging * refactor: extract user display logic into UserBar widget for offline access of settings and logs * feat: add About section with app metadata and source code link in YouPage
45 lines
1.3 KiB
Dart
45 lines
1.3 KiB
Dart
import 'package:logging/logging.dart';
|
|
import 'package:riverpod_annotation/riverpod_annotation.dart';
|
|
import 'package:shelfsdk/audiobookshelf_api.dart';
|
|
import 'package:vaani/features/player/providers/audiobook_player.dart';
|
|
import 'package:vaani/shared/extensions/model_conversions.dart';
|
|
|
|
part 'currently_playing_provider.g.dart';
|
|
|
|
final _logger = Logger('CurrentlyPlayingProvider');
|
|
|
|
@riverpod
|
|
BookExpanded? currentlyPlayingBook(CurrentlyPlayingBookRef ref) {
|
|
try {
|
|
final player = ref.watch(audiobookPlayerProvider);
|
|
return player.book;
|
|
} catch (e) {
|
|
_logger.warning('Error getting currently playing book: $e');
|
|
return null;
|
|
}
|
|
}
|
|
|
|
/// provided the current chapter of the book being played
|
|
@riverpod
|
|
BookChapter? currentPlayingChapter(CurrentPlayingChapterRef ref) {
|
|
final player = ref.watch(audiobookPlayerProvider);
|
|
player.slowPositionStream.listen((_) {
|
|
ref.invalidateSelf();
|
|
});
|
|
|
|
return player.currentChapter;
|
|
}
|
|
|
|
/// provides the book metadata of the currently playing book
|
|
@riverpod
|
|
BookMetadataExpanded? currentBookMetadata(CurrentBookMetadataRef ref) {
|
|
final player = ref.watch(audiobookPlayerProvider);
|
|
if (player.book == null) return null;
|
|
return player.book!.metadata.asBookMetadataExpanded;
|
|
}
|
|
|
|
// /// volume of the player [0, 1]
|
|
// @riverpod
|
|
// double currentVolume(CurrentVolumeRef ref) {
|
|
// return 1;
|
|
// }
|