Skip to content

Commit a378225

Browse files
committed
sync youtube api + thumbnail utils with chart/search features
1 parent f8672e4 commit a378225

2 files changed

Lines changed: 1914 additions & 152 deletions

File tree

lib/core/utils/youtube_thumbnail_utils.dart

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,24 @@ class YoutubeThumbnailUtils {
3939
(url.contains('googleusercontent.com') && !url.contains('ytimg.com'));
4040
}
4141

42+
static bool isLikelyLowQualityArtwork(String? raw) {
43+
final url = _normalizeUrl(raw).toLowerCase();
44+
if (url.isEmpty) return true;
45+
46+
final looksLikeVideoThumb =
47+
url.contains('ytimg.com/vi/') || url.contains('ytimg.com/vi_webp/');
48+
if (looksLikeVideoThumb) return true;
49+
50+
if (RegExp(
51+
r'w(?:60|88|100|120|180|240)-h(?:60|88|100|120|180|240)',
52+
).hasMatch(url)) {
53+
return true;
54+
}
55+
if (RegExp(r'=s(?:60|88|100|120|180|240)\b').hasMatch(url)) return true;
56+
57+
return false;
58+
}
59+
4260
static double preferredArtworkScale({
4361
String? songId,
4462
String? imageUrl,

0 commit comments

Comments
 (0)