protected override async Task OnCompleted() { await base.OnCompleted().ConfigureAwait(false); //We don't need a lock for this so not performing in OnRun(). var names = new HashSet <string>(StringComparer.OrdinalIgnoreCase); names.AddRange(PlaylistTaskBase.UpdateLibraryCache(this.LibraryCache, this.PlaylistItems, null)); names.AddRange(PlaylistTaskBase.UpdatePlaylistCache(this.PlaylistCache, this.PlaylistItems, null)); await this.SignalEmitter.Send(new Signal(this, CommonSignals.MetaDataUpdated, names)).ConfigureAwait(false); }
protected override async Task OnStarted() { if (this.Visible) { this.Name = "Saving meta data"; this.Position = 0; this.Count = this.PlaylistItems.Count(); } await base.OnStarted().ConfigureAwait(false); //We don't need a lock for this so not waiting for OnRun(). var names = new HashSet <string>(StringComparer.OrdinalIgnoreCase); names.AddRange(PlaylistTaskBase.UpdateLibraryCache(this.LibraryCache, this.PlaylistItems, this.Names)); names.AddRange(PlaylistTaskBase.UpdatePlaylistCache(this.PlaylistCache, this.PlaylistItems, this.Names)); }