diff options
Diffstat (limited to 'MediaBrowser.Controller')
| -rw-r--r-- | MediaBrowser.Controller/Entities/BaseItem.cs | 26 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Session/ISessionManager.cs | 7 |
2 files changed, 26 insertions, 7 deletions
diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs index b8ea1bec42..3a0b251eef 100644 --- a/MediaBrowser.Controller/Entities/BaseItem.cs +++ b/MediaBrowser.Controller/Entities/BaseItem.cs @@ -1422,22 +1422,34 @@ namespace MediaBrowser.Controller.Entities throw new ArgumentException("Cannot call AddImages with chapter images"); } - var existingImagePaths = GetImages(imageType) - .Select(i => i.Path) + var existingImages = GetImages(imageType) .ToList(); - var newImages = images - .Where(i => !existingImagePaths.Contains(i.FullName, StringComparer.OrdinalIgnoreCase)) - .ToList(); + var newImageList = new List<FileSystemInfo>(); + + foreach (var newImage in images) + { + var existing = existingImages + .FirstOrDefault(i => string.Equals(i.Path, newImage.FullName, StringComparison.OrdinalIgnoreCase)); + + if (existing == null) + { + newImageList.Add(newImage); + } + else + { + existing.DateModified = FileSystem.GetLastWriteTimeUtc(newImage); + } + } - ImageInfos.AddRange(newImages.Select(i => new ItemImageInfo + ImageInfos.AddRange(newImageList.Select(i => new ItemImageInfo { Path = i.FullName, Type = imageType, DateModified = FileSystem.GetLastWriteTimeUtc(i) })); - return newImages.Count > 0; + return newImageList.Count > 0; } /// <summary> diff --git a/MediaBrowser.Controller/Session/ISessionManager.cs b/MediaBrowser.Controller/Session/ISessionManager.cs index 33f3fbe820..f7d1ecd4ae 100644 --- a/MediaBrowser.Controller/Session/ISessionManager.cs +++ b/MediaBrowser.Controller/Session/ISessionManager.cs @@ -38,6 +38,13 @@ namespace MediaBrowser.Controller.Session /// Occurs when [session ended]. /// </summary> event EventHandler<SessionEventArgs> SessionEnded; + + event EventHandler<SessionEventArgs> SessionActivity; + + /// <summary> + /// Occurs when [capabilities changed]. + /// </summary> + event EventHandler<SessionEventArgs> CapabilitiesChanged; /// <summary> /// Gets the sessions. |
