Following changes are implemented : 52/264452/1
authoraman.jeph <aman.jeph@samsung.com>
Sun, 19 Sep 2021 20:23:00 +0000 (01:53 +0530)
committeraman.jeph <aman.jeph@samsung.com>
Sun, 19 Sep 2021 20:23:00 +0000 (01:53 +0530)
1. Fix selection callback crash issue
2. Corrected back button click order
3. Corrected TextLabel style use

Change-Id: I708f2be86e1bd251252ef41a25f7c5e79b26f688
Signed-off-by: aman.jeph <aman.jeph@samsung.com>
19 files changed:
music-player/MediaContent/PlaylistContents.cs
music-player/MusicPlayer.cs
music-player/ViewModels/PlayingListViewModel.cs
music-player/Views/AlbumDetailLayout.cs
music-player/Views/AlbumDetailView.cs
music-player/Views/AlbumView.cs
music-player/Views/ArtistDetailGroupLayout.cs
music-player/Views/ArtistDetailItemLayout.cs
music-player/Views/ArtistDetailView.cs
music-player/Views/ArtistView.cs
music-player/Views/BaseContentView.cs
music-player/Views/BaseSubContentView.cs
music-player/Views/BaseView.cs
music-player/Views/ListItemLayout.cs
music-player/Views/PlayerView.cs
music-player/Views/PlaylistDetailView.cs
music-player/Views/PlaylistView.cs
music-player/Views/TrackView.cs
packaging/org.tizen.MusicPlayer-1.0.0.tpk

