protected void UpdatePlaylist() { IPlayerContextManager playerContextManager = ServiceRegistration.Get <IPlayerContextManager>(); IPlayerContext pc = playerContextManager.GetPlayerContext(PlayerChoice.CurrentPlayer); IPlaylist playlist = pc == null ? null : pc.Playlist; UpdatePlaylistHeader(pc == null ? null : (AVType?)pc.AVType, pc == null ? true : pc.IsPrimaryPlayerContext); lock (_syncObj) { _playlist = playlist; _playlistItems.Clear(); if (playlist != null) { int ct = 0; int currentItemIdx = playlist.ItemListIndex; foreach (MediaItem mediaItem in playlist.ItemList) { int idx = ct++; PlayableMediaItem item = PlayableMediaItem.CreateItem(mediaItem); item.SetLabel(Consts.KEY_NUMBERSTR, (idx + 1) + "."); item.AdditionalProperties[Consts.KEY_INDEX] = idx; item.AdditionalProperties[Consts.KEY_IS_CURRENT_ITEM] = currentItemIdx == idx; _playlistItems.Add(item); } } IsPlaylistEmpty = _playlistItems.Count == 0; NumPlaylistItemsStr = Utils.BuildNumItemsStr(_playlistItems.Count, null); } _playlistItems.FireChange(); }
protected void UpdatePlaylist() { IPlayerContextManager playerContextManager = ServiceRegistration.Get <IPlayerContextManager>(); IPlayerContext pc = playerContextManager.GetPlayerContext(PlayerChoice.CurrentPlayer); IPlaylist playlist = pc == null ? null : pc.Playlist; UpdatePlaylistHeader(pc == null ? null : (AVType?)pc.AVType, pc == null ? true : pc.IsPrimaryPlayerContext); lock (_syncObj) { // TODO: If playlist objects differ, leave state EditPlaylist? _playlist = playlist; _items.Clear(); if (playlist != null) { IList <MediaItem> items = playlist.ItemList; for (int i = 0; i < items.Count; i++) { MediaItem mediaItem = items[i]; PlayableMediaItem item = PlayableMediaItem.CreateItem(mediaItem); item.SetLabel(Consts.KEY_NUMBERSTR, (i + 1) + "."); item.AdditionalProperties[Consts.KEY_INDEX] = i; item.AdditionalProperties[Consts.KEY_IS_DOWN_BUTTON_FOCUSED] = i == _focusedDownButton; item.AdditionalProperties[Consts.KEY_IS_UP_BUTTON_FOCUSED] = i == _focusedUpButton; _items.Add(item); } } _focusedDownButton = -1; _focusedUpButton = -1; IsPlaylistEmpty = _items.Count == 0; NumPlaylistItemsStr = Utils.BuildNumItemsStr(_items.Count, null); } _items.FireChange(); }