class PlaylistDetailViewModel : PropertyNotifier
{
private Playlist playlist;
- private bool isDefaultPlaylist;
public PlaylistDetailViewModel(int playlistId)
{
PlaylistManager.Instance.PlaylistDataChanged += OnPlaylistDetailChanged;
playlist = PlaylistManager.Instance.GetPlaylist(playlistId);
PlaylistName = playlist.Name;
- isDefaultPlaylist = false;
+ IsNotDefaultPlaylist = true;
if(PlaylistName == AppConstants.RecentlyAddedPlaylist || PlaylistName == AppConstants.FavouritePlaylist)
{
- isDefaultPlaylist = true;
+ IsNotDefaultPlaylist = false;
}
listViewModel = new ListViewModel<Track>();
UpdatePlaylistDetails();
}
}
+ private bool isNotDefaultPlaylist;
+
+ public bool IsNotDefaultPlaylist
+ {
+ get => isNotDefaultPlaylist;
+ set => isNotDefaultPlaylist = value;
+ }
+
// TODO do we really need this ?
public void OnViewDeleted()
{
private void UpdatePlaylistDetails()
{
// This is required because we delete and recreate default playlists on every database change event
- if(isDefaultPlaylist)
+ if(IsNotDefaultPlaylist)
{
Playlist updatedPlaylist = PlaylistManager.Instance.GetPlaylist(PlaylistName);
playlist = updatedPlaylist;
using System;
+using System.Collections.Generic;
using Tizen.NUI;
using Tizen.NUI.BaseComponents;
using Tizen.NUI.Components;
Tizen.Log.Error(AppConstants.LogTag, "Moremenu object is null");
return;
}
+ List<MenuItem> listItem = new List<MenuItem>();
+ IEnumerable<MenuItem> menuItems = moreMenu.Items;
+ foreach(var item in menuItems)
+ {
+ listItem.Add(item);
+ }
+ moreMenu.Items = null;
+ while(listItem.Count > 0)
+ {
+ MenuItem item = listItem[0];
+ listItem.RemoveAt(0);
+ item.Dispose();
+ item = null;
+ }
moreMenu.Dismiss();
moreMenu = null;
}
using System;
+using System.Collections.Generic;
using Tizen.NUI.BaseComponents;
using Tizen.NUI.Binding;
using Tizen.NUI.Components;
public override void UpdateSubContentMoreButtonItems(Menu moreMenu)
{
+ List<MenuItem> menuItemList = new List<MenuItem>();
var share = new MenuItem { Text = "Share" };
share.Clicked += OnShareClick;
+ menuItemList.Add(share);
- var delete = new MenuItem { Text = "Delete" };
- delete.Clicked += OnDeleteClick;
+ if (viewModel.IsNotDefaultPlaylist)
+ {
+ var delete = new MenuItem { Text = "Delete" };
+ delete.Clicked += OnDeleteClick;
+ menuItemList.Add(delete);
+ }
- moreMenu.Items = new MenuItem[] { share, delete };
+ moreMenu.Items = menuItemList;
}
protected override void OnPlayAllClicked()