Fixing image view for scale in style file. 42/273942/3
authoraman.jeph <aman.jeph@samsung.com>
Mon, 18 Apr 2022 12:52:17 +0000 (18:22 +0530)
committeraman.jeph <aman.jeph@samsung.com>
Fri, 22 Apr 2022 10:09:04 +0000 (15:39 +0530)
Refactor PlaylistSelectorView for better scalability.
Fix dispose function for item layout classes.

Change-Id: Id311be6230a8ad7bf8afd80bf4131940e6e73c16
Signed-off-by: aman.jeph <aman.jeph@samsung.com>
17 files changed:
music-player/Views/ListItemLayout.cs
music-player/Views/LyricsView.cs
music-player/Views/MiniPlayer.cs
music-player/Views/PlayerView.cs
music-player/Views/PlayingListView.cs
music-player/Views/PlaylistSelectorView.cs
music-player/Views/PlaylistView.cs
music-player/Views/SelectListLayout.cs
music-player/Views/Utils/ContentViewFactory.cs
music-player/Views/Utils/MultiStateButton.cs
music-player/Views/Utils/OperationViewFactory.cs
music-player/Views/Utils/ViewLibrary.cs
music-player/Views/ViewManager.cs
music-player/music-player.csproj
music-player/res/themes/dark.xaml
music-player/res/themes/light.xaml
packaging/org.tizen.MusicPlayer-1.0.0.tpk

index 22e61a1d9078f7ecb71b0346f345c485abb1b636..24f4f2f78b1ff9c5fdb79faae54b0221c770b6dd 100755 (executable)
@@ -53,12 +53,12 @@ namespace MusicPlayer.Views
         },\r
 defaultValueCreator: (bindable) => ((ListItemLayout)bindable).playingStatus);\r
 \r
-        public ListItemLayout(bool animationRequired = false, int width = 1792, int height = 108) : base()\r
+        public ListItemLayout(bool animationRequired = false) : base()\r
         {\r
             OnInitialize();\r
             AnimationRequired = animationRequired;\r
             WidthSpecification = LayoutParamPolicies.MatchParent;\r
-            HeightSpecification = height.SpToPx();\r
+            HeightSpecification = 108.SpToPx();\r
             BackgroundColor = Color.Transparent;\r
             Layout = new RelativeLayout()\r
             {\r
@@ -169,22 +169,27 @@ defaultValueCreator: (bindable) => ((ListItemLayout)bindable).playingStatus);
             }\r
             if (type == DisposeTypes.Explicit)\r
             {\r
-                base.Remove(itemSeperator);\r
+                Remove(itemSeperator);\r
                 itemSeperator?.Dispose();\r
                 itemSeperator = null;\r
 \r
                 RemoveAnimation();\r
-                base.Remove(icon);\r
+                RemovePlayingStatus();\r
+                Remove(icon);\r
                 icon?.Dispose();\r
                 icon = null;\r
 \r
-                base.Remove(titleLabel);\r
+                textView.Remove(titleLabel);\r
                 titleLabel?.Dispose();\r
                 titleLabel = null;\r
 \r
-                base.Remove(subtitleLabel);\r
+                textView.Remove(subtitleLabel);\r
                 subtitleLabel?.Dispose();\r
                 subtitleLabel = null;\r
+\r
+                Remove(textView);\r
+                textView?.Dispose();\r
+                textView = null;\r
             }\r
 \r
             base.Dispose(type);\r
@@ -278,7 +283,10 @@ defaultValueCreator: (bindable) => ((ListItemLayout)bindable).playingStatus);
             {\r
                 return false;\r
             }\r
