Files
SpotiFLAC-Mobile/lib/utils/provider_ui_utils.dart
T
zarzet 6895e45f2c refactor: abstract built-in providers into generic registry and unify platform bridge API
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.
2026-04-17 03:59:02 +07:00

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;
}