From: Md. Farhan Mahtab/NC eXperience Group /SRBD/Engineer/Samsung Electronics Date: Thu, 24 Oct 2024 11:26:39 +0000 (+0600) Subject: Fix extended playlist after changing language X-Git-Tag: accepted/tizen/unified/20241025.143730^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=bff3ee13a2acd8d263954f4213a17d15a6c18fb8;p=profile%2Fiot%2Fapps%2Fdotnet%2Fmusic-player.git Fix extended playlist after changing language [Problem] Two extra playlist appears after system language is changed [Cause & Measure] Cause : When language is changed two default playlist are not properly deleted Measure : Two default playlist are properly deleted by finding correct playlist Change-Id: Ib57b19449e46e87010538d9fa1c29d565f78b4f1 Signed-off-by: Md. Farhan Mahtab/NC eXperience Group /SRBD/Engineer/Samsung Electronics --- diff --git a/music-player/Common/AppConstants.cs b/music-player/Common/AppConstants.cs index fe24663..29f99a2 100755 --- a/music-player/Common/AppConstants.cs +++ b/music-player/Common/AppConstants.cs @@ -23,5 +23,7 @@ namespace MusicPlayer.Common /// User can create maximum 100 playlists. /// public const int MaxPlaylistCount = 102; + + public static string[] AvailableLanguages = { "en-US", "ko-KR" }; } } diff --git a/music-player/ViewModels/PlaylistViewModel.cs b/music-player/ViewModels/PlaylistViewModel.cs index 8ed57ee..c900486 100755 --- a/music-player/ViewModels/PlaylistViewModel.cs +++ b/music-player/ViewModels/PlaylistViewModel.cs @@ -6,6 +6,7 @@ using MusicPlayer.Models; using MusicPlayer.Core; using MusicPlayer.Common; using MusicPlayer.Media; +using System.Globalization; namespace MusicPlayer.ViewModels { @@ -14,6 +15,7 @@ namespace MusicPlayer.ViewModels public PlaylistViewModel() { PlaylistManager.Instance.PlaylistDataChanged += OnPlaylistDataChanged; + SetNamesList(); listViewModel = new ListViewModel(); UpdatePlaylistData(); PlaylistCount = listViewModel.Count.ToString(); @@ -21,6 +23,32 @@ namespace MusicPlayer.ViewModels ListViewModel.CollectionChanged += OnCollectionChanged; } + private void SetNamesList() + { + FavouriteNameList = new List(); + RecentlyAddedNameList = new List(); + 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 FavouriteNameList { get; set; } + private List RecentlyAddedNameList { get; set; } + + private bool IsFavouritePlaylistName(string name) + { + return FavouriteNameList.Contains(name); + } + + private bool IsRecentlyAddedPlaylistName(string name) + { + return RecentlyAddedNameList.Contains(name); + } + private ListViewModel listViewModel; public ListViewModel ListViewModel @@ -76,16 +104,32 @@ namespace MusicPlayer.ViewModels 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 playlistNames) + { + foreach(string name in playlistNames) + { + Playlist playlist = PlaylistManager.Instance.GetPlaylist(name); + if (playlist != null) + { + PlaylistManager.Instance.Delete(playlist.Id); + } + } + } + + private Tuple AddMemberToDefaultList(Playlist favourite, Playlist recentlyAdded) { diff --git a/packaging/org.tizen.MusicPlayer-1.0.4.tpk b/packaging/org.tizen.MusicPlayer-1.0.4.tpk index c76aca1..c2cb0de 100644 Binary files a/packaging/org.tizen.MusicPlayer-1.0.4.tpk and b/packaging/org.tizen.MusicPlayer-1.0.4.tpk differ