Пример #1
0
        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();
        }