index 3f006428b342dc684993baece7707c10cdd0cd12..cc9396dcc9fa395b3bd38bdd92dc7ac10af1adab 100755 (executable)
@@ -9,7 +9,6 @@ namespace MusicPlayer.Media
         public static List<Playlist> GetPlaylists()\r
         {\r
             List<Playlist> playlists = new List<Playlist>();\r
-            SelectArguments arguments = CreateSelectArgument(MEDIA_STORAGE_TYPE_QUERY, PlaylistColumns.Name + MEDIA_SORT_ORDER_ASC);\r
             MediaDataReader<Playlist> dataReader = playlistInfo.Select();\r
 \r
             while(dataReader.Read())\r
index cb65d24266a556456b097044ea33bc9278b34d7c..84ecc5a2efbb17b68fed12b75a0264cd66d36d0a 100755 (executable)
@@ -1,4 +1,5 @@
 using System;
+using System.Text;
 using Tizen.NUI;
 using MusicPlayer.Views;
 using MusicPlayer.Common;
@@ -9,8 +10,17 @@ namespace MusicPlayer
     {
         public Application() : base(ThemeOptions.PlatformThemeEnabled)
         {
+            AppDomain.CurrentDomain.UnhandledException += OnAppDomainUnHandledException;
+        }
 
+        public void OnKeyEvent(object sender, Window.KeyEventArgs e)
+        {
+            if (e.Key.State == Key.StateType.Up && (e.Key.KeyPressedName == AppConstants.BackKeyCode || e.Key.KeyPressedName == AppConstants.EscapeKeyCode))
+            {
+                Exit();
+            }
         }
+
         protected override void OnCreate()
         {
             Tizen.Log.Info(AppConstants.LogTag, "OnCreate statrted");
@@ -24,12 +34,22 @@ namespace MusicPlayer
             ViewManager manager = new ViewManager(Window.Instance);
         }
 
-        public void OnKeyEvent(object sender, Window.KeyEventArgs e)
+        private void OnAppDomainUnHandledException(object sender, UnhandledExceptionEventArgs e)
         {
-            if (e.Key.State == Key.StateType.Down && (e.Key.KeyPressedName == AppConstants.BackKeyCode || e.Key.KeyPressedName == AppConstants.EscapeKeyCode))
+            StringBuilder fileStringBuilder = new StringBuilder();
+            fileStringBuilder.Append(e.ExceptionObject.ToString());
+
+            try
             {
-                Exit();
+                string exceptionLogFile = Current.DirectoryInfo.Data + "org.tizen.MusicPlayer_Exception.log";
+                Tizen.Log.Error(AppConstants.LogTag, fileStringBuilder.ToString());
+                System.IO.File.WriteAllText(exceptionLogFile, fileStringBuilder.ToString());
+            }
+            catch (Exception ex)
+            {
+                Tizen.Log.Debug(AppConstants.LogTag, "Failed to write app doamin exception message: "+ex.Message);
             }
+            Environment.Exit(1);
         }
 
         static void Main(string[] args)
index 1e066806726b101d3088fc761bc7f4dbb63f4cdc..fa683da46b4fbd23775045c74cf81887055b1190 100755 (executable)
@@ -16,7 +16,7 @@ namespace MusicPlayer.ViewModels
 
         public static Random ThisThreadsRandom
         {
-            get { return Local ??= new Random(unchecked(Environment.TickCount * 31 + Thread.CurrentThread.ManagedThreadId)); } 
+            get { return Local ??= new Random(unchecked(Environment.TickCount * 31 + Thread.CurrentThread.ManagedThreadId)); }
         }
     }
 
index 02f24bbc724d35f79b9b801b5bec03ba51c7d8d3..d569eedc3696a1fea94d4fb0975c7d8ae3b244f8 100755 (executable)
@@ -24,7 +24,7 @@ namespace MusicPlayer.Views
             base.IsCreateByXaml = true;\r
             WidthSpecification = width;\r
             HeightSpecification = height;\r
-\r
+            Size2D = new Size2D(width, height);\r
             // to show the rounded rect of the bg\r
             BackgroundColor = Color.Transparent;\r
 \r
@@ -37,8 +37,9 @@ namespace MusicPlayer.Views
 \r
         private TextLabel CreateTitleLabel()\r
         {\r
-            TextLabel titleLabel = new TextLabel("ItemLabel")\r
+            TextLabel titleLabel = new TextLabel()\r
             {\r
+                StyleName = "ItemLabel",\r
                 ThemeChangeSensitive = true,\r
                 Size2D = new Size2D(596, 40),\r
                 PixelSize = 32,\r
@@ -55,8 +56,9 @@ namespace MusicPlayer.Views
 \r
         private TextLabel CreateSubTitleLabel()\r
         {\r
-            TextLabel subtitleLabel = new TextLabel("ItemLabel")\r
+            TextLabel subtitleLabel = new TextLabel()\r
             {\r
+                StyleName = "ItemLabel",\r
                 ThemeChangeSensitive = true,\r
                 Size2D= new Size2D(596,36),\r
                 PixelSize = 28,\r
@@ -73,8 +75,9 @@ namespace MusicPlayer.Views
 \r
         private TextLabel CreateAdditionalLabel(int width)\r
         {\r
-            TextLabel additionalLabel = new TextLabel("ItemLabel")\r
+            TextLabel additionalLabel = new TextLabel()\r
             {\r
+                StyleName = "ItemLabel",\r
                 ThemeChangeSensitive = true,\r
                 Size2D= new Size2D(108,36),\r
                 PixelSize = 28,\r
index 54c8e864c956543d46fbd6d2a058dc4ffcb12b4d..28b7976edc5f9aa6072ae08019f99244e24e8401 100755 (executable)
@@ -34,6 +34,11 @@ namespace MusicPlayer.Views
             AddAlbumInfo();\r
         }\r
 \r
+        public override string GetTitleText()\r
+        {\r
+            return albumNameLabel.Text;\r
+        }\r
+\r
         public override void UpdateSubContentMoreButtonItems(Menu moreMenu)\r
         {\r
             var addtoPlaylist = new MenuItem { Text = "Add to playlist" };\r
@@ -70,7 +75,12 @@ namespace MusicPlayer.Views
 \r
         private void OnTrackSelection(object sender, SelectionChangedEventArgs e)\r
         {\r
+            if (collectionView.SelectedItem == null)\r
+            {\r
+                return;\r
+            }\r
             viewModel.PlayCurrent(collectionView.SelectedItem);\r
+            collectionView.SelectedItem = null;\r
         }\r
 \r
         private View CreateLeftView()\r
@@ -125,8 +135,10 @@ namespace MusicPlayer.Views
         }\r
         private void AddAlbumInfo()\r
         {\r
-            albumNameLabel = new TextLabel("LabelText")\r
+            albumNameLabel = new TextLabel()\r
             {\r
+                StyleName = "LabelText",\r
+                ThemeChangeSensitive = true,\r
                 Size2D = new Size2D(640, 48),\r
                 PixelSize = 36,\r
                 Margin = new Extents(0, 0, 32, 0),\r
@@ -139,8 +151,10 @@ namespace MusicPlayer.Views
             albumNameLabel.BindingContext = viewModel;\r
             albumNameLabel.SetBinding(TextLabel.TextProperty, "AlbumName");\r
             leftView.Add(albumNameLabel);\r
-            albumArtistLabel = new TextLabel("LabelText")\r
+            albumArtistLabel = new TextLabel()\r
             {\r
+                StyleName = "LabelText",\r
+                ThemeChangeSensitive = true,\r
                 Size2D = new Size2D(640, 36),\r
                 PixelSize = 28,\r
                 Margin = new Extents(0, 0, 14, 0),\r
index d4e590ded8aa78f02ad62b1c4d246488cce03d4f..56325b7f073583575bfec30570e000acb8c08114 100755 (executable)
@@ -30,8 +30,9 @@ namespace MusicPlayer.Views
             collectionView.SelectionMode = ItemSelectionMode.Single;\r
             collectionView.SelectionChanged += OnAlbumSelection;\r
 \r
-            albumCountLabel = new TextLabel("LabelText")\r
+            albumCountLabel = new TextLabel()\r
             {\r
+                StyleName = "LabelText",\r
                 ThemeChangeSensitive = true,\r
                 PixelSize = 28,\r
                 Text = "ALBUM COUNT",\r
@@ -92,11 +93,15 @@ namespace MusicPlayer.Views
 \r
         private void OnAlbumSelection(object sender, SelectionChangedEventArgs e)\r
         {\r
-            Tizen.Log.Error(AppConstants.LogTag, "OnAlbumSelection Enter ==>");\r
+            if(collectionView.SelectedItem == null)\r
+            {\r
+                return;\r
+            }\r
             MusicAlbum currentAlbum = (MusicAlbum)collectionView.SelectedItem;\r
             SubContentViewAddEventArgs albumDetailViewArgs = new SubContentViewAddEventArgs(SubContentViewType.AlbumDetails, currentAlbum.AlbumName, currentAlbum);\r
             OnSubViewAdd(albumDetailViewArgs);\r
-            Tizen.Log.Error(AppConstants.LogTag, "OnAlbumSelection Exit <==");\r
+            // this is to clear the selected item\r
+            collectionView.SelectedItem = null;\r
         }\r
 \r
         private void OnDeleteClick(object sender, ClickedEventArgs e)\r
index 4d1e63c5e61e9464aab1be948cf1c4cf8f4c4407..c896a0ecfe9033070d5feb7b31c8310ef45a15a2 100755 (executable)
@@ -28,7 +28,7 @@ namespace MusicPlayer.Views
             Height = height;
             WidthSpecification = Width;
             HeightSpecification = Height;
-
+            Size2D = new Size2D(Width, Height);
             // to show the rounded rect of the bg
             BackgroundColor = Color.Transparent;
 
@@ -42,8 +42,7 @@ namespace MusicPlayer.Views
         {
             ImageView icon = new ImageView()
             {
-                WidthSpecification = IconSize,
-                HeightSpecification = IconSize,
+                Size2D = new Size2D(IconSize, IconSize),
                 IsCreateByXaml = true,
                 Position2D = new Position2D(x, (Height / 2) - (IconSize / 2)),
             };
@@ -55,8 +54,7 @@ namespace MusicPlayer.Views
         {
             View itemSeperator = new View()
             {
-                WidthSpecification = (Width - (2 * LeftPadding)),
-                HeightSpecification = SeperatorHeight,
+                Size2D = new Size2D((Width - (2 * LeftPadding)), SeperatorHeight),
                 ExcludeLayouting = true,
                 Position2D = new Position2D(x, Height - SeperatorHeight),
                 BackgroundColor = UIColors.ItemSeperator,
@@ -69,8 +67,7 @@ namespace MusicPlayer.Views
         {
             TextLabel titleLabel = new TextLabel()
             {
-                WidthSpecification = (Width - (2 * LeftPadding) - IconSize - LayoutPadding),
-                HeightSpecification = 40,
+                Size2D = new Size2D((Width - (2 * LeftPadding) - IconSize - LayoutPadding), 40),
                 TextColor = UIColors.HEX001447,
                 PixelSize = 32,
                 FontFamily = "BreezeSans",
index a63eeb1337ae0a609192c0f1bbe90c1f4ab07ffb..0eb0c509a68f436fd4256fac9fcb8e007a8961c2 100755 (executable)
@@ -27,7 +27,7 @@ namespace MusicPlayer.Views
             Height = height;
             WidthSpecification = Width;
             HeightSpecification = Height;
-
+            Size2D = new Size2D(Width, Height);
             // to show the rounded rect of the bg
             BackgroundColor = Color.Transparent;
 
@@ -41,8 +41,7 @@ namespace MusicPlayer.Views
         {
             View itemSeperator = new View()
             {
-                WidthSpecification = (Width - (2 * LeftPadding)),
-                HeightSpecification = SeperatorHeight,
+                Size2D = new Size2D((Width - (2 * LeftPadding)), SeperatorHeight),
                 ExcludeLayouting = true,
                 Position2D = new Position2D(x, Height - SeperatorHeight),
                 BackgroundColor = UIColors.ItemSeperator,
@@ -53,10 +52,11 @@ namespace MusicPlayer.Views
 
         private TextLabel CreateTitleLabel()
         {
-            TextLabel titleLabel = new TextLabel("ItemLabel")
+            TextLabel titleLabel = new TextLabel()
             {
-                WidthSpecification = 1272,
-                HeightSpecification = 40,
+                StyleName = "ItemLabel",
+                ThemeChangeSensitive = true,
+                Size2D = new Size2D(1272, 40),
                 PixelSize = 32,
                 FontFamily = "BreezeSans",
                 HorizontalAlignment = HorizontalAlignment.Begin,
@@ -70,10 +70,11 @@ namespace MusicPlayer.Views
 
         private TextLabel CreateExtraLabel()
         {
-            TextLabel extraLabel = new TextLabel("ItemLabel")
+            TextLabel extraLabel = new TextLabel()
             {
-                WidthSpecification = 360,
-                HeightSpecification = 36,
+                StyleName = "ItemLabel",
+                ThemeChangeSensitive = true,
+                Size2D = new Size2D(360, 36),
                 PixelSize = 28,
                 FontFamily = "BreezeSans",
                 VerticalAlignment = VerticalAlignment.Center,
index 05a7eb6e88de24bf48b5cfc5df4ad47ab3e465b1..28dab12f16ed371611328a2c31250700c23309b3 100755 (executable)
@@ -57,7 +57,12 @@ namespace MusicPlayer.Views
 
         private void OnTrackSelection(object sender, SelectionChangedEventArgs e)
         {
+            if (collectionView.SelectedItem == null)
+            {
+                return;
+            }
             viewModel.PlayCurrent(collectionView.SelectedItem);
+            collectionView.SelectedItem = null;
         }
 
         private void UpdateCollectionView()
index b6fea73b59c04121321eac9b442bfcb1fd9af4f6..aa4fe3ce078d8c54c4dbb8432d47464707a17a8f 100755 (executable)
@@ -32,8 +32,9 @@ namespace MusicPlayer.Views
             collectionView.SelectionMode = ItemSelectionMode.Single;
             collectionView.SelectionChanged += OnArtistSelection;
 
-            artistCountLabel = new TextLabel("LabelText")
+            artistCountLabel = new TextLabel()
             {
+                StyleName = "LabelText",
                 ThemeChangeSensitive = true,
                 PixelSize = 28,
                 Text = "ARTIST COUNT",
@@ -78,11 +79,15 @@ namespace MusicPlayer.Views
 
         private void OnArtistSelection(object sender, SelectionChangedEventArgs e)
         {
-            Tizen.Log.Error(AppConstants.LogTag, "Artist Selection Started");
+            if(collectionView.SelectedItem == null)
+            {
+                return;
+            }
             Artist currentArtist = (Artist)collectionView.SelectedItem;
             SubContentViewAddEventArgs artistDetailViewArgs = new SubContentViewAddEventArgs(SubContentViewType.ArtistDetails, currentArtist.ArtistName, currentArtist);
             OnSubViewAdd(artistDetailViewArgs);
-            Tizen.Log.Error(AppConstants.LogTag, "Artist Selection Ended");
+            // this is to clear the selected item
+            collectionView.SelectedItem = null;
         }
 
         private void OnDeleteClick(object sender, ClickedEventArgs e)
index 1af60678b789825a528bc9112fb43f106ff16a06..34f78f58f0b9e630a0ae56982e6656dc257fdd27 100755 (executable)
@@ -78,7 +78,9 @@ namespace MusicPlayer.Views
             base.Add(subContentViewContainer);\r
             subContentViewContainer.Hide();\r
             subcontentView = null;\r
+            IsSubViewAdded = false;\r
         }\r
+        public bool IsSubViewAdded { get; private set; }\r
 \r
         public void AddSubContentView(BaseSubContentView baseSubContentView)\r
         {\r
@@ -96,6 +98,7 @@ namespace MusicPlayer.Views
             subContentViewContainer.Add(baseSubContentView);\r
             subcontentView = baseSubContentView;\r
             subcontentView.SubContentOperationViewAdd += OnSubContentOperationViewAdd;\r
+            IsSubViewAdded = true;\r
         }\r
 \r
         public void RemoveSubContentView()\r
@@ -110,6 +113,7 @@ namespace MusicPlayer.Views
             subcontentView.SubContentOperationViewAdd -= OnSubContentOperationViewAdd;\r
             subcontentView.DeleteSubView();\r
             subcontentView = null;\r
+            IsSubViewAdded = false;\r
         }\r
 \r
         public virtual void ShowView()\r
@@ -139,6 +143,15 @@ namespace MusicPlayer.Views
             UpdateContentMoreButtonItems(moreMenu);\r
         }\r
 \r
+        public string GetSubContentTitle()\r
+        {\r
+            if(IsSubViewAdded)\r
+            {\r
+                return subcontentView.GetTitleText();\r
+            }\r
+            return string.Empty;\r
+        }\r
+\r
         protected virtual void UpdateContentMoreButtonItems(Menu moreMenu)\r
         {\r
 \r
index dbbb075a9fb30ff94284eb0e8107c9e4f899ec77..046da7ac496f9b74f252e44647c23b9de0f811a5 100755 (executable)
@@ -22,7 +22,6 @@ namespace MusicPlayer.Views
 
         public BaseSubContentView():base()
         {
-            Tizen.Log.Error(AppConstants.LogTag, "BaseSubContentView Enter ==>");
             WidthResizePolicy = ResizePolicyType.FillToParent;
             HeightResizePolicy = ResizePolicyType.FillToParent;
             StyleName = "AppBackground";
@@ -52,11 +51,11 @@ namespace MusicPlayer.Views
             };
             listContainer.Add(topView);
 
-            countLabel = new TextLabel("LabelText")
+            countLabel = new TextLabel()
             {
+                StyleName = "LabelText",
                 ThemeChangeSensitive = true,
                 PixelSize = 28,
-                Text = "TRACK COUNT",
                 HorizontalAlignment = HorizontalAlignment.Begin,
                 VerticalAlignment = VerticalAlignment.Center,
                 FontFamily = "BreezeSans",
@@ -108,7 +107,15 @@ namespace MusicPlayer.Views
                 SelectionMode = ItemSelectionMode.Single,
             };
             listContainer.Add(collectionView);
-            Tizen.Log.Error(AppConstants.LogTag, "BaseSubContentView Exit <==");
+        }
+
+        public virtual string GetTitleText()
+        {
+            if(countLabel)
+            {
+                return countLabel.Text;
+            }
+            return string.Empty;
         }
 
         public virtual void UpdateSubContentMoreButtonItems(Menu moreMenu)
index e8a6bcf5c8e77ccf0d0f4f287b8433255b6dfedc..a51fa6b5224e169d1fbdfb9de027b021bde11e73 100755 (executable)
@@ -52,8 +52,9 @@ namespace MusicPlayer.Views
             base.Add(topView);\r
             FlexLayout.SetFlexGrow(topView, 0);\r
             FlexLayout.SetFlexShrink(topView, 0);\r
-            titleLabel = new TextLabel("PageLabel")\r
+            titleLabel = new TextLabel()\r
             {\r
+                StyleName = "PageLabel",\r
                 ThemeChangeSensitive = true,\r
                 Text = "Music",\r
                 PixelSize = 40,\r
@@ -158,7 +159,6 @@ namespace MusicPlayer.Views
                         RelativeLayout.SetLeftRelativeOffset(titleLabel, 0.0f);\r
                     }\r
                 }\r
-                Tizen.Log.Error(AppConstants.LogTag, "BackButton Exit <==");\r
             }\r
         }\r
 \r
@@ -235,8 +235,16 @@ namespace MusicPlayer.Views
                 Tizen.Log.Error(AppConstants.LogTag, "ContentView is already added, remove it first");\r
                 return;\r
             }\r
-            BackButton = false;\r
-            Title = "Music";\r
+            if (view.IsSubViewAdded)\r
+            {\r
+                BackButton = true;\r
+                Title = view.GetSubContentTitle();\r
+            }\r
+            else\r
+            {\r
+                BackButton = false;\r
+                Title = "Music";\r
+            }\r
             contentView.Add(view);\r
             baseContentView = view;\r
         }\r
@@ -270,15 +278,18 @@ namespace MusicPlayer.Views
             }\r
             if (type == DisposeTypes.Explicit)\r
             {\r
-                List<View> children = topView?.Children;\r
-                foreach (View child in children)\r
+                if (topView != null)\r
                 {\r
-                    topView.Remove(child);\r
-                    child?.Dispose();\r
+                    List<View> children = topView.Children;\r
+                    foreach (View child in children)\r
+                    {\r
+                        topView.Remove(child);\r
+                        child?.Dispose();\r
+                    }\r
+                    base.Remove(topView);\r
+                    topView.Dispose();\r
+                    topView = null;\r
                 }\r
-                base.Remove(topView);\r
-                topView?.Dispose();\r
-                topView = null;\r
 \r
                 // Do not delete the children of contentview as they are not owned by BaseView\r
                 base.Remove(contentView);\r
@@ -325,16 +336,12 @@ namespace MusicPlayer.Views
 \r
         private void OnMoreButtonClicked(object sender, ClickedEventArgs e)\r
         {\r
-            Menu moreMenu = CreateMenu();\r
             if(baseContentView != null)\r
             {\r
+                Menu moreMenu = CreateMenu();\r
                 baseContentView.UpdateButtonMoreItems(moreMenu);\r
                 moreMenu.Post();\r
             }\r
-            else\r
-            {\r
-                moreMenu.Dismiss();\r
-            }\r
         }\r
     }\r
 }
\ No newline at end of file
index cbe9ecf6013c57393190afedd4ed089eec1a6a42..bafe14a48febbb79c7aded816f75d2a7fd7b7dd9 100755 (executable)
@@ -30,14 +30,13 @@ namespace MusicPlayer.Views
             Height = height;\r
             WidthSpecification = Width;\r
             HeightSpecification = Height;\r
-\r
+            Size2D = new Size2D(Width, Height);\r
             // to show the rounded rect of the bg\r
             BackgroundColor = Color.Transparent;\r
 \r
             icon = new ImageView()\r
             {\r
-                WidthSpecification = IconSize,\r
-                HeightSpecification = IconSize,\r
+                Size2D = new Size2D(IconSize, IconSize),\r
                 IsCreateByXaml = true,\r
                 Position2D = new Position2D(x, ((Height / 2) - (IconSize / 2))),\r
             };\r
@@ -45,19 +44,18 @@ namespace MusicPlayer.Views
 \r
             itemSeperator = new View()\r
             {\r
-                WidthSpecification = (Width - (2 * LeftPadding)),\r
-                HeightSpecification = SeperatorHeight,\r
+                Size2D = new Size2D((Width - (2 * LeftPadding)), SeperatorHeight),\r
                 ExcludeLayouting = true,\r
                 Position2D = new Position2D(x, Height - SeperatorHeight),\r
                 BackgroundColor = UIColors.ItemSeperator,\r
             };\r
             base.Add(itemSeperator);\r
 \r
-            titleLabel = new TextLabel("ItemLabel")\r
+            titleLabel = new TextLabel()\r
             {\r
+                StyleName = "ItemLabel",\r
                 ThemeChangeSensitive = true,\r
-                WidthSpecification = (Width - (2 * LeftPadding) - IconSize - LayoutPadding),\r
-                HeightSpecification = 40,\r
+                Size2D = new Size2D((Width - (2 * LeftPadding) - IconSize - LayoutPadding), 40),\r
                 PixelSize = 32,\r
                 FontFamily = "BreezeSans",\r
                 VerticalAlignment = VerticalAlignment.Center,\r
@@ -66,11 +64,11 @@ namespace MusicPlayer.Views
             titleLabel.FontStyle = UIFontStyles.NormalLight;\r
             base.Add(titleLabel);\r
 \r
-            subtitleLabel = new TextLabel("ItemLabel")\r
+            subtitleLabel = new TextLabel()\r
             {\r
+                StyleName = "ItemLabel",\r
                 ThemeChangeSensitive = true,\r
-                WidthSpecification = (Width - (2 * LeftPadding) - IconSize - LayoutPadding),\r
-                HeightSpecification = 36,\r
+                Size2D = new Size2D((Width - (2 * LeftPadding) - IconSize - LayoutPadding), 36),\r
                 PixelSize = 28,\r
                 FontFamily = "BreezeSans",\r
                 VerticalAlignment = VerticalAlignment.Center,\r
index 6531bab1fc269516f4faced390947a65d863bf04..32a69ecaa51594eeb40e9feb0dfb235f40601cd1 100755 (executable)
@@ -194,8 +194,9 @@ namespace MusicPlayer.Views
 
         private void AddTitleLabel()
         {
-            titleLabel = new TextLabel("LabelText")
+            titleLabel = new TextLabel()
             {
+                StyleName = "LabelText",
                 ThemeChangeSensitive = true,
                 Size2D = new Size2D(ControlViewWidth, TitleLabelHeight),
                 Position2D = new Position2D(0, 0),
@@ -211,8 +212,9 @@ namespace MusicPlayer.Views
 
         private void AddArtistLabel()
         {
-            artistLabel = new TextLabel("LabelText")
+            artistLabel = new TextLabel()
             {
+                StyleName = "LabelText",
                 ThemeChangeSensitive = true,
                 Size2D = new Size2D(ControlViewWidth, ArtistLabelHeight),
                 Position2D = new Position2D(0, 62),
@@ -574,8 +576,9 @@ namespace MusicPlayer.Views
 
         private void AddCurrentTimeLabel(View sliderView)
         {
-            currentTime = new TextLabel("LabelText")
+            currentTime = new TextLabel()
             {
+                StyleName = "LabelText",
                 ThemeChangeSensitive = true,
                 Size2D = new Size2D(400, 32),
                 Position2D = new Position2D(0, 48),
@@ -590,8 +593,9 @@ namespace MusicPlayer.Views
 
         private void AddTotalTimeLabel(View sliderView)
         {
-            totalTime = new TextLabel("LabelText")
+            totalTime = new TextLabel()
             {
+                StyleName = "LabelText",
                 ThemeChangeSensitive = true,
                 Size2D = new Size2D(400, 32),
                 Position2D = new Position2D(1792 - 400, 48),
index 28cc5642934fa551e755b03feb6c783df73da63f..f115925dbf8eafb3ab32d378c9bf41ebea82120e 100755 (executable)
@@ -63,7 +63,12 @@ namespace MusicPlayer.Views
 
         private void OnTrackSelection(object sender, SelectionChangedEventArgs e)
         {
+            if(collectionView.SelectedItem == null)
+            {
+                return;
+            }
             viewModel.PlayCurrent(collectionView.SelectedItem);
+            collectionView.SelectedItem = null;
         }
 
         private void OnDeleteClick(object sender, ClickedEventArgs e)
index c4f4372dc9eac715e466e2b4772a342a6960b008..671b3fecaa2ac9cc1777e73f2e830166e8bd7713 100755 (executable)
@@ -31,8 +31,9 @@ namespace MusicPlayer.Views
             });
             collectionView.SelectionChanged += OnPlaylistSelectionChange;
 
-            playlistCountLabel = new TextLabel("LabelText")
+            playlistCountLabel = new TextLabel()
             {
+                StyleName = "LabelText",
                 ThemeChangeSensitive = true,
                 PixelSize = 28,
                 Text = "Playlist COUNT",
@@ -79,15 +80,22 @@ namespace MusicPlayer.Views
 
         private void OnPlaylistSelectionChange(object sender, SelectionChangedEventArgs e)
         {
+            if(collectionView.SelectedItem == null)
+            {
+                return;
+            }
             PlaylistModel playlistModel = (PlaylistModel)collectionView.SelectedItem;
             SubContentViewAddEventArgs playlistDetailViewArgs = new SubContentViewAddEventArgs(SubContentViewType.PlaylistDetails, playlistModel.PlaylistName, playlistModel.PlaylistId);
             OnSubViewAdd(playlistDetailViewArgs);
+            // this is clear the selected item
+            collectionView.SelectedItem = null;
         }
 
         private void CreatePlaylistPopup()
         {
-            TextLabel titleLabel = new TextLabel("LabelText")
+            TextLabel titleLabel = new TextLabel()
             {
+                StyleName = "LabelText",
                 ThemeChangeSensitive = true,
                 PixelSize = 40,
                 FontFamily = "BreezeSans",
@@ -102,8 +110,9 @@ namespace MusicPlayer.Views
                 BackgroundColor = Color.Transparent,
             };
 
-            TextLabel contentLabel = new TextLabel("LabelText")
+            TextLabel contentLabel = new TextLabel()
             {
+                StyleName = "LabelText",
                 ThemeChangeSensitive = true,
                 PixelSize = 32,
                 FontFamily = "BreezeSans",
index 120bdea30ad245ca2956413d36e8d8dc2e32e7e5..512d8a1a48ce2e68d6af0925c016857d4c433a79 100755 (executable)
@@ -33,8 +33,9 @@ namespace MusicPlayer.Views
             collectionView.SelectionMode = ItemSelectionMode.Single;\r
             collectionView.SelectionChanged += OnTrackSelection;\r
 \r
-            trackCountLabel = new TextLabel("LabelText")\r
+            trackCountLabel = new TextLabel()\r
             {\r
+                StyleName = "LabelText",\r
                 ThemeChangeSensitive = true,\r
                 PixelSize = 28,\r
                 Text = "TRACK COUNT",\r
@@ -136,7 +137,12 @@ namespace MusicPlayer.Views
 \r
         private void OnTrackSelection(object sender, SelectionChangedEventArgs e)\r
         {\r
+            if(collectionView.SelectedItem == null)\r
+            {\r
+                return;\r
+            }\r
             viewModel.OnTrackSelected(collectionView.SelectedItem);\r
+            collectionView.SelectedItem = null;\r
         }\r
 \r
         private void OnDeleteClick(object sender, ClickedEventArgs e)\r
index db4f804ca718a372107a35a8c4513486217f28a4..68af2f89eec6fcbbb9ea33cb1b44c30574f8bad9 100755 (executable)
Binary files a/packaging/org.tizen.MusicPlayer-1.0.0.tpk and b/packaging/org.tizen.MusicPlayer-1.0.0.tpk differ