diff options
author | 조규호/Tizen Platform Lab(S/W센터)/Senior Engineer/삼성전자 <kyuho.jo@samsung.com> | 2017-08-18 14:03:16 +0900 |
---|---|---|
committer | GitHub Enterprise <noreply-CODE@samsung.com> | 2017-08-18 14:03:16 +0900 |
commit | d7fa143c44daaaf79cc0163ba7f63c07f96009e2 (patch) | |
tree | b9f47b98ad6eaab0f9c1642b0c2d85d99a3fa95c | |
parent | 8d031b540d7693487b4acbfbf17f3ab4016c0a9e (diff) | |
parent | b0656cca24958cf65ccf24ac66f30b4b5df8b000 (diff) | |
download | videoplayer-d7fa143c44daaaf79cc0163ba7f63c07f96009e2.tar.gz videoplayer-d7fa143c44daaaf79cc0163ba7f63c07f96009e2.tar.bz2 videoplayer-d7fa143c44daaaf79cc0163ba7f63c07f96009e2.zip |
Merge pull request #59 from RS7-TizenReferenceSampleApplication/kyuho.jo
Changes that were made during the Off-line code review.
-rw-r--r-- | NewPlayer/NewPlayer/App.xaml.cs | 7 | ||||
-rw-r--r-- | NewPlayer/NewPlayer/ViewModels/LibraryPageViewModel.cs | 12 | ||||
-rw-r--r-- | NewPlayer/NewPlayer/Views/LibraryPage.xaml | 3 | ||||
-rw-r--r-- | NewPlayer/NewPlayer/Views/LibraryPage.xaml.cs | 38 |
4 files changed, 23 insertions, 37 deletions
diff --git a/NewPlayer/NewPlayer/App.xaml.cs b/NewPlayer/NewPlayer/App.xaml.cs index 20ebee8..32a4af1 100644 --- a/NewPlayer/NewPlayer/App.xaml.cs +++ b/NewPlayer/NewPlayer/App.xaml.cs @@ -11,12 +11,7 @@ namespace NewPlayer public App() { InitializeComponent(); - SetMainPage(); - } - - public static void SetMainPage() - { - Current.MainPage = new NavigationPage(new LibraryPage()); + MainPage = new NavigationPage(new LibraryPage()); } } }
\ No newline at end of file diff --git a/NewPlayer/NewPlayer/ViewModels/LibraryPageViewModel.cs b/NewPlayer/NewPlayer/ViewModels/LibraryPageViewModel.cs index d77f47a..968704e 100644 --- a/NewPlayer/NewPlayer/ViewModels/LibraryPageViewModel.cs +++ b/NewPlayer/NewPlayer/ViewModels/LibraryPageViewModel.cs @@ -10,6 +10,8 @@ namespace NewPlayer.ViewModels { private IEnumerable<MediaItem> items; + public Command UpdateCommand { get; set; } + public event PropertyChangedEventHandler PropertyChanged; protected void OnPropertyChanged([CallerMemberName] string propertyName = null) @@ -27,17 +29,15 @@ namespace NewPlayer.ViewModels } } - public async void UpdateItemList() + private async void UpdateItemList() { - { - await MediaItemProvider.Instance.Update(); - Items = MediaItemProvider.Instance.ItemList; - } + await MediaItemProvider.Instance.Update(); + Items = MediaItemProvider.Instance.ItemList; } public LibraryPageViewModel() { - UpdateItemList(); + UpdateCommand = new Command(() => { UpdateItemList(); }); } } }
\ No newline at end of file diff --git a/NewPlayer/NewPlayer/Views/LibraryPage.xaml b/NewPlayer/NewPlayer/Views/LibraryPage.xaml index 2bfa4df..2114465 100644 --- a/NewPlayer/NewPlayer/Views/LibraryPage.xaml +++ b/NewPlayer/NewPlayer/Views/LibraryPage.xaml @@ -5,7 +5,8 @@ xmlns:ViewModels="clr-namespace:NewPlayer.ViewModels" x:Class="NewPlayer.Views.LibraryPage" NavigationPage.HasNavigationBar="false" - Items="{Binding Items}"> + Items="{Binding Items}" + UpdateCommand="{Binding UpdateCommand}"> <ContentPage.BindingContext> <ViewModels:LibraryPageViewModel/> diff --git a/NewPlayer/NewPlayer/Views/LibraryPage.xaml.cs b/NewPlayer/NewPlayer/Views/LibraryPage.xaml.cs index 5a3761a..21a2d39 100644 --- a/NewPlayer/NewPlayer/Views/LibraryPage.xaml.cs +++ b/NewPlayer/NewPlayer/Views/LibraryPage.xaml.cs @@ -17,6 +17,14 @@ namespace NewPlayer.Views set { SetValue(ItemsProperty, value); } } + public static readonly BindableProperty UpdateCommandProperty = BindableProperty.Create("UpdateCommand", typeof(Command), typeof(LibraryPage), null); + + public Command UpdateCommand + { + get { return (Command)GetValue(UpdateCommandProperty); } + set { SetValue(UpdateCommandProperty, value); } + } + private void UpdateGridItems() { var index = 0; @@ -28,6 +36,11 @@ namespace NewPlayer.Views GridView.Children.Add(new ItemView(item), index / 3, index % 3); index++; } + + if (index > 0) + { + GridView.Children[0].FindByName<Button>("FocusButton").Focus(); + } } private void OnPropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) @@ -41,36 +54,13 @@ namespace NewPlayer.Views protected override void OnAppearing() { base.OnAppearing(); - - GridView.LayoutChanged += OnGridViewLayoutChanged; - } - - private void OnGridViewLayoutChanged(object sender, System.EventArgs e) - { - if (GridView.Children != null && GridView.Children.Count > 0) - { - var item = GridView.Children[0]; - if (item != null) - { - item.FindByName<Button>("FocusButton")?.Focus(); - } - } + UpdateCommand.Execute(""); } public LibraryPage() { InitializeComponent(); - PropertyChanged += OnPropertyChanged; - - // In a case of Tizen, the Items property is ready before initializing the LibraryView. - // Therefore, the property changed event can be skipped. - // To prevent from missing the changed event, we should check the Items first. - // If it is ready, we can update the Grid. - if (Items != null) - { - UpdateGridItems(); - } } } } |