freezer/lib/api/download_manager/download_service.dart

38 lines
1.2 KiB
Dart

import 'package:freezer/api/download_manager/service_interface.dart';
import 'package:freezer/settings.dart';
class DownloadService {
static const NOTIFICATION_ID = 6969;
static const NOTIFICATION_CHANNEL_ID = "freezerdownloads";
final ServiceInterface service;
DownloadService(this.service);
AudioQuality? _preferredQuality;
AudioQuality? _downloadQuality;
bool useGetURL = false;
void run() {
service.on('addDownloads').listen((event) {});
service.on('updateQuality').listen((event) {
_preferredQuality = AudioQuality.values[event!['q']!];
});
service.on('updateCapabilities').listen((event) {
final bool canStreamHQ = event!['canStreamHQ'];
final bool canStreamLossless = event['canStreamLossless'];
if (canStreamHQ || canStreamLossless) useGetURL = true;
_downloadQuality = settings.maxQualityFor(
_preferredQuality!, canStreamHQ, canStreamLossless);
});
}
void downloadTrack(String trackId) {
// final deezerAudio = DeezerAudio(deezerAPI: deezerAPI, md5origin: md5origin, quality: quality, trackId: trackId, mediaVersion: mediaVersion)
// if (useGetURL) {
// final url =
// }
}
}