feat: add resolve API with SongLink fallback, fix multi-artist tags (#288), and cleanup

Resolve API (api.zarz.moe):
- Refactor songlink.go: Spotify URLs use resolve API, non-Spotify uses SongLink API
- Add SongLink fallback when resolve API fails for Spotify (two-layer resilience)
- Remove dead code: page parser, XOR-obfuscated keys, legacy helpers

Multi-artist tag fix (#288):
- Add RewriteSplitArtistTags() in Go to rewrite ARTIST/ALBUMARTIST as split Vorbis comments
- Wire method channel handler in Android (MainActivity.kt) and iOS (AppDelegate.swift)
- Add PlatformBridge.rewriteSplitArtistTags() in Dart
- Call native FLAC rewriter after FFmpeg embed when split_vorbis mode is active
- Extract deezerTrackArtistDisplay() helper to use Contributors in album/playlist tracks

Code cleanup:
- Remove unused imports, dead code, and redundant comments across Go and Dart
- Fix build: remove stale getQobuzDebugKey() reference in deezer_download.go
This commit is contained in:
zarzet
2026-04-13 23:32:14 +07:00
parent 7c4309955e
commit d034144e9c
63 changed files with 425 additions and 1044 deletions
-3
View File
@@ -3,7 +3,6 @@ import 'package:flutter/services.dart';
import 'package:spotiflac_android/models/theme_settings.dart';
class AppTheme {
/// Default seed color (Spotify green)
static const Color defaultSeedColor = Color(kDefaultSeedColor);
static ThemeData light({ColorScheme? dynamicScheme, Color? seedColor}) {
@@ -87,12 +86,10 @@ class AppTheme {
fontWeight: FontWeight.w500,
),
systemOverlayStyle: SystemUiOverlayStyle(
// Status bar
statusBarColor: Colors.transparent,
statusBarIconBrightness: scheme.brightness == Brightness.dark
? Brightness.light
: Brightness.dark,
// System navigation bar — match the in-app NavigationBar color
systemNavigationBarColor: isAmoled
? Colors.black
: scheme.surfaceContainer,