From d63a023a1fb0b0d5c36534f05718222460c76c0a Mon Sep 17 00:00:00 2001 From: SparrowBrain Date: Tue, 16 Apr 2024 21:37:40 +0300 Subject: [PATCH] Small optimization --- PlayNext/Model/Filters/RecentlyPlayedFilter.cs | 4 ++-- PlayNext/PlayNext.cs | 4 +++- PlayNext/Settings/Old/SettingsVersions.md | 4 +++- ci/Changelog.txt | 3 ++- 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/PlayNext/Model/Filters/RecentlyPlayedFilter.cs b/PlayNext/Model/Filters/RecentlyPlayedFilter.cs index 1cb13b0..f52f528 100644 --- a/PlayNext/Model/Filters/RecentlyPlayedFilter.cs +++ b/PlayNext/Model/Filters/RecentlyPlayedFilter.cs @@ -15,9 +15,9 @@ public RecentlyPlayedFilter(IDateTimeProvider dateTimeProvider) _dateTimeProvider = dateTimeProvider; } - public IEnumerable Filter(IEnumerable games, int recentDayCount) + public IReadOnlyCollection Filter(IEnumerable games, int recentDayCount) { - return games.Where(x => x.LastActivity >= _dateTimeProvider.GetNow() - TimeSpan.FromDays(recentDayCount)); + return games.Where(x => x.LastActivity >= _dateTimeProvider.GetNow() - TimeSpan.FromDays(recentDayCount)).ToList(); } } } \ No newline at end of file diff --git a/PlayNext/PlayNext.cs b/PlayNext/PlayNext.cs index 502f175..c05397c 100644 --- a/PlayNext/PlayNext.cs +++ b/PlayNext/PlayNext.cs @@ -204,7 +204,9 @@ private void RefreshPlayNextData() var recentGames = new RecentlyPlayedFilter(_dateTimeProvider).Filter(playedGames, recentDayCount); var unPlayedGames = new UnplayedFilter().Filter(allGames, savedSettings).ToArray(); - var activitiesTask = _gameActivities.ParseGameActivity(recentGames); + var activitiesTask = recentGames.Any() + ? _gameActivities.ParseGameActivity(recentGames) + : Task.CompletedTask; var howLongToBeatTask = gameLengthWeight > 0 ? _howLongToBeatExtension.ParseFiles(unPlayedGames) : Task.CompletedTask; diff --git a/PlayNext/Settings/Old/SettingsVersions.md b/PlayNext/Settings/Old/SettingsVersions.md index 65b9102..aa39ade 100644 --- a/PlayNext/Settings/Old/SettingsVersions.md +++ b/PlayNext/Settings/Old/SettingsVersions.md @@ -1,2 +1,4 @@ V3 -- StartPageMinCoverCount \ No newline at end of file +- StartPageMinCoverCount +- SeriesWeight +- OrderSeriesBy \ No newline at end of file diff --git a/ci/Changelog.txt b/ci/Changelog.txt index a76f249..fa2611f 100644 --- a/ci/Changelog.txt +++ b/ci/Changelog.txt @@ -2,9 +2,10 @@ v1.5.0------------------------- - Added Brazilian Portuguese translations (thanks ?????????!) ----------- Series ----------- Extract StartPage Settings ------------ Improve game length algorithm (deviation by 0.5 from max length is the limit) +----------- Improve game length algorithm (deviation by 0.5 from preferred length is the limit) ----------- Allow switching off sidebar item ----------- Fix init calculations +----------- Optimize zero weight calculations v1.4.0 - Added minimum cover count for use with start page alignments