| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 | 
							- using MediaBrowser.Controller.Devices;
 
- using MediaBrowser.Controller.Sync;
 
- using MediaBrowser.Model.Devices;
 
- using MediaBrowser.Model.Dlna;
 
- using MediaBrowser.Model.Sync;
 
- using System;
 
- using System.Collections.Generic;
 
- using System.Linq;
 
- namespace MediaBrowser.Server.Implementations.Sync
 
- {
 
-     public class AppSyncProvider : ISyncProvider, IHasUniqueTargetIds, IHasSyncQuality
 
-     {
 
-         private readonly IDeviceManager _deviceManager;
 
-         public AppSyncProvider(IDeviceManager deviceManager)
 
-         {
 
-             _deviceManager = deviceManager;
 
-         }
 
-         public IEnumerable<SyncTarget> GetSyncTargets(string userId)
 
-         {
 
-             return _deviceManager.GetDevices(new DeviceQuery
 
-             {
 
-                 SupportsSync = true,
 
-                 UserId = userId
 
-             }).Items.Select(i => new SyncTarget
 
-             {
 
-                 Id = i.Id,
 
-                 Name = i.Name
 
-             });
 
-         }
 
-         public DeviceProfile GetDeviceProfile(SyncTarget target, string profile, string quality)
 
-         {
 
-             var caps = _deviceManager.GetCapabilities(target.Id);
 
-             var deviceProfile = caps == null || caps.DeviceProfile == null ? new DeviceProfile() : caps.DeviceProfile;
 
-             deviceProfile.MaxStaticBitrate = SyncHelper.AdjustBitrate(deviceProfile.MaxStaticBitrate, quality);
 
-             return deviceProfile;
 
-         }
 
-         public string Name
 
-         {
 
-             get { return "Mobile Sync"; }
 
-         }
 
-         public IEnumerable<SyncTarget> GetAllSyncTargets()
 
-         {
 
-             return _deviceManager.GetDevices(new DeviceQuery
 
-             {
 
-                 SupportsSync = true
 
-             }).Items.Select(i => new SyncTarget
 
-             {
 
-                 Id = i.Id,
 
-                 Name = i.Name
 
-             });
 
-         }
 
-         public IEnumerable<SyncQualityOption> GetQualityOptions(SyncTarget target)
 
-         {
 
-             return new List<SyncQualityOption>
 
-             {
 
-                 new SyncQualityOption
 
-                 {
 
-                     Name = "Original",
 
-                     Id = "original",
 
-                     Description = "Syncs original files as-is, regardless of whether the device is capable of playing them or not."
 
-                 },
 
-                 new SyncQualityOption
 
-                 {
 
-                     Name = "High",
 
-                     Id = "high",
 
-                     IsDefault = true
 
-                 },
 
-                 new SyncQualityOption
 
-                 {
 
-                     Name = "Medium",
 
-                     Id = "medium"
 
-                 },
 
-                 new SyncQualityOption
 
-                 {
 
-                     Name = "Low",
 
-                     Id = "low"
 
-                 }
 
-             };
 
-         }
 
-         public IEnumerable<SyncProfileOption> GetProfileOptions(SyncTarget target)
 
-         {
 
-             return new List<SyncProfileOption>();
 
-         }
 
-         public SyncJobOptions GetSyncJobOptions(SyncTarget target, string profile, string quality)
 
-         {
 
-             var isConverting = !string.Equals(quality, "original", StringComparison.OrdinalIgnoreCase);
 
-             return new SyncJobOptions
 
-             {
 
-                 DeviceProfile = GetDeviceProfile(target, profile, quality),
 
-                 IsConverting = isConverting
 
-             };
 
-         }
 
-     }
 
- }
 
 
  |