protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.playlistDetailsActivity); // Get data uit intent var playlistName = Intent.GetStringExtra(ExtraKey); playlistTitle = FindViewById <TextView>(Resource.Id.playlistTitle); playlistTitle.Text = playlistName; // Initialize viewmodels _playlistViewModel = App.Container.Resolve <PlaylistViewModel>(); _artistsViewModel = App.Container.Resolve <ArtistsViewModel>(); _playlistViewModel.InitializePlaylists(); _playlistViewModel.InitializeSelectedPlaylist(playlistName); _songsAdapter = new SongsAdapter(_playlistViewModel.SelectedPlaylist.Songs); _playlistSongsRecyclerview = FindViewById <RecyclerView>(Resource.Id.playlistSongs); _playlistSongsRecyclerview.SetLayoutManager(new LinearLayoutManager(this)); _playlistSongsRecyclerview.SetItemAnimator(new DefaultItemAnimator()); _playlistSongsRecyclerview.SetAdapter(_songsAdapter); _fab = FindViewById <FloatingActionButton>(Resource.Id.fabAddSongToPlaylist); _fab.Click += AddPlaylistClicked; SupportActionBar.Title = Resources.GetString(Resource.String.playlist_activity_title); SupportActionBar.SetDisplayHomeAsUpEnabled(true); SupportActionBar.SetHomeButtonEnabled(true); }
public PlaylistTaskViewModel GetPlaylistViewModel(IPlaylistViewModel playlist) { if (playlist == null) throw new ArgumentNullException("playlist"); try { var audioPlayer = new AudioPlayer(audioStreamFactory); var first = playlist.GetCurrentTaskItem(); var task = new PlaylistTask(logger, audioPlayer, videoPlayer, first, TimeSpan.Zero, () => playlist.GetPreviousTaskItem(), () => playlist.GetNextTaskItem()); var icon = playlist.Icon; var iconPath = first.Image as Uri; if (iconPath != null && !iconPath.IsEmptyUrn()) icon = iconPath; var iconData = first.Image as byte[]; if (iconData != null && iconData.Length > 0) icon = iconData; return new PlaylistTaskViewModel(logger, task, playlist.Name, icon); } catch (Exception ex) { logger.Error(" TaskController.GetPlaylistViewModel", ex); throw; } }
public PlaylistTaskViewModel GetPlaylistViewModel(IPlaylistViewModel playlist) { if (playlist == null) { throw new ArgumentNullException("playlist"); } try { var audioPlayer = new AudioPlayer(audioStreamFactory); var first = playlist.GetCurrentTaskItem(); var task = new PlaylistTask(logger, audioPlayer, videoPlayer, first, TimeSpan.Zero, () => playlist.GetPreviousTaskItem(), () => playlist.GetNextTaskItem()); var icon = playlist.Icon; var iconPath = first.Image as Uri; if (iconPath != null && !iconPath.IsEmptyUrn()) { icon = iconPath; } var iconData = first.Image as byte[]; if (iconData != null && iconData.Length > 0) { icon = iconData; } return(new PlaylistTaskViewModel(logger, task, playlist.Name, icon)); } catch (Exception ex) { logger.Error(" TaskController.GetPlaylistViewModel", ex); throw; } }
public EditPlaylistViewModel(IViewModelFactory viewModelFactory, IContentManagerService contentManagerService, IPlaylistViewModel playlistViewModel) { PlaylistViewModel = playlistViewModel; DisplayName = playlistViewModel.Playlist.Name; HashSet <Track> playlistTracks = new HashSet <Track>(playlistViewModel.Playlist.Tracks.Select(playlistTrack => playlistTrack.Track)); TrackSource = viewModelFactory.MakeViewModel <ITrackSinkViewModel>(contentManagerService.RetrieveTracks() .Where(track => !playlistTracks.Contains(track)) .Select(track => viewModelFactory.MakeViewModel <ITrackViewModel>(new PlaylistTrack(0, track))), "Plus"); PlaylistTarget = viewModelFactory.MakeViewModel <ITrackSinkViewModel>(playlistViewModel.Tracks, "Minus"); EventHandler <TracksReleasedEventArgs> MakeAddTracksEventHandler(ITrackSinkViewModel target) { return((sender, e) => { target.AddTracks(e.Tracks); ModifiedTrackCountChanged(); }); } TrackSource.TracksReleased += MakeAddTracksEventHandler(PlaylistTarget); PlaylistTarget.TracksReleased += MakeAddTracksEventHandler(TrackSource); }
public PlaylistPlayerViewModel(IPlaylistViewModel playlist, ISongPlayerViewModel songPlayerViewModel) { this.playlist = playlist ?? throw new ArgumentNullException(nameof(playlist)); SongPlayerViewModel = songPlayerViewModel ?? throw new ArgumentNullException(nameof(songPlayerViewModel)); ReversePlayingCommand = new AsyncRelayCommand(() => ReversePlaying(CancellationToken.None)); Messenger.Default.Register <PlaySongsListEventArgs>(this, e => OnPlaySongList(e, CancellationToken.None)); Messenger.Default.Register <PlayPlaylistStartingFromSongEventArgs>(this, _ => OnPlayPlaylistStartingFromSong(CancellationToken.None)); Messenger.Default.Register <SongPlaybackFinishedEventArgs>(this, _ => OnSongPlaybackFinished(CancellationToken.None)); }
public void LoadData(IPlaylistViewModel musicPanel) { List <Track> tracks = null; using (ApplicationContext db = new ApplicationContext(Options)) { tracks = db.AllTracks.ToList(); } musicPanel.AddTracksFromDb(tracks); }
public PlaylistController(ILogger logger, IPlaylistViewModel playlist, PlaylistTaskViewModel task, IVideoPlayer videoPlayer) { if (logger == null) throw new ArgumentNullException("logger"); if (playlist == null) throw new ArgumentNullException("playlist"); if (task == null) throw new ArgumentNullException("task"); if (videoPlayer == null) throw new ArgumentNullException("videoPlayer"); this.logger = logger; this.playlist = playlist; this.task = task; this.videoPlayer = videoPlayer; }
public void Playlist(PlaylistTaskViewModel taskViewModel, IPlaylistViewModel playlist) { if (taskViewModel == null) { throw new ArgumentNullException("taskViewModel"); } if (playlist == null) { throw new ArgumentNullException("playlist"); } try { if (!tabMap.ContainsKey(taskViewModel.Id)) { var playlistController = new PlaylistController(logger, playlist, taskViewModel, videoPlayer); var playlistView = new PlaylistView(); playlistView.Initialize(logger, playlistController); var tabItem = new TabItem(); //TextBlock header = new TextBlock(); //header.Inlines.Add(taskViewModel.Description); //header.ToolTip = string.Format("{0}: {1}", taskViewModel.Name, taskViewModel.Description); tabItem.Header = new TaskHeader(logger, taskViewModel); tabItem.Content = playlistView; resultControl.Items.Add(tabItem); tabItem.IsSelected = true; AddViewModel(taskViewModel, tabItem); if (taskViewModel.Status == TaskStatus.Ready) { taskViewModel.Start(); } } } catch (Exception ex) { logger.Error(" TaskResultView.Playlist", ex); } }
public PleerViewModel() { allMusicViewModel = new AllMusicViewModel(); CentralPanel = allMusicViewModel; Items.Add(CentralPanel); musicPanel = allMusicViewModel; BottomPanel = new PleerPanelViewModel(); Items.Add(BottomPanel); Playback.Instance().notifyTrackState += NotifyTrackState; DbManager db = DbManager.Instance(); db.Init(); db.LoadData(allMusicViewModel); }
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.Inflate(Resource.Layout.playlistOverviewFragment, container, false); // Initialize viewmodel _playlistViewModel = App.Container.Resolve <PlaylistViewModel>(); _playlistViewModel.InitializePlaylists(); _playlistAdapter = new PlaylistAdapter(_playlistViewModel); _playlistAdapter._itemClick += OnItemClick; FloatingActionButton fab = view.FindViewById <FloatingActionButton>(Resource.Id.fab); fab.Click += AddPlaylistClicked; _playlistRecyclerview = view.FindViewById <RecyclerView>(Resource.Id.playlistsRecyclerView); _playlistRecyclerview.SetLayoutManager(new LinearLayoutManager(this.Context)); _playlistRecyclerview.SetItemAnimator(new DefaultItemAnimator()); return(view); }
public PlaylistController(ILogger logger, IPlaylistViewModel playlist, PlaylistTaskViewModel task, IVideoPlayer videoPlayer) { if (logger == null) { throw new ArgumentNullException("logger"); } if (playlist == null) { throw new ArgumentNullException("playlist"); } if (task == null) { throw new ArgumentNullException("task"); } if (videoPlayer == null) { throw new ArgumentNullException("videoPlayer"); } this.logger = logger; this.playlist = playlist; this.task = task; this.videoPlayer = videoPlayer; }
public MainViewModel(ISongViewModel songViewModel, IPlaylistViewModel playlistViewModel) { SongViewModel = songViewModel; PlaylistViewModel = playlistViewModel; }
public PlaylistCreationMessage(IPlaylistViewModel playlistViewModel) { PlaylistViewModel = playlistViewModel; }
public void AllMusic() { CentralPanel = allMusicViewModel; musicPanel = allMusicViewModel; }
/// <summary> /// PlaylistAdapter /// </summary> /// <param name="playlistViewModel"></param> public PlaylistAdapter(IPlaylistViewModel playlistViewModel) { _playlistViewModel = playlistViewModel; }
public MainViewModel(IPlaylistViewModel playlistViewModel, IPlaybarViewModel playbarViewModel) { PlaylistViewModel = playlistViewModel; PlaybarViewModel = playbarViewModel; }
public void Playlist(PlaylistTaskViewModel taskViewModel, IPlaylistViewModel playlist) { if (taskViewModel == null) throw new ArgumentNullException("taskViewModel"); if (playlist == null) throw new ArgumentNullException("playlist"); try { if (!tabMap.ContainsKey(taskViewModel.Id)) { var playlistController = new PlaylistController(logger, playlist, taskViewModel, videoPlayer); var playlistView = new PlaylistView(); playlistView.Initialize(logger, playlistController); var tabItem = new TabItem(); //TextBlock header = new TextBlock(); //header.Inlines.Add(taskViewModel.Description); //header.ToolTip = string.Format("{0}: {1}", taskViewModel.Name, taskViewModel.Description); tabItem.Header = new TaskHeader(logger, taskViewModel); tabItem.Content = playlistView; resultControl.Items.Add(tabItem); tabItem.IsSelected = true; AddViewModel(taskViewModel, tabItem); if (taskViewModel.Status == TaskStatus.Ready) { taskViewModel.Start(); } } } catch (Exception ex) { logger.Error(" TaskResultView.Playlist", ex); } }
internal PlaylistDeletionMessage(IPlaylistViewModel playlistViewModel) { PlaylistViewModel = playlistViewModel; }
internal static void ShowPlaylistTracklist(IPlaylistViewModel playlist) { var p = ViewModelParamFactory.CreatePlaylistTracklistViewModelParams(playlist); ShowTracklist(p); }
public static TracklistViewModelParams CreatePlaylistTracklistViewModelParams(IPlaylistViewModel playlistViewModel) { Assert.That(playlistViewModel != null); return(CreatePlaylistTracklistViewModelParams(playlistViewModel.ItemId)); }