From bcf727f4ecb382d9094aad4850a4693c13a108c4 Mon Sep 17 00:00:00 2001 From: zarzet Date: Sat, 4 Apr 2026 21:32:40 +0700 Subject: [PATCH] fix: remove stale audio service manifest entries causing crashes on some devices --- android/app/build.gradle.kts | 15 +++++++++++++++ android/app/src/main/AndroidManifest.xml | 18 ------------------ lib/providers/download_queue_provider.dart | 16 ++++++++++------ 3 files changed, 25 insertions(+), 24 deletions(-) diff --git a/android/app/build.gradle.kts b/android/app/build.gradle.kts index 290b26f9..75293943 100644 --- a/android/app/build.gradle.kts +++ b/android/app/build.gradle.kts @@ -57,6 +57,18 @@ android { } buildTypes { + getByName("debug") { + ndk { + debugSymbolLevel = "FULL" + } + } + + getByName("profile") { + ndk { + debugSymbolLevel = "FULL" + } + } + release { // For local builds: use release signing if key.properties exists // For CI builds: APK is signed by GitHub Action after build @@ -71,6 +83,9 @@ android { getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) + ndk { + debugSymbolLevel = "FULL" + } } } diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 55258683..219982f8 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -108,24 +108,6 @@ android:exported="false" android:foregroundServiceType="dataSync" /> - - - - - - - - - - - - - diff --git a/lib/providers/download_queue_provider.dart b/lib/providers/download_queue_provider.dart index 22ab0a5d..dbd5c13b 100644 --- a/lib/providers/download_queue_provider.dart +++ b/lib/providers/download_queue_provider.dart @@ -3918,6 +3918,13 @@ class DownloadQueueNotifier extends Notifier { _log.d('Track data keys: ${data.keys.toList()}'); _log.d('ISRC from API: ${data['isrc']}'); _log.d('album_type from API: ${data['album_type']}'); + final enrichedTotalTracks = _parsePositiveInt( + data['total_tracks'], + ); + final enrichedTotalDiscs = _parsePositiveInt(data['total_discs']); + final enrichedComposer = normalizeOptionalString( + data['composer']?.toString(), + ); trackToDownload = Track( id: (data['spotify_id'] as String?) ?? trackToDownload.id, name: (data['name'] as String?) ?? trackToDownload.name, @@ -3940,18 +3947,15 @@ class DownloadQueueNotifier extends Notifier { isrc: (data['isrc'] as String?) ?? trackToDownload.isrc, trackNumber: data['track_number'] as int?, discNumber: data['disc_number'] as int?, - totalDiscs: - data['total_discs'] as int? ?? trackToDownload.totalDiscs, + totalDiscs: enrichedTotalDiscs ?? trackToDownload.totalDiscs, releaseDate: data['release_date'] as String?, deezerId: rawId, availability: trackToDownload.availability, albumType: (data['album_type'] as String?) ?? trackToDownload.albumType, - totalTracks: - data['total_tracks'] as int? ?? trackToDownload.totalTracks, - composer: - data['composer']?.toString() ?? trackToDownload.composer, + totalTracks: enrichedTotalTracks ?? trackToDownload.totalTracks, + composer: enrichedComposer ?? trackToDownload.composer, source: trackToDownload.source, ); _log.d(