Removed delete option from default playlists 36/265436/2
authoraman.jeph <aman.jeph@samsung.com>
Tue, 19 Oct 2021 10:20:38 +0000 (15:50 +0530)
committeraman.jeph <aman.jeph@samsung.com>
Tue, 19 Oct 2021 10:39:26 +0000 (16:09 +0530)
Added disposed for menuitems

Change-Id: I9513633c347f9b43fc11ece01c55822181c8eb3c
Signed-off-by: aman.jeph <aman.jeph@samsung.com>
music-player/ViewModels/PlaylistDetailViewModel.cs
music-player/Views/BaseContentView.cs
music-player/Views/PlaylistDetailView.cs
packaging/org.tizen.MusicPlayer-1.0.0.tpk

index b072d793cb3450b3a84074b982dcf2b3ffdbf2c0..c4677d00633d7b30a15d522c4f4470dab3d47af9 100755 (executable)
@@ -11,16 +11,15 @@ namespace MusicPlayer.ViewModels
     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();
@@ -49,6 +48,14 @@ namespace MusicPlayer.ViewModels
             }
         }
 
+        private bool isNotDefaultPlaylist;
+
+        public bool IsNotDefaultPlaylist
+        {
+            get => isNotDefaultPlaylist;
+            set => isNotDefaultPlaylist = value;
+        }
+
         // TODO do we really need this ?
         public void OnViewDeleted()
         {
@@ -95,7 +102,7 @@ namespace MusicPlayer.ViewModels
         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;
index 600cdf329d6bc019a0d72765ca7aea8d90e97326..4bd4b32397884854dab9d655243b827b788b3e3f 100755 (executable)
@@ -1,4 +1,5 @@
 using System;
+using System.Collections.Generic;
 using Tizen.NUI;
 using Tizen.NUI.BaseComponents;
 using Tizen.NUI.Components;
@@ -164,6 +165,20 @@ namespace MusicPlayer.Views
                 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;
         }
index f115925dbf8eafb3ab32d378c9bf41ebea82120e..4185a8dd709f1b9c2aec5e34a12a0aec876e9c79 100755 (executable)
@@ -1,4 +1,5 @@
 using System;
+using System.Collections.Generic;
 using Tizen.NUI.BaseComponents;
 using Tizen.NUI.Binding;
 using Tizen.NUI.Components;
@@ -38,13 +39,19 @@ namespace MusicPlayer.Views
 
         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()
index 9762b3b5ecff68f32160f122eaed84a7df4a37fc..2f834dc87dffac42a3c1d72aed9d4b1f43cbddac 100755 (executable)
Binary files a/packaging/org.tizen.MusicPlayer-1.0.0.tpk and b/packaging/org.tizen.MusicPlayer-1.0.0.tpk differ