Files
GroovyBox/lib/providers/audio_provider.dart
2025-12-20 00:25:48 +08:00

35 lines
798 B
Dart

import 'package:groovybox/logic/audio_handler.dart';
import 'package:groovybox/logic/metadata_service.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'audio_provider.g.dart';
// This should be set after AudioService.init in main.dart
late AudioHandler _audioHandler;
@Riverpod(keepAlive: true)
AudioHandler audioHandler(Ref ref) {
return _audioHandler;
}
// Function to set the audio handler after initialization
void setAudioHandler(AudioHandler handler) {
_audioHandler = handler;
}
@Riverpod(keepAlive: true)
class CurrentTrackMetadataNotifier extends _$CurrentTrackMetadataNotifier {
@override
TrackMetadata? build() {
return null;
}
void setMetadata(TrackMetadata metadata) {
state = metadata;
}
void clear() {
state = null;
}
}