Modifies Home mainpanel and subpanel depending on UI guideline 62/150762/2
authorHyerim Kim <rimi.kim@samsung.com>
Mon, 18 Sep 2017 11:34:24 +0000 (20:34 +0900)
committerHeonjae Jang <heonjae.jang@samsung.com>
Wed, 20 Sep 2017 06:43:04 +0000 (06:43 +0000)
 - If pushes enter button when the mainpanel is focused, the focus should be moved to subpanel.
 - If pushes back button when the subpanel is focused, the focus should bemoved to mainpanel.

Change-Id: I0f38c07dc1920c244b255ca7b41c9e5e9950aa1f
Signed-off-by: Hyerim Kim <rimi.kim@samsung.com>
LibCommon.Shared/Utils/IStatePublisher.cs
TVHome/TVHome/ViewModels/AppListViewModel.cs
TVHome/TVHome/ViewModels/MainPanelViewModel.cs
TVHome/TVHome/ViewModels/SettingsViewModel.cs
TVHome/TVHome/Views/MainPage.xaml.cs
TVHome/TVHome/Views/MainPanel.xaml.cs

index ddeee6a7d5096cf6a18ebe2e2eb229dfe9681fd1..15e2a26b0b7bb1d1e49dce12cd13cb15c11e3951 100755 (executable)
@@ -22,6 +22,8 @@ namespace LibTVRefCommonPortable.Utils
         HomeInitialized,
         HomeMainPanelAppsFocused,
         HomeMainPanelSettingsFocused,
+        HomeMainPanelAppsSelected,
+        HomeMainPanelSettingsSelected,
         HomeSubPanelAppsFocused,
         HomeSubPanelSettingsFocused,
         HomeShowOptions,
index 998a0e55c323e10943f435451fb6285bb3523537..d87ef4d7a767dce608a23604dd381437e4b66d90 100755 (executable)
@@ -229,6 +229,7 @@ namespace TVHome.ViewModels
                     break;
 
                 case AppState.HomeSubPanelAppsFocused:
+                case AppState.HomeMainPanelAppsSelected:
                     AppsSubPanelState = PanelState.Focused;
                     break;
 
index d956a10d740ea59ad957d40e96330e43feba7e59..c87c43642aeeda4c779625bd07081dd1e6cdadb0 100755 (executable)
@@ -221,6 +221,8 @@ namespace TVHome.ViewModels
 
                 case AppState.HomeSubPanelAppsFocused:
                 case AppState.HomeSubPanelSettingsFocused:
+                case AppState.HomeMainPanelAppsSelected:
+                case AppState.HomeMainPanelSettingsSelected:
                     foreach (var menuItem in MainList)
                     {
                         HomeMenuAppShortcutInfo homeMenuItem = menuItem as HomeMenuAppShortcutInfo;
index 5aac445104cc6c2e11451fd96a42a295c5336231..90860c0cdf57dc8b4d8af6fa838e2f95f9d2f287 100755 (executable)
@@ -213,6 +213,7 @@ namespace TVHome.ViewModels
                     break;
 
                 case AppState.HomeSubPanelSettingsFocused:
+                case AppState.HomeMainPanelSettingsSelected:
                     SettingsSubPanelState = PanelState.Focused;
                     break;
 
index 17c8158e775101c13296e2a8d816d74716a12bc6..9ce8b47a5453ccaad0248c2b03a40f20597f0186 100755 (executable)
@@ -272,13 +272,11 @@ namespace TVHome.Views
                     // TODO : set panel focused for focused panel.
                     break;
 
-                case AppState.HomeMainPanelAppsFocused:
-                    // TODO : remove dependency of MainPanel
+                case AppState.HomeSubPanelAppsFocused:
                     PageMainPanel.SetButtonFocus(0);
                     break;
 
-                case AppState.HomeMainPanelSettingsFocused:
-                    // TODO :
+                case AppState.HomeSubPanelSettingsFocused:
                     PageMainPanel.SetButtonFocus(1);
                     break;
 
index 73f2e4891f76f13f25f2f1519b5baa2c74ee942d..918276b3f11f72128dfddc76bdf7a76a3aa21e63 100755 (executable)
@@ -125,6 +125,15 @@ namespace TVHome.Views
                     {
                         DebuggingUtils.Dbg(ItemName + " clicked");
                         thisButtonInfo.ChangeStatus("selected");
+
+                        if (ItemName == HomeMenuItem.Apps)
+                        {
+                            MainPageViewModel.Publisher.CurrentState = AppState.HomeMainPanelAppsSelected;
+                        }
+                        else
+                        {
+                            MainPageViewModel.Publisher.CurrentState = AppState.HomeMainPanelSettingsSelected;
+                        }
                     });
                     PanelButtonGrid.Children.Add(button, index + 1, 0);