using MusicPlayer.Core;
using MusicPlayer.Common;
using MusicPlayer.Media;
+using System.Globalization;
namespace MusicPlayer.ViewModels
{
public PlaylistViewModel()
{
PlaylistManager.Instance.PlaylistDataChanged += OnPlaylistDataChanged;
+ SetNamesList();
listViewModel = new ListViewModel<PlaylistModel>();
UpdatePlaylistData();
PlaylistCount = listViewModel.Count.ToString();
ListViewModel.CollectionChanged += OnCollectionChanged;
}
+ private void SetNamesList()
+ {
+ FavouriteNameList = new List<string>();
+ RecentlyAddedNameList = new List<string>();
+ foreach (string lang in AppConstants.AvailableLanguages)
+ {
+ var culture = CultureInfo.CreateSpecificCulture(lang);
+ FavouriteNameList.Add(TextResources.Resources.ResourceManager.GetString("IDS_FAVOURITE", culture));
+ RecentlyAddedNameList.Add(TextResources.Resources.ResourceManager.GetString("IDS_RECENTLY_ADDED", culture));
+ Tizen.Log.Debug(AppConstants.LogTag, $"Added Language {lang}");
+ }
+ }
+
+ private List<string> FavouriteNameList { get; set; }
+ private List<string> RecentlyAddedNameList { get; set; }
+
+ private bool IsFavouritePlaylistName(string name)
+ {
+ return FavouriteNameList.Contains(name);
+ }
+
+ private bool IsRecentlyAddedPlaylistName(string name)
+ {
+ return RecentlyAddedNameList.Contains(name);
+ }
+
private ListViewModel<PlaylistModel> listViewModel;
public ListViewModel<PlaylistModel> ListViewModel
private Playlist CreateDefaultPlaylist(string name, string thumbPath)
{
- Playlist playlist = PlaylistManager.Instance.GetPlaylist(name);
- if (playlist != null)
+ if (name == TextResources.Resources.IDS_FAVOURITE)
{
- PlaylistManager.Instance.Delete(playlist.Id);
- playlist = null;
+ RemovePlaylistByNames(FavouriteNameList);
}
- playlist = PlaylistManager.Instance.AddPlaylist(name, thumbPath);
+ else if (name == TextResources.Resources.IDS_RECENTLY_ADDED)
+ {
+ RemovePlaylistByNames(RecentlyAddedNameList);
+ }
+
+ Playlist playlist = PlaylistManager.Instance.AddPlaylist(name, thumbPath);
return playlist;
}
+ private void RemovePlaylistByNames(List<string> playlistNames)
+ {
+ foreach(string name in playlistNames)
+ {
+ Playlist playlist = PlaylistManager.Instance.GetPlaylist(name);
+ if (playlist != null)
+ {
+ PlaylistManager.Instance.Delete(playlist.Id);
+ }
+ }
+ }
+
+
private Tuple<int, int> AddMemberToDefaultList(Playlist favourite, Playlist recentlyAdded)
{