public async Task Refresh() { App.DebugLog(""); await _libraryUpdater.UpdateAsync(); var videos = await _database.GetAsync <VideoFileTable>(e => e.VideoId, e => !e.IsDeleted); var subtitles = await _database.GetAsync <SubtitleFileTable>(x => x.VideoId); var groupedSubtitles = subtitles.ToLookup(x => x.VideoId); _videoItems.Clear(); foreach (var videoRow in videos) { var video = videoRow.ToVideoItem(); if (groupedSubtitles.Contains(videoRow.VideoId)) { video.SubtitleFiles.AddRange(groupedSubtitles[videoRow.VideoId] .Select(x => new SubtitleFile(x.FilePath, videoRow.VideoId) { Delay = x.Delay, IsSelected = x.IsSelected, Encoding = PlayerControls.LibVlcOptions.Encoding.UTF8, })); } _videoItems.Add(video); } RefreshFolders(); }
public async Task Refresh() { await libraryUpdater.UpdateAsync(); var videos = await database.GetAsync <VideoFileTable>(e => e.VideoId, e => !e.IsDeleted); videoItems.Clear(); foreach (var video in videos) { videoItems.Add(video.ToVideoItem()); } RefreshFolders(); }