diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-08-15 20:22:59 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-08-15 20:22:59 -0400 |
| commit | ec111eebd3ac70bed57e7645fd562960c7c72030 (patch) | |
| tree | 10fe574e9136eb6b78e461f62ea791e97121d0bb /MediaBrowser.Controller/Entities/AggregateFolder.cs | |
| parent | 02a4b90f65bdee74e65cd0549e4ad691c8e1eea8 (diff) | |
fix folder caching
Diffstat (limited to 'MediaBrowser.Controller/Entities/AggregateFolder.cs')
| -rw-r--r-- | MediaBrowser.Controller/Entities/AggregateFolder.cs | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/MediaBrowser.Controller/Entities/AggregateFolder.cs b/MediaBrowser.Controller/Entities/AggregateFolder.cs index 4aa99ae87..b1e5a2135 100644 --- a/MediaBrowser.Controller/Entities/AggregateFolder.cs +++ b/MediaBrowser.Controller/Entities/AggregateFolder.cs @@ -5,6 +5,8 @@ using System.Collections.Concurrent; using System.Collections.Generic; using System.Linq; using System.Runtime.Serialization; +using System.Threading; +using System.Threading.Tasks; using CommonIO; using MediaBrowser.Controller.Providers; @@ -84,7 +86,7 @@ namespace MediaBrowser.Controller.Entities } } - private void ResetCachedChildren() + private void ClearCache() { lock (_childIdsLock) { @@ -114,7 +116,7 @@ namespace MediaBrowser.Controller.Entities public override bool BeforeMetadataRefresh() { - ResetCachedChildren(); + ClearCache(); var changed = base.BeforeMetadataRefresh() || _requiresRefresh; _requiresRefresh = false; @@ -123,7 +125,7 @@ namespace MediaBrowser.Controller.Entities private ItemResolveArgs CreateResolveArgs(IDirectoryService directoryService, bool setPhysicalLocations) { - ResetCachedChildren(); + ClearCache(); var path = ContainingFolderPath; @@ -165,6 +167,16 @@ namespace MediaBrowser.Controller.Entities return args; } + protected override async Task ValidateChildrenInternal(IProgress<double> progress, CancellationToken cancellationToken, bool recursive, bool refreshChildMetadata, MetadataRefreshOptions refreshOptions, IDirectoryService directoryService) + { + ClearCache(); + + await base.ValidateChildrenInternal(progress, cancellationToken, recursive, refreshChildMetadata, refreshOptions, directoryService) + .ConfigureAwait(false); + + ClearCache(); + } + /// <summary> /// Adds the virtual child. /// </summary> @@ -181,15 +193,6 @@ namespace MediaBrowser.Controller.Entities } /// <summary> - /// Get the children of this folder from the actual file system - /// </summary> - /// <returns>IEnumerable{BaseItem}.</returns> - protected override IEnumerable<BaseItem> GetNonCachedChildren(IDirectoryService directoryService) - { - return base.GetNonCachedChildren(directoryService).Concat(_virtualChildren); - } - - /// <summary> /// Finds the virtual child. /// </summary> /// <param name="id">The id.</param> |
