瀏覽代碼

Merge branch 'dev' of https://github.com/MediaBrowser/Emby into dev

Luke Pulverenti 8 年之前
父節點
當前提交
61a4ef464d

+ 12 - 15
Emby.Server.Implementations/Sync/SyncManager.cs

@@ -1042,10 +1042,7 @@ namespace Emby.Server.Implementations.Sync
                 throw new ArgumentException("Operation is not valid for this job item");
             }
 
-            if (jobItem.Status != SyncJobItemStatus.Synced)
-            {
-                jobItem.Status = SyncJobItemStatus.Cancelled;
-            }
+            jobItem.Status = SyncJobItemStatus.Cancelled;
 
             jobItem.Progress = 0;
             jobItem.IsMarkedForRemoval = true;
@@ -1071,18 +1068,18 @@ namespace Emby.Server.Implementations.Sync
                 _logger.ErrorException("Error deleting directory {0}", ex, path);
             }
 
-            //var jobItemsResult = GetJobItems(new SyncJobItemQuery
-            //{
-            //    AddMetadata = false,
-            //    JobId = jobItem.JobId,
-            //    Limit = 0,
-            //    Statuses = new[] { SyncJobItemStatus.Converting, SyncJobItemStatus.Failed, SyncJobItemStatus.Queued, SyncJobItemStatus.ReadyToTransfer, SyncJobItemStatus.Synced, SyncJobItemStatus.Transferring }
-            //});
+            var jobItemsResult = GetJobItems(new SyncJobItemQuery
+            {
+                AddMetadata = false,
+                JobId = jobItem.JobId,
+                Limit = 0,
+                Statuses = new[] { SyncJobItemStatus.Converting, SyncJobItemStatus.Queued, SyncJobItemStatus.ReadyToTransfer, SyncJobItemStatus.Synced, SyncJobItemStatus.Transferring }
+            });
 
-            //if (jobItemsResult.TotalRecordCount == 0)
-            //{
-            //    await CancelJob(jobItem.JobId).ConfigureAwait(false);
-            //}
+            if (jobItemsResult.TotalRecordCount == 0)
+            {
+                await CancelJob(jobItem.JobId).ConfigureAwait(false);
+            }
         }
 
         public Task MarkJobItemForRemoval(string id)

+ 12 - 0
Emby.Server.Implementations/Sync/SyncNotificationEntryPoint.cs

@@ -38,6 +38,18 @@ namespace Emby.Server.Implementations.Sync
 
                 }
             }
+
+            if (item.Status == SyncJobItemStatus.Cancelled)
+            {
+                try
+                {
+                    await _sessionManager.SendMessageToUserDeviceSessions(item.TargetId, "SyncJobItemCancelled", item, CancellationToken.None).ConfigureAwait(false);
+                }
+                catch
+                {
+
+                }
+            }
         }
 
         public void Dispose()