From: aman.jeph Date: Sun, 19 Sep 2021 20:23:00 +0000 (+0530) Subject: Following changes are implemented : X-Git-Tag: submit/tizen/20210923.162342~4 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F52%2F264452%2F1;p=profile%2Fiot%2Fapps%2Fdotnet%2Fmusic-player.git Following changes are implemented : 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 --- diff --git a/music-player/MediaContent/PlaylistContents.cs b/music-player/MediaContent/PlaylistContents.cs index 3f00642..cc9396d 100755 --- a/music-player/MediaContent/PlaylistContents.cs +++ b/music-player/MediaContent/PlaylistContents.cs @@ -9,7 +9,6 @@ namespace MusicPlayer.Media public static List GetPlaylists() { List playlists = new List(); - SelectArguments arguments = CreateSelectArgument(MEDIA_STORAGE_TYPE_QUERY, PlaylistColumns.Name + MEDIA_SORT_ORDER_ASC); MediaDataReader dataReader = playlistInfo.Select(); while(dataReader.Read()) diff --git a/music-player/MusicPlayer.cs b/music-player/MusicPlayer.cs index cb65d24..84ecc5a 100755 --- a/music-player/MusicPlayer.cs +++ b/music-player/MusicPlayer.cs @@ -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) diff --git a/music-player/ViewModels/PlayingListViewModel.cs b/music-player/ViewModels/PlayingListViewModel.cs index 1e06680..fa683da 100755 --- a/music-player/ViewModels/PlayingListViewModel.cs +++ b/music-player/ViewModels/PlayingListViewModel.cs @@ -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)); } } } diff --git a/music-player/Views/AlbumDetailLayout.cs b/music-player/Views/AlbumDetailLayout.cs index 02f24bb..d569eed 100755 --- a/music-player/Views/AlbumDetailLayout.cs +++ b/music-player/Views/AlbumDetailLayout.cs @@ -24,7 +24,7 @@ namespace MusicPlayer.Views base.IsCreateByXaml = true; WidthSpecification = width; HeightSpecification = height; - + Size2D = new Size2D(width, height); // to show the rounded rect of the bg BackgroundColor = Color.Transparent; @@ -37,8 +37,9 @@ namespace MusicPlayer.Views private TextLabel CreateTitleLabel() { - TextLabel titleLabel = new TextLabel("ItemLabel") + TextLabel titleLabel = new TextLabel() { + StyleName = "ItemLabel", ThemeChangeSensitive = true, Size2D = new Size2D(596, 40), PixelSize = 32, @@ -55,8 +56,9 @@ namespace MusicPlayer.Views private TextLabel CreateSubTitleLabel() { - TextLabel subtitleLabel = new TextLabel("ItemLabel") + TextLabel subtitleLabel = new TextLabel() { + StyleName = "ItemLabel", ThemeChangeSensitive = true, Size2D= new Size2D(596,36), PixelSize = 28, @@ -73,8 +75,9 @@ namespace MusicPlayer.Views private TextLabel CreateAdditionalLabel(int width) { - TextLabel additionalLabel = new TextLabel("ItemLabel") + TextLabel additionalLabel = new TextLabel() { + StyleName = "ItemLabel", ThemeChangeSensitive = true, Size2D= new Size2D(108,36), PixelSize = 28, diff --git a/music-player/Views/AlbumDetailView.cs b/music-player/Views/AlbumDetailView.cs index 54c8e86..28b7976 100755 --- a/music-player/Views/AlbumDetailView.cs +++ b/music-player/Views/AlbumDetailView.cs @@ -34,6 +34,11 @@ namespace MusicPlayer.Views AddAlbumInfo(); } + public override string GetTitleText() + { + return albumNameLabel.Text; + } + public override void UpdateSubContentMoreButtonItems(Menu moreMenu) { var addtoPlaylist = new MenuItem { Text = "Add to playlist" }; @@ -70,7 +75,12 @@ namespace MusicPlayer.Views private void OnTrackSelection(object sender, SelectionChangedEventArgs e) { + if (collectionView.SelectedItem == null) + { + return; + } viewModel.PlayCurrent(collectionView.SelectedItem); + collectionView.SelectedItem = null; } private View CreateLeftView() @@ -125,8 +135,10 @@ namespace MusicPlayer.Views } private void AddAlbumInfo() { - albumNameLabel = new TextLabel("LabelText") + albumNameLabel = new TextLabel() { + StyleName = "LabelText", + ThemeChangeSensitive = true, Size2D = new Size2D(640, 48), PixelSize = 36, Margin = new Extents(0, 0, 32, 0), @@ -139,8 +151,10 @@ namespace MusicPlayer.Views albumNameLabel.BindingContext = viewModel; albumNameLabel.SetBinding(TextLabel.TextProperty, "AlbumName"); leftView.Add(albumNameLabel); - albumArtistLabel = new TextLabel("LabelText") + albumArtistLabel = new TextLabel() { + StyleName = "LabelText", + ThemeChangeSensitive = true, Size2D = new Size2D(640, 36), PixelSize = 28, Margin = new Extents(0, 0, 14, 0), diff --git a/music-player/Views/AlbumView.cs b/music-player/Views/AlbumView.cs index d4e590d..56325b7 100755 --- a/music-player/Views/AlbumView.cs +++ b/music-player/Views/AlbumView.cs @@ -30,8 +30,9 @@ namespace MusicPlayer.Views collectionView.SelectionMode = ItemSelectionMode.Single; collectionView.SelectionChanged += OnAlbumSelection; - albumCountLabel = new TextLabel("LabelText") + albumCountLabel = new TextLabel() { + StyleName = "LabelText", ThemeChangeSensitive = true, PixelSize = 28, Text = "ALBUM COUNT", @@ -92,11 +93,15 @@ namespace MusicPlayer.Views private void OnAlbumSelection(object sender, SelectionChangedEventArgs e) { - Tizen.Log.Error(AppConstants.LogTag, "OnAlbumSelection Enter ==>"); + if(collectionView.SelectedItem == null) + { + return; + } MusicAlbum currentAlbum = (MusicAlbum)collectionView.SelectedItem; SubContentViewAddEventArgs albumDetailViewArgs = new SubContentViewAddEventArgs(SubContentViewType.AlbumDetails, currentAlbum.AlbumName, currentAlbum); OnSubViewAdd(albumDetailViewArgs); - Tizen.Log.Error(AppConstants.LogTag, "OnAlbumSelection Exit <=="); + // this is to clear the selected item + collectionView.SelectedItem = null; } private void OnDeleteClick(object sender, ClickedEventArgs e) diff --git a/music-player/Views/ArtistDetailGroupLayout.cs b/music-player/Views/ArtistDetailGroupLayout.cs index 4d1e63c..c896a0e 100755 --- a/music-player/Views/ArtistDetailGroupLayout.cs +++ b/music-player/Views/ArtistDetailGroupLayout.cs @@ -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", diff --git a/music-player/Views/ArtistDetailItemLayout.cs b/music-player/Views/ArtistDetailItemLayout.cs index a63eeb1..0eb0c50 100755 --- a/music-player/Views/ArtistDetailItemLayout.cs +++ b/music-player/Views/ArtistDetailItemLayout.cs @@ -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, diff --git a/music-player/Views/ArtistDetailView.cs b/music-player/Views/ArtistDetailView.cs index 05a7eb6..28dab12 100755 --- a/music-player/Views/ArtistDetailView.cs +++ b/music-player/Views/ArtistDetailView.cs @@ -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() diff --git a/music-player/Views/ArtistView.cs b/music-player/Views/ArtistView.cs index b6fea73..aa4fe3c 100755 --- a/music-player/Views/ArtistView.cs +++ b/music-player/Views/ArtistView.cs @@ -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) diff --git a/music-player/Views/BaseContentView.cs b/music-player/Views/BaseContentView.cs index 1af6067..34f78f5 100755 --- a/music-player/Views/BaseContentView.cs +++ b/music-player/Views/BaseContentView.cs @@ -78,7 +78,9 @@ namespace MusicPlayer.Views base.Add(subContentViewContainer); subContentViewContainer.Hide(); subcontentView = null; + IsSubViewAdded = false; } + public bool IsSubViewAdded { get; private set; } public void AddSubContentView(BaseSubContentView baseSubContentView) { @@ -96,6 +98,7 @@ namespace MusicPlayer.Views subContentViewContainer.Add(baseSubContentView); subcontentView = baseSubContentView; subcontentView.SubContentOperationViewAdd += OnSubContentOperationViewAdd; + IsSubViewAdded = true; } public void RemoveSubContentView() @@ -110,6 +113,7 @@ namespace MusicPlayer.Views subcontentView.SubContentOperationViewAdd -= OnSubContentOperationViewAdd; subcontentView.DeleteSubView(); subcontentView = null; + IsSubViewAdded = false; } public virtual void ShowView() @@ -139,6 +143,15 @@ namespace MusicPlayer.Views UpdateContentMoreButtonItems(moreMenu); } + public string GetSubContentTitle() + { + if(IsSubViewAdded) + { + return subcontentView.GetTitleText(); + } + return string.Empty; + } + protected virtual void UpdateContentMoreButtonItems(Menu moreMenu) { diff --git a/music-player/Views/BaseSubContentView.cs b/music-player/Views/BaseSubContentView.cs index dbbb075..046da7a 100755 --- a/music-player/Views/BaseSubContentView.cs +++ b/music-player/Views/BaseSubContentView.cs @@ -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) diff --git a/music-player/Views/BaseView.cs b/music-player/Views/BaseView.cs index e8a6bcf..a51fa6b 100755 --- a/music-player/Views/BaseView.cs +++ b/music-player/Views/BaseView.cs @@ -52,8 +52,9 @@ namespace MusicPlayer.Views base.Add(topView); FlexLayout.SetFlexGrow(topView, 0); FlexLayout.SetFlexShrink(topView, 0); - titleLabel = new TextLabel("PageLabel") + titleLabel = new TextLabel() { + StyleName = "PageLabel", ThemeChangeSensitive = true, Text = "Music", PixelSize = 40, @@ -158,7 +159,6 @@ namespace MusicPlayer.Views RelativeLayout.SetLeftRelativeOffset(titleLabel, 0.0f); } } - Tizen.Log.Error(AppConstants.LogTag, "BackButton Exit <=="); } } @@ -235,8 +235,16 @@ namespace MusicPlayer.Views Tizen.Log.Error(AppConstants.LogTag, "ContentView is already added, remove it first"); return; } - BackButton = false; - Title = "Music"; + if (view.IsSubViewAdded) + { + BackButton = true; + Title = view.GetSubContentTitle(); + } + else + { + BackButton = false; + Title = "Music"; + } contentView.Add(view); baseContentView = view; } @@ -270,15 +278,18 @@ namespace MusicPlayer.Views } if (type == DisposeTypes.Explicit) { - List children = topView?.Children; - foreach (View child in children) + if (topView != null) { - topView.Remove(child); - child?.Dispose(); + List children = topView.Children; + foreach (View child in children) + { + topView.Remove(child); + child?.Dispose(); + } + base.Remove(topView); + topView.Dispose(); + topView = null; } - base.Remove(topView); - topView?.Dispose(); - topView = null; // Do not delete the children of contentview as they are not owned by BaseView base.Remove(contentView); @@ -325,16 +336,12 @@ namespace MusicPlayer.Views private void OnMoreButtonClicked(object sender, ClickedEventArgs e) { - Menu moreMenu = CreateMenu(); if(baseContentView != null) { + Menu moreMenu = CreateMenu(); baseContentView.UpdateButtonMoreItems(moreMenu); moreMenu.Post(); } - else - { - moreMenu.Dismiss(); - } } } } \ No newline at end of file diff --git a/music-player/Views/ListItemLayout.cs b/music-player/Views/ListItemLayout.cs index cbe9ecf..bafe14a 100755 --- a/music-player/Views/ListItemLayout.cs +++ b/music-player/Views/ListItemLayout.cs @@ -30,14 +30,13 @@ 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; icon = new ImageView() { - WidthSpecification = IconSize, - HeightSpecification = IconSize, + Size2D = new Size2D(IconSize, IconSize), IsCreateByXaml = true, Position2D = new Position2D(x, ((Height / 2) - (IconSize / 2))), }; @@ -45,19 +44,18 @@ namespace MusicPlayer.Views 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, }; base.Add(itemSeperator); - titleLabel = new TextLabel("ItemLabel") + titleLabel = new TextLabel() { + StyleName = "ItemLabel", ThemeChangeSensitive = true, - WidthSpecification = (Width - (2 * LeftPadding) - IconSize - LayoutPadding), - HeightSpecification = 40, + Size2D = new Size2D((Width - (2 * LeftPadding) - IconSize - LayoutPadding), 40), PixelSize = 32, FontFamily = "BreezeSans", VerticalAlignment = VerticalAlignment.Center, @@ -66,11 +64,11 @@ namespace MusicPlayer.Views titleLabel.FontStyle = UIFontStyles.NormalLight; base.Add(titleLabel); - subtitleLabel = new TextLabel("ItemLabel") + subtitleLabel = new TextLabel() { + StyleName = "ItemLabel", ThemeChangeSensitive = true, - WidthSpecification = (Width - (2 * LeftPadding) - IconSize - LayoutPadding), - HeightSpecification = 36, + Size2D = new Size2D((Width - (2 * LeftPadding) - IconSize - LayoutPadding), 36), PixelSize = 28, FontFamily = "BreezeSans", VerticalAlignment = VerticalAlignment.Center, diff --git a/music-player/Views/PlayerView.cs b/music-player/Views/PlayerView.cs index 6531bab..32a69ec 100755 --- a/music-player/Views/PlayerView.cs +++ b/music-player/Views/PlayerView.cs @@ -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), diff --git a/music-player/Views/PlaylistDetailView.cs b/music-player/Views/PlaylistDetailView.cs index 28cc564..f115925 100755 --- a/music-player/Views/PlaylistDetailView.cs +++ b/music-player/Views/PlaylistDetailView.cs @@ -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) diff --git a/music-player/Views/PlaylistView.cs b/music-player/Views/PlaylistView.cs index c4f4372..671b3fe 100755 --- a/music-player/Views/PlaylistView.cs +++ b/music-player/Views/PlaylistView.cs @@ -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", diff --git a/music-player/Views/TrackView.cs b/music-player/Views/TrackView.cs index 120bdea..512d8a1 100755 --- a/music-player/Views/TrackView.cs +++ b/music-player/Views/TrackView.cs @@ -33,8 +33,9 @@ namespace MusicPlayer.Views collectionView.SelectionMode = ItemSelectionMode.Single; collectionView.SelectionChanged += OnTrackSelection; - trackCountLabel = new TextLabel("LabelText") + trackCountLabel = new TextLabel() { + StyleName = "LabelText", ThemeChangeSensitive = true, PixelSize = 28, Text = "TRACK COUNT", @@ -136,7 +137,12 @@ namespace MusicPlayer.Views private void OnTrackSelection(object sender, SelectionChangedEventArgs e) { + if(collectionView.SelectedItem == null) + { + return; + } viewModel.OnTrackSelected(collectionView.SelectedItem); + collectionView.SelectedItem = null; } private void OnDeleteClick(object sender, ClickedEventArgs e) diff --git a/packaging/org.tizen.MusicPlayer-1.0.0.tpk b/packaging/org.tizen.MusicPlayer-1.0.0.tpk index db4f804..68af2f8 100755 Binary files a/packaging/org.tizen.MusicPlayer-1.0.0.tpk and b/packaging/org.tizen.MusicPlayer-1.0.0.tpk differ