diff --git a/lib/entity/file.dart b/lib/entity/file.dart index 38af8613..6a0272ab 100644 --- a/lib/entity/file.dart +++ b/lib/entity/file.dart @@ -415,6 +415,8 @@ extension FileExtension on File { lastModified ?? DateTime.now().toUtc(); } + + bool isOwned(String username) => ownerId == null || ownerId == username; } class FileRepo { diff --git a/lib/widget/album_viewer.dart b/lib/widget/album_viewer.dart index 3cc8a6c4..58228a4b 100644 --- a/lib/widget/album_viewer.dart +++ b/lib/widget/album_viewer.dart @@ -586,8 +586,7 @@ class _AlbumViewerState extends State zip([_getAlbumItemsOf(album), _getAlbumItemsOf(widget.album)]).map((e) { if (e[0] is AlbumFileItem) { final item = e[0] as AlbumFileItem; - if (item.file.ownerId != null && - item.file.ownerId != widget.account.username) { + if (!item.file.isOwned(widget.account.username)) { // don't propagate shared file not owned by this user, this is to // prevent multiple user having different properties to keep // overriding each others @@ -623,8 +622,7 @@ class _AlbumViewerState extends State final a = z[0], b = z[1]; bool isEqual; if (a is AlbumFileItem && b is AlbumFileItem) { - if (a.file.ownerId != null && - a.file.ownerId != widget.account.username) { + if (!a.file.isOwned(widget.account.username)) { // ignore shared files continue; }