From 4d45e36ea04eb9b1e1e10d6213be7e1e3efda8ef Mon Sep 17 00:00:00 2001 From: Alex Date: Wed, 11 Sep 2024 08:46:59 -0500 Subject: [PATCH] wip --- .../lib/providers/album/albumv2.provider.dart | 7 +++--- mobile/lib/services/album.service.dart | 24 +++++++++++++++++++ 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/mobile/lib/providers/album/albumv2.provider.dart b/mobile/lib/providers/album/albumv2.provider.dart index 3683a7d24f10b..9d6cc63075dfb 100644 --- a/mobile/lib/providers/album/albumv2.provider.dart +++ b/mobile/lib/providers/album/albumv2.provider.dart @@ -27,9 +27,10 @@ class AlbumNotifierV2 extends StateNotifier> { late final StreamSubscription> _streamSub; Future refreshAlbums() async { - await _albumService.refreshDeviceAlbums(); - await _albumService.refreshRemoteAlbums(isShared: false); - await _albumService.refreshRemoteAlbums(isShared: true); + Future.wait([ + _albumService.refreshDeviceAlbums(), + _albumService.refreshAllRemoteAlbums(), + ]); } Future getDeviceAlbums() { diff --git a/mobile/lib/services/album.service.dart b/mobile/lib/services/album.service.dart index ef56f9bf6c12a..d6127cd1a6046 100644 --- a/mobile/lib/services/album.service.dart +++ b/mobile/lib/services/album.service.dart @@ -173,6 +173,30 @@ class AlbumService { return changes; } + /// V2 + Future refreshAllRemoteAlbums() async { + final Stopwatch sw = Stopwatch()..start(); + try { + final [sharedAlbums, ownedAlbums] = await Future.wait([ + _apiService.albumsApi.getAllAlbums(shared: true), + _apiService.albumsApi.getAllAlbums(shared: false), + ]); + + final List allAlbums = [ + ...sharedAlbums ?? [], + ...ownedAlbums ?? [], + ]; + + print("All albums: ${allAlbums.length}"); + + debugPrint("refreshAllAlbums took ${sw.elapsedMilliseconds}ms"); + return true; + } catch (e) { + debugPrint("Error refreshing all albums: $e"); + return false; + } + } + Future createAlbum( String albumName, Iterable assets, [