Fix extended playlist after changing language 03/319503/1 accepted/tizen_9.0_unified tizen_9.0 accepted/tizen/9.0/unified/20241030.232938 accepted/tizen/unified/20241025.143730 accepted/tizen/unified/x/20241027.210406 tizen_9.0_m2_release
authorMd. Farhan Mahtab/NC eXperience Group /SRBD/Engineer/Samsung Electronics <farhan.m1@samsung.com>
Thu, 24 Oct 2024 11:26:39 +0000 (17:26 +0600)
committerMd. Farhan Mahtab/NC eXperience Group /SRBD/Engineer/Samsung Electronics <farhan.m1@samsung.com>
Thu, 24 Oct 2024 11:26:39 +0000 (17:26 +0600)
[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 <farhan.m1@samsung.com>
music-player/Common/AppConstants.cs
music-player/ViewModels/PlaylistViewModel.cs
packaging/org.tizen.MusicPlayer-1.0.4.tpk

index fe2466357b4c0ad7a165106394f459172d5a720f..29f99a20020cbe7b87f24cc3c6910b62e9fd8c2e 100755 (executable)
@@ -23,5 +23,7 @@ namespace MusicPlayer.Common
         /// User can create maximum 100 playlists.
         /// </summary>
         public const int MaxPlaylistCount = 102;
+
+        public static string[] AvailableLanguages =  { "en-US", "ko-KR" };
     }
 }
index 8ed57ee0b27e38f460b444bda4cb26b26d586c14..c9004865bfa461f0347910110b2bb18d7c5525b8 100755 (executable)
@@ -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<PlaylistModel>();
             UpdatePlaylistData();
             PlaylistCount = listViewModel.Count.ToString();
@@ -21,6 +23,32 @@ namespace MusicPlayer.ViewModels
             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
@@ -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<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)
         {
index c76aca102998c4a1cb4c7bce19db9b9b95e1978e..c2cb0deb584443d67061f2046aff4dc48181ba12 100644 (file)
Binary files a/packaging/org.tizen.MusicPlayer-1.0.4.tpk and b/packaging/org.tizen.MusicPlayer-1.0.4.tpk differ