|
@@ -135,13 +135,13 @@ namespace Emby.Server.Implementations.TV
|
|
|
|
|
|
private IEnumerable<Episode> GetNextUpEpisodes(NextUpQuery request, User user, IReadOnlyList<string> seriesKeys, DtoOptions dtoOptions)
|
|
|
{
|
|
|
- var allNextUp = seriesKeys.Select(i => GetNextUp(i, user, dtoOptions, false));
|
|
|
+ var allNextUp = seriesKeys.Select(i => GetNextUp(i, user, dtoOptions, request.EnableResumable, false));
|
|
|
|
|
|
if (request.EnableRewatching)
|
|
|
{
|
|
|
- allNextUp = allNextUp.Concat(
|
|
|
- seriesKeys.Select(i => GetNextUp(i, user, dtoOptions, true)))
|
|
|
- .OrderByDescending(i => i.LastWatchedDate);
|
|
|
+ allNextUp = allNextUp
|
|
|
+ .Concat(seriesKeys.Select(i => GetNextUp(i, user, dtoOptions, false, true)))
|
|
|
+ .OrderByDescending(i => i.LastWatchedDate);
|
|
|
}
|
|
|
|
|
|
// If viewing all next up for all series, remove first episodes
|
|
@@ -183,7 +183,7 @@ namespace Emby.Server.Implementations.TV
|
|
|
/// Gets the next up.
|
|
|
/// </summary>
|
|
|
/// <returns>Task{Episode}.</returns>
|
|
|
- private (DateTime LastWatchedDate, Func<Episode?> GetEpisodeFunction) GetNextUp(string seriesKey, User user, DtoOptions dtoOptions, bool rewatching)
|
|
|
+ private (DateTime LastWatchedDate, Func<Episode?> GetEpisodeFunction) GetNextUp(string seriesKey, User user, DtoOptions dtoOptions, bool includeResumable, bool includePlayed)
|
|
|
{
|
|
|
var lastQuery = new InternalItemsQuery(user)
|
|
|
{
|
|
@@ -200,8 +200,8 @@ namespace Emby.Server.Implementations.TV
|
|
|
}
|
|
|
};
|
|
|
|
|
|
- // If rewatching is enabled, sort first by date played and then by season and episode numbers
|
|
|
- lastQuery.OrderBy = rewatching
|
|
|
+ // If including played results, sort first by date played and then by season and episode numbers
|
|
|
+ lastQuery.OrderBy = includePlayed
|
|
|
? new[] { (ItemSortBy.DatePlayed, SortOrder.Descending), (ItemSortBy.ParentIndexNumber, SortOrder.Descending), (ItemSortBy.IndexNumber, SortOrder.Descending) }
|
|
|
: new[] { (ItemSortBy.ParentIndexNumber, SortOrder.Descending), (ItemSortBy.IndexNumber, SortOrder.Descending) };
|
|
|
|
|
@@ -216,7 +216,7 @@ namespace Emby.Server.Implementations.TV
|
|
|
IncludeItemTypes = new[] { BaseItemKind.Episode },
|
|
|
OrderBy = new[] { (ItemSortBy.ParentIndexNumber, SortOrder.Ascending), (ItemSortBy.IndexNumber, SortOrder.Ascending) },
|
|
|
Limit = 1,
|
|
|
- IsPlayed = rewatching,
|
|
|
+ IsPlayed = includePlayed,
|
|
|
IsVirtualItem = false,
|
|
|
ParentIndexNumberNotEquals = 0,
|
|
|
DtoOptions = dtoOptions
|
|
@@ -240,7 +240,7 @@ namespace Emby.Server.Implementations.TV
|
|
|
SeriesPresentationUniqueKey = seriesKey,
|
|
|
ParentIndexNumber = 0,
|
|
|
IncludeItemTypes = new[] { BaseItemKind.Episode },
|
|
|
- IsPlayed = rewatching,
|
|
|
+ IsPlayed = includePlayed,
|
|
|
IsVirtualItem = false,
|
|
|
DtoOptions = dtoOptions
|
|
|
})
|
|
@@ -269,7 +269,7 @@ namespace Emby.Server.Implementations.TV
|
|
|
nextEpisode = sortedConsideredEpisodes.FirstOrDefault();
|
|
|
}
|
|
|
|
|
|
- if (nextEpisode is not null)
|
|
|
+ if (nextEpisode is not null && !includeResumable)
|
|
|
{
|
|
|
var userData = _userDataManager.GetUserData(user, nextEpisode);
|
|
|
|