mirror of
https://github.com/zarzet/SpotiFLAC-Mobile.git
synced 2026-05-13 20:42:10 +02:00
6895e45f2c
Replace hardcoded Tidal/Qobuz switch/case with builtInProviderSpec registry pattern. Unify searchTidalAll/searchQobuzAll into searchProviderAll, getDeezerMetadata/getTidalMetadata/getQobuzMetadata into getProviderMetadata, and parseDeezerUrl/parseQobuzUrl/parseTidalUrl into parseProviderUrl. Remove extension-specific getAlbum/Playlist/ArtistWithExtension in favor of generic getProviderMetadata routing. Extract provider UI helpers into provider_ui_utils.dart. Preserve track_number fallback for zero-value TrackNumber in album/playlist track lists.
25 lines
605 B
Dart
25 lines
605 B
Dart
import 'package:flutter/material.dart';
|
|
import 'package:spotiflac_android/providers/extension_provider.dart';
|
|
|
|
IconData resolveProviderIcon(
|
|
String providerId, {
|
|
IconData tidalIcon = Icons.music_note,
|
|
IconData builtInDefaultIcon = Icons.album,
|
|
IconData deezerIcon = Icons.graphic_eq,
|
|
IconData fallbackIcon = Icons.extension,
|
|
}) {
|
|
final builtIn = builtInProviderSpecForId(providerId);
|
|
if (builtIn != null) {
|
|
if (providerId == 'tidal') {
|
|
return tidalIcon;
|
|
}
|
|
return builtInDefaultIcon;
|
|
}
|
|
|
|
if (providerId == 'deezer') {
|
|
return deezerIcon;
|
|
}
|
|
|
|
return fallbackIcon;
|
|
}
|