From b82081e4b2da0d165000439a416b5f7cea9c66ec Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Wed, 22 Apr 2015 09:28:45 -0400 Subject: 3.0.5588.1 --- .../Sync/SyncManager.cs | 52 ++++++++++------------ 1 file changed, 23 insertions(+), 29 deletions(-) (limited to 'MediaBrowser.Server.Implementations/Sync/SyncManager.cs') diff --git a/MediaBrowser.Server.Implementations/Sync/SyncManager.cs b/MediaBrowser.Server.Implementations/Sync/SyncManager.cs index 235c36e8c..0e4a3bcf1 100644 --- a/MediaBrowser.Server.Implementations/Sync/SyncManager.cs +++ b/MediaBrowser.Server.Implementations/Sync/SyncManager.cs @@ -512,7 +512,7 @@ namespace MediaBrowser.Server.Implementations.Sync var video = item as Video; if (video != null) { - if (video.VideoType == VideoType.Iso || video.VideoType == VideoType.BluRay || video.VideoType == VideoType.Dvd || video.VideoType == VideoType.HdDvd) + if (video.VideoType == VideoType.Iso || video.VideoType == VideoType.HdDvd) { return false; } @@ -758,6 +758,8 @@ namespace MediaBrowser.Server.Implementations.Sync var requiresSaving = false; var removeFromDevice = false; + var libraryItem = _libraryManager.GetItemById(jobItem.ItemId); + if (request.LocalItemIds.Contains(jobItem.ItemId, StringComparer.OrdinalIgnoreCase)) { var job = _repo.GetJob(jobItem.JobId); @@ -775,23 +777,18 @@ namespace MediaBrowser.Server.Implementations.Sync _logger.Debug("Adding ItemIdsToRemove {0} because the user is no longer valid.", jobItem.ItemId); removeFromDevice = true; } + else if (!IsLibraryItemAvailable(libraryItem)) + { + // Tell the device to remove it since it's no longer available + _logger.Debug("Adding ItemIdsToRemove {0} because it is no longer available.", jobItem.ItemId); + removeFromDevice = true; + } else if (job.UnwatchedOnly) { - var libraryItem = _libraryManager.GetItemById(jobItem.ItemId); - - if (IsLibraryItemAvailable(libraryItem)) - { - if (libraryItem.IsPlayed(user) && libraryItem is Video) - { - // Tell the device to remove it since it has been played - _logger.Debug("Adding ItemIdsToRemove {0} because it has been marked played.", jobItem.ItemId); - removeFromDevice = true; - } - } - else + if (libraryItem.IsPlayed(user) && libraryItem is Video) { - // Tell the device to remove it since it's no longer available - _logger.Debug("Adding ItemIdsToRemove {0} because it is no longer available.", jobItem.ItemId); + // Tell the device to remove it since it has been played + _logger.Debug("Adding ItemIdsToRemove {0} because it has been marked played.", jobItem.ItemId); removeFromDevice = true; } } @@ -866,6 +863,8 @@ namespace MediaBrowser.Server.Implementations.Sync var requiresSaving = false; var removeFromDevice = false; + var libraryItem = _libraryManager.GetItemById(jobItem.ItemId); + if (request.SyncJobItemIds.Contains(jobItem.Id, StringComparer.OrdinalIgnoreCase)) { var job = _repo.GetJob(jobItem.JobId); @@ -883,23 +882,18 @@ namespace MediaBrowser.Server.Implementations.Sync _logger.Debug("Adding ItemIdsToRemove {0} because the user is no longer valid.", jobItem.Id); removeFromDevice = true; } + else if (!IsLibraryItemAvailable(libraryItem)) + { + // Tell the device to remove it since it's no longer available + _logger.Debug("Adding ItemIdsToRemove {0} because it is no longer available.", jobItem.Id); + removeFromDevice = true; + } else if (job.UnwatchedOnly) { - var libraryItem = _libraryManager.GetItemById(jobItem.ItemId); - - if (IsLibraryItemAvailable(libraryItem)) - { - if (libraryItem.IsPlayed(user) && libraryItem is Video) - { - // Tell the device to remove it since it has been played - _logger.Debug("Adding ItemIdsToRemove {0} because it has been marked played.", jobItem.Id); - removeFromDevice = true; - } - } - else + if (libraryItem.IsPlayed(user) && libraryItem is Video) { - // Tell the device to remove it since it's no longer available - _logger.Debug("Adding ItemIdsToRemove {0} because it is no longer available.", jobItem.Id); + // Tell the device to remove it since it has been played + _logger.Debug("Adding ItemIdsToRemove {0} because it has been marked played.", jobItem.Id); removeFromDevice = true; } } -- cgit v1.2.3