From c3c024923438c02e34fcf07147d8b2cfffa4a06c Mon Sep 17 00:00:00 2001 From: Sheikh Haziq Date: Tue, 5 Nov 2024 23:36:34 +0530 Subject: [PATCH] fixed extension problem --- lib/app_config.dart | 2 +- lib/services/download_manager.dart | 36 +++++++++++++++++------------- lib/services/file_storage.dart | 1 - pubspec.yaml | 2 +- 4 files changed, 22 insertions(+), 19 deletions(-) diff --git a/lib/app_config.dart b/lib/app_config.dart index cd5c4e6..a67db65 100644 --- a/lib/app_config.dart +++ b/lib/app_config.dart @@ -1,4 +1,4 @@ -AppConfig appConfig = AppConfig(version: 31, codeName: '2.0.6'); +AppConfig appConfig = AppConfig(version: 32, codeName: '2.0.7'); class AppConfig { int version; diff --git a/lib/services/download_manager.dart b/lib/services/download_manager.dart index 7a6b200..3b0cb7a 100644 --- a/lib/services/download_manager.dart +++ b/lib/services/download_manager.dart @@ -40,11 +40,13 @@ class DownloadManager { if (!(await FileStorage.requestPermissions())) return; AudioOnlyStreamInfo audioSource = await _getSongInfo(song['videoId'], - quality: GetIt.I().downloadQuality.name.toLowerCase()); - int start = 0; - int end = audioSource.size.totalBytes; - - Stream> stream = AudioStreamClient().getAudioStream(audioSource,start:start,end: end ); + quality: + GetIt.I().downloadQuality.name.toLowerCase()); + int start = 0; + int end = audioSource.size.totalBytes; + + Stream> stream = AudioStreamClient() + .getAudioStream(audioSource, start: start, end: end); int total = audioSource.size.totalBytes; List received = []; await _box.put(song['videoId'], { @@ -63,15 +65,14 @@ class DownloadManager { }, onDone: () async { if (received.length == total) { - File? file = await GetIt.I().saveMusic(received, song,extension: audioSource.container.name); - print(file); + File? file = await GetIt.I().saveMusic(received, song); if (file != null) { await _box.put(song['videoId'], { ...song, 'status': 'DOWNLOADED', 'progress': 100, 'path': file.path, - 'timestamp':DateTime.now().millisecondsSinceEpoch + 'timestamp': DateTime.now().millisecondsSinceEpoch }); } else { await _box.delete(song['videoId']); @@ -93,15 +94,18 @@ class DownloadManager { } void _downloadNext() { - if (_downloadQueue.isNotEmpty && _activeDownloads < maxConcurrentDownloads) { + if (_downloadQueue.isNotEmpty && + _activeDownloads < maxConcurrentDownloads) { downloadSong(_downloadQueue.removeFirst()); } } + Future deleteSong(String key, String path) async { await _box.delete(key); await File(path).delete(); return 'Song deleted successfully.'; } + updateStatus(String key, String status) { Map? song = _box.get(key); if (song != null) { @@ -111,7 +115,8 @@ class DownloadManager { } Future downloadPlaylist(Map playlist) async { - List songs = await GetIt.I().getPlaylistSongs(playlist['playlistId']); + List songs = + await GetIt.I().getPlaylistSongs(playlist['playlistId']); for (Map song in songs) { await downloadSong(song); // Queue each song download } @@ -120,12 +125,11 @@ class DownloadManager { Future _getSongInfo(String videoId, {String quality = 'high'}) async { try { - StreamManifest manifest = await ytExplode.videos.streamsClient.getManifest(videoId); - List streamInfos = manifest.audioOnly - .sortByBitrate() - .reversed - .toList(); - return quality == 'low' ? streamInfos.first:streamInfos.last; + StreamManifest manifest = + await ytExplode.videos.streamsClient.getManifest(videoId); + List streamInfos = + manifest.audioOnly.sortByBitrate().reversed.toList(); + return quality == 'low' ? streamInfos.first : streamInfos.last; } catch (e) { rethrow; } diff --git a/lib/services/file_storage.dart b/lib/services/file_storage.dart index ebc4a85..a6edafb 100644 --- a/lib/services/file_storage.dart +++ b/lib/services/file_storage.dart @@ -13,7 +13,6 @@ import 'package:permission_handler/permission_handler.dart'; import 'package:path/path.dart' as path; import '../utils/enhanced_image.dart'; -import '../utils/pprint.dart'; import '../ytmusic/ytmusic.dart'; import 'library.dart'; import 'settings_manager.dart'; diff --git a/pubspec.yaml b/pubspec.yaml index 561d3c0..602aedb 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: gyawun description: "A new Flutter project." publish_to: 'none' -version: 2.0.6+31 +version: 2.0.7+32 environment: sdk: '>=3.4.1 <4.0.0'