fix(metadata): preserve explicit advisory across conversions

This commit is contained in:
zarzet
2026-08-22 23:24:56 +07:00
parent 19591bdf19
commit 7557ffbf85
7 changed files with 118 additions and 17 deletions
+8
View File
@@ -2,6 +2,7 @@ import 'dart:io';
import 'package:spotiflac_android/services/platform_bridge.dart';
import 'package:spotiflac_android/utils/file_access.dart';
import 'package:spotiflac_android/utils/string_utils.dart';
final RegExp _lrcDisplayTimestampPattern = RegExp(
r'^\[\d{1,3}:\d{1,2}(?:[.:]\d{1,3})?\]',
@@ -210,6 +211,13 @@ void mergePlatformMetadataForTagEmbed({
put('LYRICS', source['lyrics']);
put('UNSYNCEDLYRICS', source['lyrics']);
final explicit = parseExplicitFlag(source['explicit']);
if (explicit == true) {
target['ITUNESADVISORY'] = '1';
} else if (explicit == false) {
target.remove('ITUNESADVISORY');
}
final trackNumber = source['track_number'];
final totalTracks = source['total_tracks'];
if (trackNumber != null && trackNumber.toString() != '0') {