Example #1
0
        public PlaylistVideoPageViewModel(string playlistId, Func <IDataSource> getDataSource, IConnectionListener connectionListener)
        {
            _connectionListener = connectionListener;
            _getDataSource      = getDataSource;

            _videoViewModel          = new VideoPageViewModel();
            _playlistVideosViewModel = new PlaylistVideosViewModel(playlistId, getDataSource, connectionListener, PlaylistVideoItemClick);
            LoadPlaylistVideos(playlistId);
        }
Example #2
0
        protected void PlaylistVideoItemClick(NavigationObject navObject)
        {
            if (navObject == null)
            {
                return;
            }

            _playlistVideosViewModel.SetPlayingVideo(navObject.ViewModel);
            VideoViewModel = new VideoPageViewModel(navObject.ViewModel.VideoId, _getDataSource, _connectionListener);
        }
Example #3
0
        public void SkipPrevious()
        {
            var previous = _playlistVideosViewModel.GetPreviousVideo();

            if (previous == null)
            {
                return;
            }

            _playlistVideosViewModel.SetPlayingVideo(previous);
            VideoViewModel = new VideoPageViewModel(previous.VideoId, _getDataSource, _connectionListener);
        }
Example #4
0
        public void SkipNext()
        {
            var next = _playlistVideosViewModel.GetNextVideo();

            if (next == null)
            {
                return;
            }

            _playlistVideosViewModel.SetPlayingVideo(next);
            VideoViewModel = new VideoPageViewModel(next.VideoId, _getDataSource, _connectionListener);
        }
Example #5
0
        private void LoadPlaylistVideos(string playlistId)
        {
            LayoutHelper.InvokeFromUiThread(async() =>
            {
                await _playlistVideosViewModel.FirstLoad();
                var firstVideo = _playlistVideosViewModel.Items.FirstOrDefault();
                if (firstVideo == null)
                {
                    return;
                }

                VideoViewModel = new VideoPageViewModel(firstVideo.VideoId, _getDataSource, _connectionListener);
                var videoNode  = firstVideo as VideoItemViewModel;
                if (videoNode == null)
                {
                    return;
                }

                videoNode.IsNowPlaying = true;
            });
        }