From b1d37f7b73ca041d4cb74e6d4c0faa0cf10a04fe Mon Sep 17 00:00:00 2001 From: Ming Ming Date: Fri, 13 Aug 2021 18:41:02 +0800 Subject: [PATCH] Fix album browser not respecting cover provider --- lib/widget/album_browser.dart | 4 ++-- lib/widget/album_browser_mixin.dart | 11 ++++++----- lib/widget/dynamic_album_browser.dart | 2 +- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/lib/widget/album_browser.dart b/lib/widget/album_browser.dart index 7e8fb47d..59d942bf 100644 --- a/lib/widget/album_browser.dart +++ b/lib/widget/album_browser.dart @@ -163,7 +163,7 @@ class _AlbumBrowserState extends State setState(() { _album = album; _transformItems(); - initCover(widget.account, _backingFiles); + initCover(widget.account, album); }); } }); @@ -321,7 +321,7 @@ class _AlbumBrowserState extends State setState(() { _album = newAlbum; _transformItems(); - initCover(widget.account, _backingFiles); + initCover(widget.account, newAlbum); }); }).catchError((e, stacktrace) { _log.shout("[_onSelectionRemovePressed] Failed while updating album", e, diff --git a/lib/widget/album_browser_mixin.dart b/lib/widget/album_browser_mixin.dart index 1180ce33..b18f2501 100644 --- a/lib/widget/album_browser_mixin.dart +++ b/lib/widget/album_browser_mixin.dart @@ -23,13 +23,14 @@ mixin AlbumBrowserMixin } @protected - void initCover(Account account, List backingFiles) { + void initCover(Account account, Album album) { try { - final coverFile = - backingFiles.firstWhere((element) => element.hasPreview ?? false); - _coverPreviewUrl = api_util.getFilePreviewUrl(account, coverFile, + final coverFile = album.coverProvider.getCover(album); + _coverPreviewUrl = api_util.getFilePreviewUrl(account, coverFile!, width: 1024, height: 600); - } catch (_) {} + } catch (_) { + return null; + } } @protected diff --git a/lib/widget/dynamic_album_browser.dart b/lib/widget/dynamic_album_browser.dart index 7abe6996..c2a47ccd 100644 --- a/lib/widget/dynamic_album_browser.dart +++ b/lib/widget/dynamic_album_browser.dart @@ -150,7 +150,7 @@ class _DynamicAlbumBrowserState extends State setState(() { _album = widget.album; _transformItems(items); - initCover(widget.account, _backingFiles); + initCover(widget.account, widget.album); _updateAlbumPostPopulate(items); }); }