aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Emby.Server.Implementations/Sorting/IsFavoriteOrLikeComparer.cs3
-rw-r--r--Emby.Server.Implementations/Sorting/IsPlayedComparer.cs3
-rw-r--r--Emby.Server.Implementations/Sorting/IsUnplayedComparer.cs3
-rw-r--r--MediaBrowser.Controller/Entities/BaseItem.cs18
-rw-r--r--MediaBrowser.Controller/Entities/Folder.cs8
-rw-r--r--MediaBrowser.Controller/Entities/UserViewBuilder.cs2
6 files changed, 17 insertions, 20 deletions
diff --git a/Emby.Server.Implementations/Sorting/IsFavoriteOrLikeComparer.cs b/Emby.Server.Implementations/Sorting/IsFavoriteOrLikeComparer.cs
index 01c1e596f..86d08ed27 100644
--- a/Emby.Server.Implementations/Sorting/IsFavoriteOrLikeComparer.cs
+++ b/Emby.Server.Implementations/Sorting/IsFavoriteOrLikeComparer.cs
@@ -6,7 +6,6 @@ using Jellyfin.Database.Implementations.Entities;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Sorting;
-using MediaBrowser.Model.Querying;
namespace Emby.Server.Implementations.Sorting
{
@@ -54,7 +53,7 @@ namespace Emby.Server.Implementations.Sorting
/// <returns>DateTime.</returns>
private int GetValue(BaseItem x)
{
- return x.IsFavoriteOrLiked(User) ? 0 : 1;
+ return x.IsFavoriteOrLiked(User, userItemData: null) ? 0 : 1;
}
}
}
diff --git a/Emby.Server.Implementations/Sorting/IsPlayedComparer.cs b/Emby.Server.Implementations/Sorting/IsPlayedComparer.cs
index 6f206c877..9faa02f1f 100644
--- a/Emby.Server.Implementations/Sorting/IsPlayedComparer.cs
+++ b/Emby.Server.Implementations/Sorting/IsPlayedComparer.cs
@@ -7,7 +7,6 @@ using Jellyfin.Database.Implementations.Entities;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Sorting;
-using MediaBrowser.Model.Querying;
namespace Emby.Server.Implementations.Sorting
{
@@ -55,7 +54,7 @@ namespace Emby.Server.Implementations.Sorting
/// <returns>DateTime.</returns>
private int GetValue(BaseItem x)
{
- return x.IsPlayed(User) ? 0 : 1;
+ return x.IsPlayed(User, userItemData: null) ? 0 : 1;
}
}
}
diff --git a/Emby.Server.Implementations/Sorting/IsUnplayedComparer.cs b/Emby.Server.Implementations/Sorting/IsUnplayedComparer.cs
index fd1326327..6f177c463 100644
--- a/Emby.Server.Implementations/Sorting/IsUnplayedComparer.cs
+++ b/Emby.Server.Implementations/Sorting/IsUnplayedComparer.cs
@@ -7,7 +7,6 @@ using Jellyfin.Database.Implementations.Entities;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Sorting;
-using MediaBrowser.Model.Querying;
namespace Emby.Server.Implementations.Sorting
{
@@ -55,7 +54,7 @@ namespace Emby.Server.Implementations.Sorting
/// <returns>DateTime.</returns>
private int GetValue(BaseItem x)
{
- return x.IsUnplayed(User) ? 0 : 1;
+ return x.IsUnplayed(User, userItemData: null) ? 0 : 1;
}
}
}
diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs
index 275fdac2e..67675e756 100644
--- a/MediaBrowser.Controller/Entities/BaseItem.cs
+++ b/MediaBrowser.Controller/Entities/BaseItem.cs
@@ -2315,27 +2315,27 @@ namespace MediaBrowser.Controller.Entities
return UpdateToRepositoryAsync(ItemUpdateType.ImageUpdate, CancellationToken.None);
}
- public virtual bool IsPlayed(User user)
+ public virtual bool IsPlayed(User user, UserItemData userItemData)
{
- var userdata = UserDataManager.GetUserData(user, this);
+ userItemData ??= UserDataManager.GetUserData(user, this);
- return userdata is not null && userdata.Played;
+ return userItemData is not null && userItemData.Played;
}
- public bool IsFavoriteOrLiked(User user)
+ public bool IsFavoriteOrLiked(User user, UserItemData userItemData)
{
- var userdata = UserDataManager.GetUserData(user, this);
+ userItemData ??= UserDataManager.GetUserData(user, this);
- return userdata is not null && (userdata.IsFavorite || (userdata.Likes ?? false));
+ return userItemData is not null && (userItemData.IsFavorite || (userItemData.Likes ?? false));
}
- public virtual bool IsUnplayed(User user)
+ public virtual bool IsUnplayed(User user, UserItemData userItemData)
{
ArgumentNullException.ThrowIfNull(user);
- var userdata = UserDataManager.GetUserData(user, this);
+ userItemData ??= UserDataManager.GetUserData(user, this);
- return userdata is null || !userdata.Played;
+ return userItemData is null || !userItemData.Played;
}
ItemLookupInfo IHasLookupInfo<ItemLookupInfo>.GetLookupInfo()
diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs
index 082cf39fa..b889e73e3 100644
--- a/MediaBrowser.Controller/Entities/Folder.cs
+++ b/MediaBrowser.Controller/Entities/Folder.cs
@@ -1666,7 +1666,7 @@ namespace MediaBrowser.Controller.Entities
}
}
- public override bool IsPlayed(User user)
+ public override bool IsPlayed(User user, UserItemData userItemData)
{
var itemsResult = GetItemList(new InternalItemsQuery(user)
{
@@ -1677,12 +1677,12 @@ namespace MediaBrowser.Controller.Entities
});
return itemsResult
- .All(i => i.IsPlayed(user));
+ .All(i => i.IsPlayed(user, userItemData: null));
}
- public override bool IsUnplayed(User user)
+ public override bool IsUnplayed(User user, UserItemData userItemData)
{
- return !IsPlayed(user);
+ return !IsPlayed(user, userItemData);
}
public override void FillUserDataDtoValues(UserItemDataDto dto, UserItemData userData, BaseItemDto itemDto, User user, DtoOptions fields)
diff --git a/MediaBrowser.Controller/Entities/UserViewBuilder.cs b/MediaBrowser.Controller/Entities/UserViewBuilder.cs
index 0cd3399d4..62eb43aa5 100644
--- a/MediaBrowser.Controller/Entities/UserViewBuilder.cs
+++ b/MediaBrowser.Controller/Entities/UserViewBuilder.cs
@@ -542,7 +542,7 @@ namespace MediaBrowser.Controller.Entities
if (query.IsPlayed.HasValue)
{
userData ??= userDataManager.GetUserData(user, item);
- if (userData.Played != query.IsPlayed.Value)
+ if (item.IsPlayed(user, userData) != query.IsPlayed.Value)
{
return false;
}