-            LottieAnimationView lottieAnimationView = new LottieAnimationView();\r
+            LottieAnimationView lottieAnimationView = new LottieAnimationView()\r
+            {\r
+                Size2D = new Size2D(64, 64).SpToPx(),\r
+            };\r
             if(lottieAnimationView == null)\r
             {\r
                 return false;\r
@@ -291,7 +299,7 @@ defaultValueCreator: (bindable) => ((ListItemLayout)bindable).playingStatus);
         }\r
         private void RemoveAnimation()\r
         {\r
-            if(icon != null)\r
+            if(icon != null && icon.ChildCount > 0)\r
             {\r
                 View child = icon.GetChildAt(0);\r
                 if (child != null && child is LottieAnimationView)\r
@@ -314,14 +322,17 @@ defaultValueCreator: (bindable) => ((ListItemLayout)bindable).playingStatus);
             {\r
                 Icon = new ImageViewStyle()\r
                 {\r
+                    Size = new Size(IconSize, IconSize).SpToPx(),\r
                     ResourceUrl = Resources.GetImagePath() + "play_icon.png",\r
                 },\r
                 IsEnabled = true,\r
                 IsSelectable = true,\r
             };\r
-            playPauseIcon = new Button(buttonStyle);\r
-            playPauseIcon.WidthSpecification = IconSize;\r
-            playPauseIcon.HeightSpecification = IconSize;\r
+            playPauseIcon = new Button(buttonStyle)\r
+            {\r
+                WidthSpecification = IconSize.SpToPx(),\r
+                HeightSpecification = IconSize.SpToPx()\r
+            };\r
             playPauseIcon.Clicked += (object sender, ClickedEventArgs e) =>\r
             {\r
                 PlaybackHelper.Instance.ChangePlayingStatus();\r
@@ -332,7 +343,7 @@ defaultValueCreator: (bindable) => ((ListItemLayout)bindable).playingStatus);
 \r
         private void RemovePlayingStatus()\r
         {\r
-            if (icon != null)\r
+            if (icon != null && icon.ChildCount > 0)\r
             {\r
                 View child = icon.GetChildAt(0);\r
                 if (child != null && child is Button)\r
index 4b9b53c92ce54efe916551e00d47ec4062a31ce0..d9602a2122cc81dd07f071fed80f5564d6d0d842 100755 (executable)
@@ -27,14 +27,14 @@ namespace MusicPlayer.Views
         {
             this.lyricsViewModel = lyricsViewModel;
             BindingContext = lyricsViewModel.lyricsModel;
-            WidthSpecification = LayoutParamPolicies.MatchParent;
-            HeightSpecification = LayoutParamPolicies.MatchParent;
+            WidthSpecification = 784.SpToPx();
+            HeightSpecification = 784.SpToPx();
             Layout = new FlexLayout()
             {
                 Direction = FlexLayout.FlexDirection.Column,
                 Alignment = FlexLayout.AlignmentType.Center,
                 Justification = FlexLayout.FlexJustification.Center,
-                Margin = new Extents(24, 24, 0, 46).SpToPx(),
+                Margin = new Extents(24, 24, 24, 46).SpToPx(),
             };
             isAnimating = false;
             AddThumbnail();
index b6b861d1a6ad87fd8ccdc8456f62427ff4cdee35..3c3344972442e1dbff5f4c5469e4b09f62ace618 100755 (executable)
@@ -213,6 +213,7 @@ namespace MusicPlayer.Views
             playButton = new MultiStateButton()
             {
                 Size2D = new Size2D(48, 48).SpToPx(),
+                IconSize = new Size(48, 48).SpToPx(),
                 BackgroundColor = Color.Transparent,
                 IconResources = new Dictionary<ThemeType, Dictionary<string, StringSelector>>()
                 {
index aed34b02acf7e8d2cc2fc07cd267ab04622bfc01..7a5bfc56d42c0f8b3065d7e1a002e369c94f71b1 100755 (executable)
@@ -18,7 +18,7 @@ namespace MusicPlayer.Views
             AlbumArt,
             TrackList,
         }
-        private const int IconSize = 48;
+        private const int IconButtonSize = 48;
         private const int ControlViewHeightLandscape = 386;
         private const int ControlViewHeightPortrait = 438;
         private const int TitleLabelHeight = 48;
@@ -324,7 +324,7 @@ namespace MusicPlayer.Views
                 ThemeChangeSensitive = true,
                 WidthSpecification = LayoutParamPolicies.MatchParent,
                 HeightSpecification = 48.SpToPx(),
-                PixelSize = 40.SpToPx(),
+                PixelSize = 36.SpToPx(),
                 FontFamily = "BreezeSans",
                 FontStyle = UIFontStyles.AllNormal,
                 Text = "Delete",
@@ -482,7 +482,8 @@ namespace MusicPlayer.Views
         {
             shuffleButton = new MultiStateButton()
             {
-                Size2D = new Size2D(IconSize, IconSize).SpToPx(),
+                Size2D = new Size2D(IconButtonSize, IconButtonSize).SpToPx(),
+                IconSize = new Tizen.NUI.Size(IconButtonSize, IconButtonSize).SpToPx(),
                 Margin = new Extents(0, 40, 0, 0).SpToPx(),
                 IconResources = new Dictionary<ThemeType, Dictionary<string, StringSelector>>()
                 {
@@ -558,7 +559,8 @@ namespace MusicPlayer.Views
         {
             playButton = new MultiStateButton()
             {
-                Size2D = new Size2D(IconSize, IconSize).SpToPx(),
+                Size2D = new Size2D(IconButtonSize, IconButtonSize).SpToPx(),
+                IconSize = new Tizen.NUI.Size(IconButtonSize, IconButtonSize).SpToPx(),
                 BackgroundColor = Color.Transparent,
                 IconResources = new Dictionary<ThemeType, Dictionary<string, StringSelector>>()
                 {
@@ -642,7 +644,8 @@ namespace MusicPlayer.Views
         {
             repeatButton = new MultiStateButton()
             {
-                Size2D = new Size2D(IconSize, IconSize).SpToPx(),
+                Size2D = new Size2D(IconButtonSize, IconButtonSize).SpToPx(),
+                IconSize = new Tizen.NUI.Size(IconButtonSize, IconButtonSize).SpToPx(),
                 Margin = new Extents(40, 0, 0, 0).SpToPx(),
                 IconResources = new Dictionary<ThemeType, Dictionary<string, StringSelector>>()
                 {
@@ -975,7 +978,8 @@ namespace MusicPlayer.Views
 
             favouriteButton = new MultiStateButton()
             {
-                Size2D = new Size2D(IconSize, IconSize).SpToPx(),
+                Size2D = new Size2D(IconButtonSize, IconButtonSize).SpToPx(),
+                IconSize = new Tizen.NUI.Size(IconButtonSize, IconButtonSize).SpToPx(),
                 IconResources = new Dictionary<ThemeType, Dictionary<string, StringSelector>>()
                 {
                     {
index 4e56f5eb334af1a182920a9045e4f071aeda870e..aee643d7f16c72b9bc5a00e1d7b3da1211349206 100755 (executable)
@@ -26,7 +26,7 @@ namespace MusicPlayer.Views
                 ItemsLayouter = new LinearLayouter(),
                 ItemTemplate = new DataTemplate(() =>
                 {
-                    ListItemLayout layout = new ListItemLayout(true, 832, 108);
+                    ListItemLayout layout = new ListItemLayout(true);
                     layout.Icon.SetBinding(ImageView.ResourceUrlProperty, "ThumbnailPath");
                     layout.TitleLabel.SetBinding(TextLabel.TextProperty, "TrackTitle");
                     layout.SubtitleLabel.SetBinding(TextLabel.TextProperty, "ArtistName");
index 42217816c95f600c5f3ecadad121f2bc982065b1..d0d0bda5408a75c5479a637b6a16b64b8ce3533c 100755 (executable)
@@ -1,14 +1,11 @@
 using System;
 using System.Collections.Generic;
-using Tizen.Content.MediaContent;
 using MusicPlayer.ViewModels;
 using Tizen.NUI.Components;
 using Tizen.NUI.BaseComponents;
 using Tizen.NUI;
 using Tizen.NUI.Binding;
 using MusicPlayer.Common;
-using MusicPlayer.Models;
-using MusicPlayer.Core;
 
 namespace MusicPlayer.Views
 {
@@ -31,7 +28,9 @@ namespace MusicPlayer.Views
         private TextLabel noListText;
         private TextLabel underText;
         private CollectionView collectionView;
+        private View selectPlaylistActionArea;
         private Button selectPlaylistCancelButton;
+        private View createPlaylistButtonArea;
         private Button createPlaylistCancelButton;
         private Button createPlaylistCreateButton;
         private AlertDialog selectPlaylistDialog;
@@ -45,23 +44,47 @@ namespace MusicPlayer.Views
         public PlaylistSelectorView(PlaylistSelectorViewModel viewModel)
         {
             this.viewModel = viewModel;
+            bool needShrinkedSize = viewModel.ListViewModel.Count <= 1;
             AddSelectPlaylistContentArea();
             AddSelectPlaylistCancelButton();
             selectPlaylistDialog = new AlertDialog()
             {
-                Size2D = new Size2D((DeviceInfo.IsPortrait ? 1016 : 1184), 660).SpToPx(),
-                Title = "Add to playlist",
+                WidthSpecification = (DeviceInfo.IsPortrait ? 1016 : 1184).SpToPx(),
+                HeightSpecification = (needShrinkedSize ? 544 : 652).SpToPx(),
+                Layout = new LinearLayout()
+                {
+                    Padding = new Extents(80, 80, 40, 40).SpToPx(),
+                    Margin = new Extents(32, 32, 0, 0).SpToPx(),
+                    LinearOrientation = LinearLayout.Orientation.Vertical,
+                    HorizontalAlignment = HorizontalAlignment.Begin,
+                    VerticalAlignment = VerticalAlignment.Top,
+                },
+                TitleContent = CreateAlertDialogTitle("Add to playlist"),
                 Content = selectPlaylistContentArea,
-                Actions = new List<View> { selectPlaylistCancelButton },
-                Padding = new Extents(0, 0, 0, 0).SpToPx(),
-                Margin = new Extents(32, 32, 0, 0).SpToPx(),
+                ActionContent = selectPlaylistActionArea,
             };
-            TextLabel textLabel = (TextLabel)selectPlaylistDialog.TitleContent;
-            textLabel.FontStyle = UIFontStyles.AllNormal;
             Window.Instance.Add(selectPlaylistDialog);
             selectPlaylistDialog.BackKeyPressed += OnBackKeyPressed;
         }
 
+        private TextLabel CreateAlertDialogTitle(string titleText)
+        {
+            TextLabel titleLabel = new TextLabel()
+            {
+                Name = "AlertDialogTitle",
+                StyleName = "LabelText",
+                ThemeChangeSensitive = true,
+                PixelSize = 40.SpToPx(),
+                FontFamily = "BreezeSans",
+                FontStyle = UIFontStyles.AllNormal,
+                Text = titleText,
+                WidthSpecification = LayoutParamPolicies.MatchParent,
+                HorizontalAlignment = HorizontalAlignment.Center,
+                VerticalAlignment = VerticalAlignment.Center,
+            };
+            return titleLabel;
+        }
+
         private void OnBackKeyPressed(object sender, EventArgs e)
         {
             OnBackKey();
@@ -72,13 +95,14 @@ namespace MusicPlayer.Views
             selectPlaylistContentArea = new View()
             {
                 WidthSpecification = LayoutParamPolicies.MatchParent,
-                HeightSpecification = 340.SpToPx(),
+                HeightSpecification = (viewModel.ListViewModel.Count <= 1 ? 216 : 324).SpToPx(),
                 BackgroundColor = Color.Transparent,
                 Layout = new FlexLayout()
                 {
                     Direction = FlexLayout.FlexDirection.Column,
                     ItemsAlignment = FlexLayout.AlignmentType.FlexStart,
                     Justification = FlexLayout.FlexJustification.FlexStart,
+                    Margin = new Extents(0, 0, 40, 0).SpToPx(),
                 },
             };
             AddCreatePlayListButton();
@@ -97,10 +121,10 @@ namespace MusicPlayer.Views
                 WidthSpecification = LayoutParamPolicies.MatchParent,
                 HeightSpecification = 108.SpToPx(),
                 TextAlignment = HorizontalAlignment.Begin,
-                Padding = (DeviceInfo.IsPortrait ? new Extents(80, 80, 0, 0) : new Extents(64, 64, 0, 0)).SpToPx(),
                 IsEnabled = true,
                 IsSelectable = false,
-                ItemAlignment = LinearLayout.Alignment.CenterVertical,
+                ItemHorizontalAlignment = HorizontalAlignment.Begin,
+                ItemVerticalAlignment = VerticalAlignment.Center,
             };
             createNewPlaylistButton.TextAlignment = HorizontalAlignment.Begin;
             createNewPlaylistButton.BindingContext = viewModel;
@@ -111,7 +135,6 @@ namespace MusicPlayer.Views
                 WidthSpecification = LayoutParamPolicies.MatchParent,
                 HeightSpecification = 2.SpToPx(),
                 BackgroundColor = UIColors.ItemSeperator,
-                Margin = (DeviceInfo.IsPortrait ? new Extents(80, 80, 0, 0) : new Extents(64, 64, 0, 0)).SpToPx(),
             };
             selectPlaylistContentArea.Add(itemSeperator);
             createNewPlaylistButton.Clicked += CreateNewPlaylistButtonClicked;
@@ -124,15 +147,20 @@ namespace MusicPlayer.Views
             AddCreatePlaylistButtons();
             createPlaylistDialog = new AlertDialog()
             {
-                Size2D = new Size2D((DeviceInfo.IsPortrait ? 1016 : 1184), 465).SpToPx(),
-                Title = "Create playlist",
+                WidthSpecification = (DeviceInfo.IsPortrait ? 1016 : 1184).SpToPx(),
+                HeightSpecification = 465.SpToPx(),
+                Layout = new LinearLayout()
+                {
+                    Padding = new Extents(80, 80, 40, 40).SpToPx(),
+                    Margin = new Extents(32, 32, 0, 0).SpToPx(),
+                    LinearOrientation = LinearLayout.Orientation.Vertical,
+                    HorizontalAlignment = HorizontalAlignment.Begin,
+                    VerticalAlignment = VerticalAlignment.Top,
+                },
+                TitleContent = CreateAlertDialogTitle("Create playlist"),
                 Content = createPlaylistContentArea,
-                Actions = new List<View> { createPlaylistCancelButton, createPlaylistCreateButton },
-                Padding = new Extents(0, 0, 0, 0).SpToPx(),
-                Margin = new Extents(32, 32, 0, 0).SpToPx(),
+                ActionContent = createPlaylistButtonArea,
             };
-            TextLabel textLabel = (TextLabel)selectPlaylistDialog.TitleContent;
-            textLabel.FontStyle = UIFontStyles.AllNormal;
             Window.Instance.Add(createPlaylistDialog);
             createPlaylistDialog.BackKeyPressed += OnPlaylistCreateDialogBackKey;
         }
@@ -148,10 +176,10 @@ namespace MusicPlayer.Views
             {
                 ThemeChangeSensitive = true,
                 StyleName = "ListBackground",
-                Size2D = new Size2D((DeviceInfo.IsPortrait ? 1016 : 1184), 108).SpToPx(),
+                WidthSpecification = LayoutParamPolicies.MatchParent,
+                HeightSpecification = 108.SpToPx(),
                 ItemsLayouter = new LinearLayouter(),
                 ScrollingDirection = ScrollableBase.Direction.Vertical,
-                HeightSpecification = LayoutParamPolicies.WrapContent,
                 SelectionMode = ItemSelectionMode.Single,
             };
             collectionView.ScrollDragStarted += (object o, ScrollEventArgs e) =>
@@ -231,17 +259,30 @@ namespace MusicPlayer.Views
                 VerticalAlignment = VerticalAlignment.Center,
                 FontFamily = "BreezeSans",
                 FontStyle = UIFontStyles.NormalLight,
-                Padding = (DeviceInfo.IsPortrait ? new Extents(80, 80, 0, 0) : new Extents(64, 64, 0, 0)).SpToPx(),
             };
             selectPlaylistContentArea.Add(noListText);
         }
         private void AddSelectPlaylistCancelButton()
         {
+            selectPlaylistActionArea = new View()
+            {
+                BackgroundColor = Color.Transparent,
+                HeightSpecification = 96.SpToPx(),
+                WidthSpecification = LayoutParamPolicies.MatchParent,
+                Layout = new LinearLayout()
+                {
+                    Margin = new Extents(0, 0, 64, 0).SpToPx(),
+                    HorizontalAlignment = HorizontalAlignment.Center,
+                    VerticalAlignment = VerticalAlignment.Center
+                }
+            };
+
             selectPlaylistCancelButton = new Button()
             {
                 Size2D = new Size2D(336, 96).SpToPx(),
                 Text = "Cancel",
             };
+            selectPlaylistActionArea.Add(selectPlaylistCancelButton);
             selectPlaylistCancelButton.TextLabel.FontStyle = UIFontStyles.AllNormal;
             selectPlaylistCancelButton.IsSelectable = true;
             selectPlaylistCancelButton.Clicked += SelectPlaylistCancelButtonClicked;
@@ -264,14 +305,14 @@ namespace MusicPlayer.Views
             createPlaylistContentArea = new View()
             {
                 WidthSpecification = LayoutParamPolicies.MatchParent,
-                HeightSpecification = 169.SpToPx(),
+                HeightSpecification = 146.SpToPx(),
                 BackgroundColor = Color.Transparent,
                 Layout = new FlexLayout()
                 {
                     Direction = FlexLayout.FlexDirection.Column,
                     ItemsAlignment = FlexLayout.AlignmentType.FlexStart,
                     Justification = FlexLayout.FlexJustification.FlexStart,
-                    Padding = (DeviceInfo.IsPortrait ? new Extents(80, 80, 0, 0) : new Extents(64, 64, 0, 0)).SpToPx(),
+                    Margin = new Extents(0, 0, 40, 0).SpToPx(),
                 },
             };
             TextLabel textLabel = new TextLabel()
@@ -294,7 +335,7 @@ namespace MusicPlayer.Views
             {
                 BackgroundColor = UIColors.ItemSeperator,
                 WidthSpecification = LayoutParamPolicies.MatchParent,
-                HeightSpecification = 1.SpToPx(),
+                HeightSpecification = 2.SpToPx(),
             };
             createPlaylistContentArea.Add(itemSeperator);
             underText = new TextLabel()
@@ -317,7 +358,8 @@ namespace MusicPlayer.Views
         {
             inputArea = new View()
             {
-                Size2D = new Size2D((DeviceInfo.IsPortrait ? 856 : 1024), 48).SpToPx(),
+                WidthSpecification = LayoutParamPolicies.MatchParent,
+                HeightSpecification = 48.SpToPx(),
                 Layout = new FlexLayout()
                 {
                     Direction = FlexLayout.FlexDirection.Row,
@@ -381,6 +423,17 @@ namespace MusicPlayer.Views
 
         private void AddCreatePlaylistButtons()
         {
+            createPlaylistButtonArea = new View()
+            {
+                BackgroundColor = Color.Transparent,
+                HeightSpecification = 96.SpToPx(),
+                WidthSpecification = LayoutParamPolicies.MatchParent,
+                Layout = new RelativeLayout()
+                {
+                    Margin = new Extents(0, 0, 54, 0).SpToPx(),
+                }
+            };
+
             createPlaylistCancelButton = new Button("CancelButton")
             {
                 ThemeChangeSensitive = true,
@@ -388,6 +441,10 @@ namespace MusicPlayer.Views
             createPlaylistCancelButton.TextLabel.FontStyle = UIFontStyles.AllNormal;
             createPlaylistCancelButton.IsSelectable = true;
             createPlaylistCancelButton.Clicked += CreatePlaylistCancelButtonClicked;
+            createPlaylistButtonArea.Add(createPlaylistCancelButton);
+            RelativeLayout.SetLeftRelativeOffset(createPlaylistCancelButton, 0.0f);
+            RelativeLayout.SetHorizontalAlignment(createPlaylistCancelButton, RelativeLayout.Alignment.Start);
+            RelativeLayout.SetVerticalAlignment(createPlaylistCancelButton, RelativeLayout.Alignment.Start);
 
             createPlaylistCreateButton = new Button()
             {
@@ -397,6 +454,10 @@ namespace MusicPlayer.Views
             createPlaylistCreateButton.TextLabel.FontStyle = UIFontStyles.AllNormal;
             createPlaylistCreateButton.IsSelectable = true;
             createPlaylistCreateButton.Clicked += CreatePlaylistCreateButtonClicked;
+            createPlaylistButtonArea.Add(createPlaylistCreateButton);
+            RelativeLayout.SetRightRelativeOffset(createPlaylistCreateButton, 1.0f);
+            RelativeLayout.SetHorizontalAlignment(createPlaylistCreateButton, RelativeLayout.Alignment.End);
+            RelativeLayout.SetVerticalAlignment(createPlaylistCreateButton, RelativeLayout.Alignment.Start);
         }
 
         private void OnCreateDialogBackKeyPressed()
@@ -457,13 +518,15 @@ namespace MusicPlayer.Views
             }
             inputArea = null;
             underText = null;
-            createPlaylistDialog.Dispose();
-            createPlaylistDialog = null;
-            createPlaylistContentArea = null;
+            createPlaylistButtonArea.Remove(createPlaylistCancelButton);
             createPlaylistCancelButton?.Dispose();
             createPlaylistCancelButton = null;
+            createPlaylistButtonArea.Remove(createPlaylistCreateButton);
             createPlaylistCreateButton?.Dispose();
             createPlaylistCreateButton = null;
+            createPlaylistDialog.Dispose();
+            createPlaylistDialog = null;
+            createPlaylistContentArea = null;
         }
 
         protected override void Dispose(DisposeTypes type)
@@ -495,12 +558,13 @@ namespace MusicPlayer.Views
                 collectionView = null;
                 noListText = null;
 
+                selectPlaylistActionArea.Remove(selectPlaylistCancelButton);
+                selectPlaylistCancelButton?.Dispose();
+                selectPlaylistCancelButton = null;
+
                 selectPlaylistDialog?.Dispose();
                 selectPlaylistDialog = null;
                 selectPlaylistContentArea = null;
-
-                selectPlaylistCancelButton?.Dispose();
-                selectPlaylistCancelButton = null;
             }
 
             base.Dispose(type);
index 920afb3ad534ae9d27b9a2caf6c72e7b6eb7fcf1..7a8aee8d9ee542dc5ec0c0926d044a64fc3b888b 100755 (executable)
@@ -59,7 +59,7 @@ namespace MusicPlayer.Views
                 Margin = new Extents(40, 0, 0, 0).SpToPx(),
             };
             playlistCreateButton.BindingContext = viewModel;
-            playlistCreateButton.SetBinding(Button.IsEnabledProperty, "CanCreatePlaylist");
+            playlistCreateButton.SetBinding(IsEnabledProperty, "CanCreatePlaylist");
             titleView.Add(playlistCreateButton);
             RelativeLayout.SetLeftRelativeOffset(playlistCreateButton, 1.0f);
             RelativeLayout.SetRightRelativeOffset(playlistCreateButton, 1.0f);
@@ -338,9 +338,7 @@ namespace MusicPlayer.Views
             {
                 ThemeChangeSensitive = true,
                 StyleName = "Dialogs",
-                //FixMe : Here WidthSpecification in portrait mode should be 1016 but that cause the
-                // AlertDialog to fill Full width of window but keeping width 952 is showing correclty
-                WidthSpecification = (DeviceInfo.IsPortrait ? 952 : 1184).SpToPx(),
+                WidthSpecification = (DeviceInfo.IsPortrait ? 1016 : 1184).SpToPx(),
                 HeightSpecification = 466.SpToPx(),
                 Layout = new LinearLayout()
                 {
index e034f28cdd2d24e66c17082e2f1107fa3f881032..ae72565af4a5de78a6632c03af366dfbf008d237 100755 (executable)
@@ -132,25 +132,29 @@ namespace MusicPlayer.Views
             }
             if (type == DisposeTypes.Explicit)
             {
-                base.Remove(itemSeperator);
+                Remove(itemSeperator);
                 itemSeperator?.Dispose();
                 itemSeperator = null;
 
-                base.Remove(checkBox);
+                Remove(checkBox);
                 checkBox?.Dispose();
                 checkBox = null;
 
-                base.Remove(icon);
+                Remove(icon);
                 icon?.Dispose();
                 icon = null;
 
-                base.Remove(titleLabel);
+                textView.Remove(titleLabel);
                 titleLabel?.Dispose();
                 titleLabel = null;
 
-                base.Remove(subtitleLabel);
+                textView.Remove(subtitleLabel);
                 subtitleLabel?.Dispose();
                 subtitleLabel = null;
+
+                Remove(textView);
+                textView?.Dispose();
+                textView = null;
             }
 
             base.Dispose(type);
index d7a09f8636341b0961af4fa7df93635a35a31cd0..437b22f9687fd84c05d68985bf4b217ba906f686 100755 (executable)
@@ -10,6 +10,7 @@ namespace MusicPlayer.Views.Utils
         Track = 1,
         Album = 2,
         Artist = 3,
+        Search = 4,
     };
 
     abstract class ContentViewFactory
index e605dc00ed6e1b23436f063d541c837bc53c008c..8f889e5a5f7748f6460fa4ae4d1aab602bda574a 100644 (file)
@@ -8,7 +8,7 @@ namespace MusicPlayer.Views.Utils
 {
     class MultiStateButton: Button
     {
-        public static readonly BindableProperty CustomStateProperty = BindableProperty.Create(nameof(CusotmState), typeof(string), typeof(MultiStateButton), null, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty CustomStateProperty = BindableProperty.Create(nameof(CustomState), typeof(string), typeof(MultiStateButton), null, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var instance = (MultiStateButton)bindable;
             if (newValue != null)
@@ -17,11 +17,7 @@ namespace MusicPlayer.Views.Utils
                 instance.UpdateCustomState(newCustomState);
             }
         },
-        defaultValueCreator: (bindable) =>
-        {
-            var instance = (MultiStateButton)bindable;
-            return instance.customState;
-        });
+        defaultValueCreator: (bindable) => ((MultiStateButton)bindable).customState);
 
         public MultiStateButton() : base()
         {
@@ -39,7 +35,7 @@ namespace MusicPlayer.Views.Utils
         }
 
         private string customState;
-        public string CusotmState
+        public string CustomState
         {
             get => (string)GetValue(CustomStateProperty);
             set => SetValue(CustomStateProperty, value);
@@ -86,7 +82,7 @@ namespace MusicPlayer.Views.Utils
         protected override void OnThemeChanged(object sender, ThemeChangedEventArgs e)
         {
             base.OnThemeChanged(sender, e);
-            UpdateCustomState(CusotmState);
+            UpdateCustomState(CustomState);
         }
     }
 }
index 61beb10dc97cc4f2ff72b315641f09844fce531c..f5f5a8ab2b8bd24cc11d9c22649ad73ac6e4a567 100755 (executable)
@@ -110,7 +110,7 @@ namespace MusicPlayer.Views.Utils
             return addToPlaylistView;
         }
 
-        public SearchView CreateSearchView()
+        private View CreateSearchView()
         {
             SearchViewModel viewModel = new SearchViewModel();
             SearchView searchView = new SearchView(viewModel);
index 14392db0b057740ec5b4cb779a2e3c8d4b2cf170..6c73d815d95fd7028bacb1ae0198701f75598ca3 100755 (executable)
@@ -1,15 +1,16 @@
 using System;
 using System.Collections.Generic;
 using MusicPlayer.Common;
+using Tizen.NUI.BaseComponents;
 
 namespace MusicPlayer.Views.Utils
 {
     class ViewLibrary
     {
         private readonly IDictionary<int, BaseContentView> contentViewDictionary;
-        private readonly ConcreteContentViewFactory contentViewFactory;
-        private readonly ConcreteSubContentViewFactory subContentViewFactory;
-        private readonly ConcreteOperationViewFactory operationViewFactory;
+        private readonly ContentViewFactory contentViewFactory;
+        private readonly SubContentViewFactory subContentViewFactory;
+        private readonly OperationViewFactory operationViewFactory;
 
         public ViewLibrary()
         {
@@ -39,15 +40,9 @@ namespace MusicPlayer.Views.Utils
             return view;
         }
 
-        public void AddOperationView(OperationViewType type, ContentViewType contentType, object viewModelData, object otherData)
+        public View AddOperationView(OperationViewType type, ContentViewType contentType, object viewModelData, object otherData)
         {
-            operationViewFactory.AddOperationView(type, contentType, viewModelData, otherData);
+           return operationViewFactory.AddOperationView(type, contentType, viewModelData, otherData);
         }
-
-        public SearchView CreateSearchView()
-        {
-            return operationViewFactory.CreateSearchView();
-        }
-
     }
 }
index 0508d5523ceddf8eb640698f959f07933d7cc714..f38f9fddda655db5e9aeeda0b409dec3bbff68ed 100755 (executable)
@@ -134,7 +134,7 @@ namespace MusicPlayer.Views
 
         private void OnSearchIconClicked(object sender, ClickedEventArgs e)
         {
-            SearchView searchView = viewLibrary.CreateSearchView();
+            SearchView searchView = (SearchView)viewLibrary.AddOperationView(OperationViewType.Search, ContentViewType.Search, null, null);
             if (searchView != null)
             {
                 searchView.LaunchDetailView += OnSubViewAdded;
index 753a08108307b7649ed68d5a30611c16277545ca..e2eacec9179a8e0457b09ad43474b86a2f2591b9 100755 (executable)
@@ -19,9 +19,7 @@
   </ItemGroup>\r
 \r
   <ItemGroup>\r
-    <PackageReference Include="Tizen.NET" Version="10.0.0.17062">\r
-      <ExcludeAssets>Runtime</ExcludeAssets>\r
-    </PackageReference>\r
+    <PackageReference Include="Tizen.NET" Version="10.0.0.17064" />\r
     <PackageReference Include="Tizen.NET.Sdk" Version="1.1.7" />\r
   </ItemGroup>\r
 \r
index 0b0febc02d8c671d24b5fb32ce005a454d05734b..8c061890403226f51a81074f09cfce0aef7b8d95 100755 (executable)
@@ -23,7 +23,7 @@ Id="DarkTheme">
 
   <c:ButtonStyle x:Key="PrevButton" Size="48sp, 48sp" IsSelectable="false" IsEnabled="true" BackgroundColor="Transparent">
     <c:ButtonStyle.Icon>
-      <ImageViewStyle>
+      <ImageViewStyle Size="48sp, 48sp">
         <ImageViewStyle.ResourceUrl>
           <Selector x:TypeArguments="x:String" Normal="*Resource*/images/dark/prev.png" Pressed="*Resource*/images/prev_pressed.png" Disabled="*Resource*/images/prev_disabled.png" />
         </ImageViewStyle.ResourceUrl>
@@ -33,7 +33,7 @@ Id="DarkTheme">
 
   <c:ButtonStyle x:Key="NextButton" Size="48sp, 48sp" IsSelectable="false" IsEnabled="true" BackgroundColor="Transparent">
     <c:ButtonStyle.Icon>
-      <ImageViewStyle>
+      <ImageViewStyle Size="48sp, 48sp">
         <ImageViewStyle.ResourceUrl>
           <Selector x:TypeArguments="x:String" Normal="*Resource*/images/dark/next.png" Pressed="*Resource*/images/next_pressed.png" Disabled="*Resource*/images/next_disabled.png" />
         </ImageViewStyle.ResourceUrl>
@@ -43,7 +43,7 @@ Id="DarkTheme">
 
   <c:ButtonStyle x:Key="ShuffleButton" Size="48sp, 48sp" Position="0sp, 196sp" IsSelectable="false" IsEnabled="true" BackgroundColor="Transparent">
     <c:ButtonStyle.Icon>
-      <ImageViewStyle>
+      <ImageViewStyle Size="48sp, 48sp">
         <ImageViewStyle.ResourceUrl>
           <Selector x:TypeArguments="x:String" Normal="*Resource*/images/dark/shuffle_on.png" Pressed="*Resource*/images/shuffle_on_pressed.png" Disabled="*Resource*/images/shuffle_on_disabled.png" />
         </ImageViewStyle.ResourceUrl>
@@ -53,7 +53,7 @@ Id="DarkTheme">
 
   <c:ButtonStyle x:Key="RepeatButton" Size="48sp, 48sp" Position="592sp, 196sp" IsSelectable="false" IsEnabled="true" BackgroundColor="Transparent">
     <c:ButtonStyle.Icon>
-      <ImageViewStyle>
+      <ImageViewStyle Size="48sp, 48sp">
         <ImageViewStyle.ResourceUrl>
           <Selector x:TypeArguments="x:String" Normal="*Resource*/images/next.png" Pressed="*Resource*/images/next_pressed.png" Disabled="*Resource*/images/next_disabled.png" />
         </ImageViewStyle.ResourceUrl>
@@ -63,7 +63,7 @@ Id="DarkTheme">
 
   <c:ButtonStyle x:Key="ListButton" Size="48sp, 48sp" Position="0sp, 0sp" IsSelectable="false" IsEnabled="true" BackgroundColor="Transparent">
     <c:ButtonStyle.Icon>
-      <ImageViewStyle>
+      <ImageViewStyle Size="48sp, 48sp">
         <ImageViewStyle.ResourceUrl>
           <Selector x:TypeArguments="x:String" Normal="*Resource*/images/dark/playing_queue.png" Pressed="*Resource*/images/playing_queue_pressed.png" Disabled="*Resource*/images/playing_queue_disabled.png" />
         </ImageViewStyle.ResourceUrl>
@@ -73,7 +73,7 @@ Id="DarkTheme">
 
   <c:ButtonStyle x:Key="PlaylistButton" Size="48sp, 48sp" Position="88sp, 0sp" IsSelectable="false" IsEnabled="true" BackgroundColor="Transparent">
     <c:ButtonStyle.Icon>
-      <ImageViewStyle>
+      <ImageViewStyle Size="48sp, 48sp">
         <ImageViewStyle.ResourceUrl>
           <Selector x:TypeArguments="x:String" Normal="*Resource*/images/dark/addtoplaylist.png" Pressed="*Resource*/images/addtoplaylist_pressed.png" Disabled="*Resource*/images/addtoplaylist_disabled.png" />
         </ImageViewStyle.ResourceUrl>
@@ -83,7 +83,7 @@ Id="DarkTheme">
 
   <c:ButtonStyle x:Key="FavouriteButton" Size="48sp, 48sp" Position="176sp, 0sp" IsSelectable="false" IsEnabled="true" BackgroundColor="Transparent">
     <c:ButtonStyle.Icon>
-      <ImageViewStyle>
+      <ImageViewStyle Size="48sp, 48sp">
         <ImageViewStyle.ResourceUrl>
           <Selector x:TypeArguments="x:String" Normal="*Resource*/images/next.png" Pressed="*Resource*/images/next_pressed.png" Disabled="*Resource*/images/next_disabled.png" />
         </ImageViewStyle.ResourceUrl>
@@ -93,7 +93,7 @@ Id="DarkTheme">
 
   <c:ButtonStyle x:Key="PlayAll" Size="48sp, 48sp" IsSelectable="false" IsEnabled="true" BackgroundColor="Transparent">
     <c:ButtonStyle.Icon>
-      <ImageViewStyle>
+      <ImageViewStyle Size="48sp, 48sp">
         <ImageViewStyle.ResourceUrl>
           <Selector x:TypeArguments="x:String" Normal="*Resource*/images/dark/playall.png" Pressed="*Resource*/images/playall_pressed.png" Disabled="*Resource*/images/playall_disabled.png" />
         </ImageViewStyle.ResourceUrl>
@@ -103,7 +103,7 @@ Id="DarkTheme">
 
   <c:ButtonStyle x:Key="PlaylistAdd" Size="48sp, 48sp" IsSelectable="false" IsEnabled="true" BackgroundColor="Transparent">
     <c:ButtonStyle.Icon>
-      <ImageViewStyle>
+      <ImageViewStyle Size="48sp, 48sp">
         <ImageViewStyle.ResourceUrl>
           <Selector x:TypeArguments="x:String" Normal="*Resource*/images/dark/addtoplaylist.png" Pressed="*Resource*/images/addtoplaylist_pressed.png" Disabled="*Resource*/images/addtoplaylist_disabled.png" />
         </ImageViewStyle.ResourceUrl>
@@ -133,7 +133,7 @@ Id="DarkTheme">
 
   <c:ButtonStyle x:Key="BackButton" Size="48sp, 48sp" IsSelectable="false" IsEnabled="true" BackgroundColor="Transparent">
     <c:ButtonStyle.Icon>
-      <ImageViewStyle>
+      <ImageViewStyle Size="48sp, 48sp">
         <ImageViewStyle.ResourceUrl>
           <Selector x:TypeArguments="x:String" Normal="*Resource*/images/dark/back.png" Pressed="*Resource*/images/back_pressed.png" />
         </ImageViewStyle.ResourceUrl>
@@ -143,7 +143,7 @@ Id="DarkTheme">
 
   <c:ButtonStyle x:Key="MoreButton" Size="48sp, 48sp" IsSelectable="false" IsEnabled="true" BackgroundColor="Transparent">
     <c:ButtonStyle.Icon>
-      <ImageViewStyle>
+      <ImageViewStyle Size="48sp, 48sp">
         <ImageViewStyle.ResourceUrl>
           <Selector x:TypeArguments="x:String" Normal="*Resource*/images/dark/more.png" Pressed="*Resource*/images/more_pressed.png" />
         </ImageViewStyle.ResourceUrl>
@@ -153,7 +153,7 @@ Id="DarkTheme">
 
   <c:ButtonStyle x:Key="SearchIcon" Size="40sp, 40sp" IsSelectable="false" IsEnabled="true" BackgroundColor="Transparent">
     <c:ButtonStyle.Icon>
-      <ImageViewStyle>
+      <ImageViewStyle Size="40sp, 40sp">
         <ImageViewStyle.ResourceUrl>*Resource*/images/dark/search_icon.png</ImageViewStyle.ResourceUrl>
       </ImageViewStyle>
     </c:ButtonStyle.Icon>
@@ -198,7 +198,7 @@ Id="DarkTheme">
 
   <c:ButtonStyle x:Key="ClearButton" Size="48sp, 48sp" IsSelectable="false" IsEnabled="true" BackgroundColor="Transparent">
     <c:ButtonStyle.Icon>
-      <ImageViewStyle>
+      <ImageViewStyle Size="48sp, 48sp">
         <ImageViewStyle.ResourceUrl>*Resource*/images/dark/cross_button.png</ImageViewStyle.ResourceUrl>
       </ImageViewStyle>
     </c:ButtonStyle.Icon>
@@ -206,7 +206,7 @@ Id="DarkTheme">
 
   <c:ButtonStyle x:Key="CheckBox" Size="36sp, 36sp" IsSelected="false" IsEnabled="false" BackgroundColor="Transparent">
     <c:ButtonStyle.Icon>
-      <ImageViewStyle>
+      <ImageViewStyle Size="36sp, 36sp">
         <ImageViewStyle.ResourceUrl>
           <Selector x:TypeArguments="x:String" Disabled="*Resource*/images/dark/check_off.png" DisabledSelected="*Resource*/images/dark/check_on.png" />
         </ImageViewStyle.ResourceUrl>
@@ -225,7 +225,7 @@ Id="DarkTheme">
 
   <c:ButtonStyle x:Key="SearchButton" Size="96sp, 60sp" IsSelectable="false" IsEnabled="true" BackgroundImage="*Resource*/images/dark/search_button_bg.png">
     <c:ButtonStyle.Icon>
-      <ImageViewStyle>
+      <ImageViewStyle Size="40sp, 40sp">
         <ImageViewStyle.ResourceUrl>*Resource*/images/dark/search_icon.png</ImageViewStyle.ResourceUrl>
       </ImageViewStyle>
     </c:ButtonStyle.Icon>
index 17dee3745fefd8cb280506c66054e6dcafc99759..410c03ef5ec0f068a8653e838b7338d1c436de79 100755 (executable)
@@ -23,7 +23,7 @@ Id="LightTheme">
 
   <c:ButtonStyle x:Key="PrevButton" Size="48sp, 48sp" BackgroundColor="Transparent" >
     <c:ButtonStyle.Icon>
-      <ImageViewStyle>
+      <ImageViewStyle Size="48sp, 48sp">
         <ImageViewStyle.ResourceUrl>
           <Selector x:TypeArguments="x:String" Normal="*Resource*/images/light/prev.png" Pressed="*Resource*/images/prev_pressed.png" Disabled="*Resource*/images/prev_disabled.png" />
         </ImageViewStyle.ResourceUrl>
@@ -33,7 +33,7 @@ Id="LightTheme">
 
   <c:ButtonStyle x:Key="NextButton" Size="48sp, 48sp" IsSelectable="false" IsEnabled="true" BackgroundColor="Transparent" >
     <c:ButtonStyle.Icon>
-      <ImageViewStyle>
+      <ImageViewStyle Size="48sp, 48sp">
         <ImageViewStyle.ResourceUrl>
           <Selector x:TypeArguments="x:String" Normal="*Resource*/images/light/next.png" Pressed="*Resource*/images/next_pressed.png" Disabled="*Resource*/images/next_disabled.png" />
         </ImageViewStyle.ResourceUrl>
@@ -43,7 +43,7 @@ Id="LightTheme">
 
   <c:ButtonStyle x:Key="ShuffleButton" Size="48sp, 48sp" IsSelectable="false" IsEnabled="true" BackgroundColor="Transparent">
     <c:ButtonStyle.Icon>
-      <ImageViewStyle>
+      <ImageViewStyle Size="48sp, 48sp">
         <ImageViewStyle.ResourceUrl>
           <Selector x:TypeArguments="x:String" Normal="*Resource*/images/light/shuffle_on.png" Pressed="*Resource*/images/shuffle_on_pressed.png" Disabled="*Resource*/images/shuffle_on_disabled.png" />
         </ImageViewStyle.ResourceUrl>
@@ -53,7 +53,7 @@ Id="LightTheme">
 
   <c:ButtonStyle x:Key="RepeatButton" Size="48sp, 48sp" Position="592sp, 196sp" IsSelectable="false" IsEnabled="true" BackgroundColor="Transparent">
     <c:ButtonStyle.Icon>
-      <ImageViewStyle>
+      <ImageViewStyle Size="48sp, 48sp">
         <ImageViewStyle.ResourceUrl>
           <Selector x:TypeArguments="x:String" Normal="*Resource*/images/next.png" Pressed="*Resource*/images/next_pressed.png" Disabled="*Resource*/images/next_disabled.png" />
         </ImageViewStyle.ResourceUrl>
@@ -63,7 +63,7 @@ Id="LightTheme">
 
   <c:ButtonStyle x:Key="ListButton" Size="48sp, 48sp" Position="0sp, 0sp" IsSelectable="false" IsEnabled="true" BackgroundColor="Transparent">
     <c:ButtonStyle.Icon>
-      <ImageViewStyle>
+      <ImageViewStyle Size="48sp, 48sp">
         <ImageViewStyle.ResourceUrl>
           <Selector x:TypeArguments="x:String" Normal="*Resource*/images/light/playing_queue.png" Pressed="*Resource*/images/playing_queue_pressed.png" Disabled="*Resource*/images/playing_queue_disabled.png" />
         </ImageViewStyle.ResourceUrl>
@@ -73,7 +73,7 @@ Id="LightTheme">
 
   <c:ButtonStyle x:Key="PlaylistButton" Size="48sp, 48sp" Position="88sp, 0sp" IsSelectable="false" IsEnabled="true" BackgroundColor="Transparent">
     <c:ButtonStyle.Icon>
-      <ImageViewStyle>
+      <ImageViewStyle Size="48sp, 48sp">
         <ImageViewStyle.ResourceUrl>
           <Selector x:TypeArguments="x:String" Normal="*Resource*/images/light/addtoplaylist.png" Pressed="*Resource*/images/addtoplaylist_pressed.png" Disabled="*Resource*/images/addtoplaylist_disabled.png" />
         </ImageViewStyle.ResourceUrl>
@@ -83,7 +83,7 @@ Id="LightTheme">
 
   <c:ButtonStyle x:Key="FavouriteButton" Size="48sp, 48sp" Position="176sp, 0sp" IsSelectable="false" IsEnabled="true" BackgroundColor="Transparent">
     <c:ButtonStyle.Icon>
-      <ImageViewStyle>
+      <ImageViewStyle Size="48sp, 48sp">
         <ImageViewStyle.ResourceUrl>
           <Selector x:TypeArguments="x:String" Normal="*Resource*/images/next.png" Pressed="*Resource*/images/next_pressed.png" Disabled="*Resource*/images/next_disabled.png" />
         </ImageViewStyle.ResourceUrl>
@@ -93,7 +93,7 @@ Id="LightTheme">
 
   <c:ButtonStyle x:Key="PlayAll" Size="48sp, 48sp" IsSelectable="false" IsEnabled="true" BackgroundColor="Transparent">
     <c:ButtonStyle.Icon>
-      <ImageViewStyle>
+      <ImageViewStyle Size="48sp, 48sp">
         <ImageViewStyle.ResourceUrl>
           <Selector x:TypeArguments="x:String" Normal="*Resource*/images/light/playall.png" Pressed="*Resource*/images/playall_pressed.png" Disabled="*Resource*/images/playall_disabled.png" />
         </ImageViewStyle.ResourceUrl>
@@ -103,7 +103,7 @@ Id="LightTheme">
 
   <c:ButtonStyle x:Key="PlaylistAdd" Size="48sp, 48sp" IsSelectable="false" IsEnabled="true" BackgroundColor="Transparent">
     <c:ButtonStyle.Icon>
-      <ImageViewStyle>
+      <ImageViewStyle Size="48sp, 48sp">
         <ImageViewStyle.ResourceUrl>
           <Selector x:TypeArguments="x:String" Normal="*Resource*/images/light/addtoplaylist.png" Pressed="*Resource*/images/addtoplaylist_pressed.png" Disabled="*Resource*/images/addtoplaylist_disabled.png" />
         </ImageViewStyle.ResourceUrl>
@@ -133,7 +133,7 @@ Id="LightTheme">
 
   <c:ButtonStyle x:Key="BackButton" Size="48sp, 48sp" IsSelectable="false" IsEnabled="true" BackgroundColor="Transparent">
     <c:ButtonStyle.Icon>
-      <ImageViewStyle>
+      <ImageViewStyle Size="48sp, 48sp">
         <ImageViewStyle.ResourceUrl>
           <Selector x:TypeArguments="x:String" Normal="*Resource*/images/light/back.png" Pressed="*Resource*/images/back_pressed.png" />
         </ImageViewStyle.ResourceUrl>
@@ -143,7 +143,7 @@ Id="LightTheme">
 
   <c:ButtonStyle x:Key="MoreButton" Size="48sp, 48sp" IsSelectable="false" IsEnabled="true" BackgroundColor="Transparent">
     <c:ButtonStyle.Icon>
-      <ImageViewStyle>
+      <ImageViewStyle Size="48sp, 48sp">
         <ImageViewStyle.ResourceUrl>
           <Selector x:TypeArguments="x:String" Normal="*Resource*/images/light/more.png" Pressed="*Resource*/images/more_pressed.png" />
         </ImageViewStyle.ResourceUrl>
@@ -153,7 +153,7 @@ Id="LightTheme">
 
   <c:ButtonStyle x:Key="SearchIcon" Size="40sp, 40sp" IsSelectable="false" IsEnabled="true" BackgroundColor="Transparent">
     <c:ButtonStyle.Icon>
-      <ImageViewStyle>
+      <ImageViewStyle Size="40sp, 40sp">
         <ImageViewStyle.ResourceUrl>*Resource*/images/light/search_icon.png</ImageViewStyle.ResourceUrl>
       </ImageViewStyle>
     </c:ButtonStyle.Icon>
@@ -198,7 +198,7 @@ Id="LightTheme">
 
   <c:ButtonStyle x:Key="ClearButton" Size="48sp, 48sp" IsSelectable="false" IsEnabled="true" BackgroundColor="Transparent">
     <c:ButtonStyle.Icon>
-      <ImageViewStyle>
+      <ImageViewStyle Size="48sp, 48sp">
         <ImageViewStyle.ResourceUrl>*Resource*/images/light/cross_button.png</ImageViewStyle.ResourceUrl>
       </ImageViewStyle>
     </c:ButtonStyle.Icon>
@@ -206,7 +206,7 @@ Id="LightTheme">
 
   <c:ButtonStyle x:Key="CheckBox" Size="36sp, 36sp" IsSelected="false" IsEnabled="false" BackgroundColor="Transparent">
     <c:ButtonStyle.Icon>
-      <ImageViewStyle>
+      <ImageViewStyle Size="36sp, 36sp">
         <ImageViewStyle.ResourceUrl>
           <Selector x:TypeArguments="x:String" Disabled="*Resource*/images/light/check_off.png" DisabledSelected="*Resource*/images/light/check_on.png" />
         </ImageViewStyle.ResourceUrl>
@@ -225,7 +225,7 @@ Id="LightTheme">
 
   <c:ButtonStyle x:Key="SearchButton" Size="96sp, 60sp" IsSelectable="false" IsEnabled="true" BackgroundImage="*Resource*/images/light/search_button_bg.png">
     <c:ButtonStyle.Icon>
-      <ImageViewStyle>
+      <ImageViewStyle Size="40sp, 40sp">
         <ImageViewStyle.ResourceUrl>*Resource*/images/light/search_icon.png</ImageViewStyle.ResourceUrl>
       </ImageViewStyle>
     </c:ButtonStyle.Icon>
index 3002de7286f1b47094d5d40b991a7102569dc77c..d3806a7d2c415398f19c184cf0739458fe552aed 100755 (executable)
Binary files a/packaging/org.tizen.MusicPlayer-1.0.0.tpk and b/packaging/org.tizen.MusicPlayer-1.0.0.tpk differ