Modify Home menu icon
authorHyerim Kim <rimi.kim@samsung.com>
Thu, 2 Mar 2017 08:41:40 +0000 (17:41 +0900)
committerChulSeung Kim <charles0.kim@samsung.com>
Thu, 8 Jun 2017 09:34:44 +0000 (18:34 +0900)
Change-Id: I10e2f389a735dfd5a514bf4603d33bd914550489
Signed-off-by: Hyerim Kim <rimi.kim@samsung.com>
15 files changed:
TVHome/TVHome.TizenTV/res/background.jpg [new file with mode: 0755]
TVHome/TVHome.TizenTV/res/ic_tizen_home_menu_apps_focused.png [new file with mode: 0755]
TVHome/TVHome.TizenTV/res/ic_tizen_home_menu_apps_normal.png [new file with mode: 0755]
TVHome/TVHome.TizenTV/res/ic_tizen_home_menu_apps_selected.png [new file with mode: 0755]
TVHome/TVHome.TizenTV/res/ic_tizen_home_menu_recent_focused.png [new file with mode: 0755]
TVHome/TVHome.TizenTV/res/ic_tizen_home_menu_recent_normal.png [new file with mode: 0755]
TVHome/TVHome.TizenTV/res/ic_tizen_home_menu_recent_selected.png [new file with mode: 0755]
TVHome/TVHome.TizenTV/res/ic_tizen_home_menu_settings_focused.png [new file with mode: 0755]
TVHome/TVHome.TizenTV/res/ic_tizen_home_menu_settings_normal.png [new file with mode: 0755]
TVHome/TVHome.TizenTV/res/ic_tizen_home_menu_settings_selected.png [new file with mode: 0755]
TVHome/TVHome.TizenTV/res/img_tizen_home_menu_focused_bg.png [new file with mode: 0755]
TVHome/TVHome/Controls/MainPanelButton.xaml [changed mode: 0644->0755]
TVHome/TVHome/Controls/MainPanelButton.xaml.cs [changed mode: 0644->0755]
TVHome/TVHome/ViewModels/MainPageViewModel.cs [changed mode: 0644->0755]
TVHome/TVHome/Views/MainPage.xaml [changed mode: 0644->0755]

diff --git a/TVHome/TVHome.TizenTV/res/background.jpg b/TVHome/TVHome.TizenTV/res/background.jpg
new file mode 100755 (executable)
index 0000000..b69f52d
Binary files /dev/null and b/TVHome/TVHome.TizenTV/res/background.jpg differ
diff --git a/TVHome/TVHome.TizenTV/res/ic_tizen_home_menu_apps_focused.png b/TVHome/TVHome.TizenTV/res/ic_tizen_home_menu_apps_focused.png
new file mode 100755 (executable)
index 0000000..aefccdb
Binary files /dev/null and b/TVHome/TVHome.TizenTV/res/ic_tizen_home_menu_apps_focused.png differ
diff --git a/TVHome/TVHome.TizenTV/res/ic_tizen_home_menu_apps_normal.png b/TVHome/TVHome.TizenTV/res/ic_tizen_home_menu_apps_normal.png
new file mode 100755 (executable)
index 0000000..2b37580
Binary files /dev/null and b/TVHome/TVHome.TizenTV/res/ic_tizen_home_menu_apps_normal.png differ
diff --git a/TVHome/TVHome.TizenTV/res/ic_tizen_home_menu_apps_selected.png b/TVHome/TVHome.TizenTV/res/ic_tizen_home_menu_apps_selected.png
new file mode 100755 (executable)
index 0000000..3271993
Binary files /dev/null and b/TVHome/TVHome.TizenTV/res/ic_tizen_home_menu_apps_selected.png differ
diff --git a/TVHome/TVHome.TizenTV/res/ic_tizen_home_menu_recent_focused.png b/TVHome/TVHome.TizenTV/res/ic_tizen_home_menu_recent_focused.png
new file mode 100755 (executable)
index 0000000..502693d
Binary files /dev/null and b/TVHome/TVHome.TizenTV/res/ic_tizen_home_menu_recent_focused.png differ
diff --git a/TVHome/TVHome.TizenTV/res/ic_tizen_home_menu_recent_normal.png b/TVHome/TVHome.TizenTV/res/ic_tizen_home_menu_recent_normal.png
new file mode 100755 (executable)
index 0000000..fcd3015
Binary files /dev/null and b/TVHome/TVHome.TizenTV/res/ic_tizen_home_menu_recent_normal.png differ
diff --git a/TVHome/TVHome.TizenTV/res/ic_tizen_home_menu_recent_selected.png b/TVHome/TVHome.TizenTV/res/ic_tizen_home_menu_recent_selected.png
new file mode 100755 (executable)
index 0000000..6ad678a
Binary files /dev/null and b/TVHome/TVHome.TizenTV/res/ic_tizen_home_menu_recent_selected.png differ
diff --git a/TVHome/TVHome.TizenTV/res/ic_tizen_home_menu_settings_focused.png b/TVHome/TVHome.TizenTV/res/ic_tizen_home_menu_settings_focused.png
new file mode 100755 (executable)
index 0000000..109e984
Binary files /dev/null and b/TVHome/TVHome.TizenTV/res/ic_tizen_home_menu_settings_focused.png differ
diff --git a/TVHome/TVHome.TizenTV/res/ic_tizen_home_menu_settings_normal.png b/TVHome/TVHome.TizenTV/res/ic_tizen_home_menu_settings_normal.png
new file mode 100755 (executable)
index 0000000..5ca5a0f
Binary files /dev/null and b/TVHome/TVHome.TizenTV/res/ic_tizen_home_menu_settings_normal.png differ
diff --git a/TVHome/TVHome.TizenTV/res/ic_tizen_home_menu_settings_selected.png b/TVHome/TVHome.TizenTV/res/ic_tizen_home_menu_settings_selected.png
new file mode 100755 (executable)
index 0000000..a2e8c1e
Binary files /dev/null and b/TVHome/TVHome.TizenTV/res/ic_tizen_home_menu_settings_selected.png differ
diff --git a/TVHome/TVHome.TizenTV/res/img_tizen_home_menu_focused_bg.png b/TVHome/TVHome.TizenTV/res/img_tizen_home_menu_focused_bg.png
new file mode 100755 (executable)
index 0000000..0ec9660
Binary files /dev/null and b/TVHome/TVHome.TizenTV/res/img_tizen_home_menu_focused_bg.png differ
old mode 100644 (file)
new mode 100755 (executable)
index afd10c7..7d96d27
@@ -1,29 +1,44 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<ViewCell xmlns="http://xamarin.com/schemas/2014/forms"\r
-          xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"\r
-          x:Class="TVHome.Controls.MainPanelButton">\r
-    <RelativeLayout Opacity="0.3">\r
-        <BoxView x:Name = "ButtonBox"\r
-                 RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=1}"\r
-                 RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=1}"\r
-                 Color="Red" />\r
-        <Image x:Name="ButtonImage"\r
-               RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=1}"\r
-               RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=1}"\r
-               Source="{Binding CurrentStateDescription.IconPath}" />\r
-        <Label x:Name="ButtonTitle"\r
-               RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=0.2}"\r
-               RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=1}"\r
-               RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=0.8}"\r
-               Opacity="0"\r
-               LineBreakMode="TailTruncation"\r
-               Text="{Binding CurrentStateDescription.Label}" />\r
-        <Button x:Name = "ButtonFocusArea"\r
-                RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=1}"\r
-                RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=1}"\r
-                Focused="OnFocused"\r
-                Unfocused="OnUnfocused"\r
-                Clicked="OnClicked"\r
-                Opacity="0" />\r
-    </RelativeLayout>\r
-</ViewCell>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?>
+<ViewCell xmlns="http://xamarin.com/schemas/2014/forms"
+          xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
+          x:Class="TVHome.Controls.MainPanelButton">
+    <RelativeLayout Opacity="0.3">
+        <BoxView x:Name = "ButtonBox"
+              RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=1}"
+              RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width, Factor=1.03}"
+              RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=0}"
+              RelativeLayout.XConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width, Factor=0}"
+              Opacity="0"/>
+        <Image x:Name="ButtonBgImage"
+              RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToView, ElementName=ButtonBox, Property=Height, Factor=1}"
+              RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToView, ElementName=ButtonBox, Property=Width, Factor=1.6857}"
+              RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToView, ElementName=ButtonBox, Property=Height, Factor=0}"
+              RelativeLayout.XConstraint="{ConstraintExpression Type=RelativeToView, ElementName=ButtonBox, Property=Width, Factor=-0.343}"
+              Source="img_tizen_home_menu_focused_bg.png"
+              Opacity="0"/>
+        <Image x:Name="ButtonImage"
+              RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=0.218}"
+              RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width, Factor=1}"
+              RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=0.390}"
+              RelativeLayout.XConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width, Factor=0}"
+              Source="{Binding CurrentStateDescription.IconPath}" />
+        <Label x:Name="ButtonTitle"
+               RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToView, ElementName=ButtonBox, Property=Height, Factor=0.8739}"
+               RelativeLayout.XConstraint="{ConstraintExpression Type=RelativeToView, ElementName=ButtonBox, Property=Width, Factor=0}"
+               RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToView, ElementName=ButtonBox, Property=Width, Factor=1}"
+               RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToView, ElementName=ButtonBox, Property=Height, Factor=0.126}"
+               Opacity="0"
+               FontSize="26"
+               TextColor="White"
+               LineBreakMode="TailTruncation"
+               HorizontalTextAlignment="Center"
+               Text="{Binding CurrentStateDescription.Label}" />
+        <Button x:Name = "ButtonFocusArea"
+                RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=1}"
+                RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=1}"
+                Focused="OnFocused"
+                Unfocused="OnUnfocused"
+                Clicked="OnClicked"
+                Opacity="0" />
+    </RelativeLayout>
+</ViewCell>
old mode 100644 (file)
new mode 100755 (executable)
index 4687364..657f71a
-/*\r
- * Copyright (c) 2017 Samsung Electronics Co., Ltd\r
- *\r
- * Licensed under the Flora License, Version 1.1 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- *     http://floralicense.org/license/\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- */\r
-\r
-using System;\r
-using System.Windows.Input;\r
-using TVHome.Utils;\r
-using Xamarin.Forms;\r
-\r
-namespace TVHome.Controls\r
-{\r
-    /// <summary>\r
-    /// Custom Control for Button in Main Panel\r
-    /// </summary>\r
-    public partial class MainPanelButton : ViewCell\r
-    {\r
-        public BindableProperty OnFocusedCommandProperty = BindableProperty.Create("OnFocusedCommand", typeof(ICommand), typeof(MainPanelButton));\r
-\r
-        public ICommand OnFocusedCommand\r
-        {\r
-            get { return (ICommand)GetValue(OnFocusedCommandProperty); }\r
-            set { SetValue(OnFocusedCommandProperty, value); }\r
-        }\r
-\r
-        public BindableProperty OnClickedCommandProperty = BindableProperty.Create("OnClickedCommand", typeof(ICommand), typeof(MainPanelButton));\r
-\r
-        public ICommand OnClickedCommand\r
-        {\r
-            get { return (ICommand)GetValue(OnClickedCommandProperty); }\r
-            set { SetValue(OnClickedCommandProperty, value); }\r
-        }\r
-\r
-        public MainPanelButton()\r
-        {\r
-            InitializeComponent();\r
-        }\r
-\r
-        private async void OnFocused(object sender, FocusEventArgs e)\r
-        {\r
-            if (OnFocusedCommand != null)\r
-            {\r
-                OnFocusedCommand.Execute("");\r
-            }\r
-\r
-            ButtonTitle.FadeTo(0.99, 300);\r
-            await View.FadeTo(0.6, 300);\r
-        }\r
-\r
-        private async void OnUnfocused(object sender, FocusEventArgs e)\r
-        {\r
-            ButtonTitle.FadeTo(0, 300);\r
-            await View.FadeTo(0.3, 300);\r
-        }\r
-\r
-        private async void OnClicked(object sender, EventArgs e)\r
-        {\r
-            if (OnClickedCommand != null)\r
-            {\r
-                OnClickedCommand.Execute("");\r
-            }\r
-\r
-            await View.FadeTo(0.9, 300);\r
-        }\r
-    }\r
-}
\ No newline at end of file
+/*
+ * Copyright (c) 2017 Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+using System;
+using System.Windows.Input;
+using TVHome.Utils;
+using Xamarin.Forms;
+
+namespace TVHome.Controls
+{
+    /// <summary>
+    /// Custom Control for Button in Main Panel
+    /// </summary>
+    public partial class MainPanelButton : ViewCell
+    {
+        public BindableProperty OnFocusedCommandProperty = BindableProperty.Create("OnFocusedCommand", typeof(ICommand), typeof(MainPanelButton));
+
+        public ICommand OnFocusedCommand
+        {
+            get { return (ICommand)GetValue(OnFocusedCommandProperty); }
+            set { SetValue(OnFocusedCommandProperty, value); }
+        }
+
+        public BindableProperty OnClickedCommandProperty = BindableProperty.Create("OnClickedCommand", typeof(ICommand), typeof(MainPanelButton));
+
+        public ICommand OnClickedCommand
+        {
+            get { return (ICommand)GetValue(OnClickedCommandProperty); }
+            set { SetValue(OnClickedCommandProperty, value); }
+        }
+
+        public MainPanelButton()
+        {
+            InitializeComponent();
+        }
+
+        private async void OnFocused(object sender, FocusEventArgs e)
+        {
+            if (OnFocusedCommand != null)
+            {
+                OnFocusedCommand.Execute("");
+            }
+
+            if (ButtonTitle.Text.Equals("Apps"))
+            {
+                ButtonImage.Source = "ic_tizen_home_menu_apps_focused.png";
+            }
+            else if (ButtonTitle.Text.Equals("Recent"))
+            {
+                ButtonImage.Source = "ic_tizen_home_menu_recent_focused.png";
+            }
+            else
+            {
+                ButtonImage.Source = "ic_tizen_home_menu_settings_focused.png";
+            }
+
+            ButtonTitle.FadeTo(0.8, 300);
+            ButtonBgImage.FadeTo(0.99, 300);
+            await View.FadeTo(0.6, 300);
+        }
+
+        private async void OnUnfocused(object sender, FocusEventArgs e)
+        {
+            if (ButtonTitle.Text.Equals("Apps"))
+            {
+                ButtonImage.Source = "ic_tizen_home_menu_apps_normal.png";
+            }
+            else if (ButtonTitle.Text.Equals("Recent"))
+            {
+                ButtonImage.Source = "ic_tizen_home_menu_recent_normal.png";
+            }
+            else
+            {
+                ButtonImage.Source = "ic_tizen_home_menu_settings_normal.png";
+            }
+
+            ButtonTitle.FadeTo(0, 300);
+            ButtonBgImage.FadeTo(0, 300);
+            await View.FadeTo(0.3, 300);
+        }
+
+        private async void OnClicked(object sender, EventArgs e)
+        {
+            if (OnClickedCommand != null)
+            {
+                OnClickedCommand.Execute("");
+            }
+
+            await View.FadeTo(0.9, 300);
+        }
+    }
+}
old mode 100644 (file)
new mode 100755 (executable)
index e230593..c9e3e78
-/*\r
- * Copyright (c) 2017 Samsung Electronics Co., Ltd\r
- *\r
- * Licensed under the Flora License, Version 1.1 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- *     http://floralicense.org/license/\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- */\r
-\r
-using System;\r
-using System.Collections;\r
-using System.Collections.Generic;\r
-using System.ComponentModel;\r
-using System.Windows.Input;\r
-using System.Threading.Tasks;\r
-using TVHome.DataModels;\r
-using TVHome.Utils;\r
-using Xamarin.Forms;\r
-\r
-namespace TVHome.ViewModels\r
-{\r
-    public class MainPageViewModel : INotifyPropertyChanged\r
-    {\r
-        public IEnumerable<ShortcutInfo> MainList { get; set; }\r
-        public IEnumerable<ShortcutInfo> RecentList { get; set; }\r
-        public IEnumerable<ShortcutInfo> AppList { get; set; }\r
-        public IEnumerable<ShortcutInfo> SettingsList { get; set; }\r
-\r
-        public event PropertyChangedEventHandler PropertyChanged;\r
-        protected void OnPropertyChanged(string name)\r
-        {\r
-            PropertyChangedEventHandler handler = PropertyChanged;\r
-            if (handler != null)\r
-            {\r
-                handler(this, new PropertyChangedEventArgs(name));\r
-            }\r
-        }\r
-\r
-        public MainPageViewModel()\r
-        {\r
-            string[] AppName = { "Recent", "Apps", "Settings" };\r
-            // TODO : Revert this before release\r
-            //string[] AppControlID = { "org.tizen.settings", "org.tizen.apps", "org.tizen.settings" };\r
-            string[] AppControlID = { "org.tizen.settings", "org.tizen.example.TVApps.TizenTV", "org.tizen.settings" };\r
-            string[] AppIconPath = { "recent_normal.png", "app_normal.png", "settings_normal.png" };\r
-\r
-            List<ShortcutInfo> TempList = new List<ShortcutInfo>();\r
-            for (int i = 0; i < 3; i++)\r
-            {\r
-                ShortcutInfo shortcutInfo = new HomeMenuAppShortcutInfo()\r
-                {\r
-                    StateDescriptions =\r
-                    {\r
-                        {\r
-                            "default",\r
-                            new StateDescription\r
-                            {\r
-                                Label = AppName[i],\r
-                                IconPath = AppIconPath[i],\r
-                                Action = new AppControlAction()\r
-                                {\r
-                                    AppID = AppControlID[i]\r
-                                }\r
-                            }\r
-                        },\r
-                    }\r
-                };\r
-                shortcutInfo.UpdateState();\r
-                TempList.Add(shortcutInfo);\r
-            }\r
-\r
-            MainList = TempList;\r
-            OnPropertyChanged("MainList");\r
-\r
-            MakeRecentButtons();\r
-\r
-            DebuggingUtils.Dbg("Reading Apps list");\r
-            AppList = TVHomeImpl.GetInstance.AppShortcutControllerInstance.ReadFromFile();\r
-            OnPropertyChanged("AppList");\r
-\r
-            //SettingsList = TVHomeImpl.GetInstance.AppShortcutControllerInstnace.ReadFromFile();\r
-            SettingsList = TVHomeImpl.GetInstance.SettingShortcutControllerInstance.GetList();\r
-            OnPropertyChanged("SettingsList");\r
-\r
-            TVHomeImpl.GetInstance.AppShortcutControllerInstance.AddFileSystemChangedListener(TestFunction);\r
-        }\r
-\r
-\r
-        private void TestFunction(object sender, EventArgs e)\r
-        {\r
-            AppList = TVHomeImpl.GetInstance.AppShortcutControllerInstance.ReadFromFile();\r
-            OnPropertyChanged("AppList");\r
-        }\r
-\r
-        private async void MakeRecentButtons()\r
-        {\r
-            RecentList = await TVHomeImpl.GetInstance.RecentShortcutControllerInstance.GetList();\r
-            if (RecentList != null)\r
-            {\r
-                OnPropertyChanged("RecentList");\r
-            }\r
-        }\r
-\r
-    }\r
-}\r
+/*
+ * Copyright (c) 2017 Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Windows.Input;
+using System.Threading.Tasks;
+using TVHome.DataModels;
+using TVHome.Utils;
+using Xamarin.Forms;
+
+namespace TVHome.ViewModels
+{
+    public class MainPageViewModel : INotifyPropertyChanged
+    {
+        public IEnumerable<ShortcutInfo> MainList { get; set; }
+        public IEnumerable<ShortcutInfo> RecentList { get; set; }
+        public IEnumerable<ShortcutInfo> AppList { get; set; }
+        public IEnumerable<ShortcutInfo> SettingsList { get; set; }
+
+        public event PropertyChangedEventHandler PropertyChanged;
+        protected void OnPropertyChanged(string name)
+        {
+            PropertyChangedEventHandler handler = PropertyChanged;
+            if (handler != null)
+            {
+                handler(this, new PropertyChangedEventArgs(name));
+            }
+        }
+
+        public MainPageViewModel()
+        {
+            string[] AppName = { "Recent", "Apps", "Settings" };
+            // TODO : Revert this before release
+            //string[] AppControlID = { "org.tizen.settings", "org.tizen.apps", "org.tizen.settings" };
+            string[] AppControlID = { "org.tizen.settings", "org.tizen.example.TVApps.TizenTV", "org.tizen.settings" };
+            string[] AppIconPath = { "ic_tizen_home_menu_recent_normal.png", "ic_tizen_home_menu_apps_normal.png", "ic_tizen_home_menu_settings_normal.png" };
+
+            List<ShortcutInfo> TempList = new List<ShortcutInfo>();
+            for (int i = 0; i < 3; i++)
+            {
+                ShortcutInfo shortcutInfo = new HomeMenuAppShortcutInfo()
+                {
+                    StateDescriptions =
+                    {
+                        {
+                            "default",
+                            new StateDescription
+                            {
+                                Label = AppName[i],
+                                IconPath = AppIconPath[i],
+                                Action = new AppControlAction()
+                                {
+                                    AppID = AppControlID[i]
+                                }
+                            }
+                        },
+                    }
+                };
+                shortcutInfo.UpdateState();
+                TempList.Add(shortcutInfo);
+            }
+
+            MainList = TempList;
+            OnPropertyChanged("MainList");
+
+            MakeRecentButtons();
+
+            DebuggingUtils.Dbg("Reading Apps list");
+            AppList = TVHomeImpl.GetInstance.AppShortcutControllerInstance.ReadFromFile();
+            OnPropertyChanged("AppList");
+
+            //SettingsList = TVHomeImpl.GetInstance.AppShortcutControllerInstnace.ReadFromFile();
+            SettingsList = TVHomeImpl.GetInstance.SettingShortcutControllerInstance.GetList();
+            OnPropertyChanged("SettingsList");
+
+            TVHomeImpl.GetInstance.AppShortcutControllerInstance.AddFileSystemChangedListener(TestFunction);
+        }
+
+
+        private void TestFunction(object sender, EventArgs e)
+        {
+            AppList = TVHomeImpl.GetInstance.AppShortcutControllerInstance.ReadFromFile();
+            OnPropertyChanged("AppList");
+        }
+
+        private async void MakeRecentButtons()
+        {
+            RecentList = await TVHomeImpl.GetInstance.RecentShortcutControllerInstance.GetList();
+            if (RecentList != null)
+            {
+                OnPropertyChanged("RecentList");
+            }
+        }
+
+    }
+}
old mode 100644 (file)
new mode 100755 (executable)
index dd2c91e..850bb54
@@ -1,42 +1,50 @@
-<?xml version="1.0" encoding="utf-8" ?>\r
-<ContentPage x:Class="TVHome.Views.MainPage"\r
-             xmlns="http://xamarin.com/schemas/2014/forms"\r
-             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"\r
-             xmlns:Views="clr-namespace:TVHome.Views"\r
-             xmlns:ViewModels="clr-namespace:TVHome.ViewModels"\r
-             Appearing="OnAppearing">\r
-    <ContentPage.BackgroundColor>\r
-        <Color>White</Color>\r
-    </ContentPage.BackgroundColor>\r
-    <ContentPage.BindingContext>\r
-        <ViewModels:MainPageViewModel />\r
-    </ContentPage.BindingContext>\r
-    <ContentPage.Content>\r
-        <RelativeLayout>\r
-            <Views:MainPanel x:Name="PageMainPanel"\r
-                             RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=0.14}"\r
-                             RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width, Factor=0.24}"\r
-                             RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=0.65}"\r
-                             RelativeLayout.XConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width, Factor=0.38}"\r
-                             ItemsSource="{Binding MainList}"/>\r
-\r
-            <Views:SubPanel x:Name="RecentSubPanel"\r
-                            RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=0.18}"\r
-                            RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width, Factor=1}"\r
-                            RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=0.94}"\r
-                            ItemsSource="{Binding RecentList}" />\r
-\r
-            <Views:SubPanel x:Name="AppsSubPanel"\r
-                            RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=0.18}"\r
-                            RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width, Factor=1}"\r
-                            RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=0.94}"\r
-                            ItemsSource="{Binding AppList}" />\r
-\r
-            <Views:SubPanel x:Name="SettingsSubPanel"\r
-                            RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=0.18}"\r
-                            RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width, Factor=1}"\r
-                            RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=0.94}"\r
-                            ItemsSource="{Binding SettingsList}" />\r
-        </RelativeLayout>\r
-    </ContentPage.Content>\r
-</ContentPage>
\ No newline at end of file
+<?xml version="1.0" encoding="utf-8" ?>
+<ContentPage x:Class="TVHome.Views.MainPage"
+             xmlns="http://xamarin.com/schemas/2014/forms"
+             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
+             xmlns:Views="clr-namespace:TVHome.Views"
+             xmlns:ViewModels="clr-namespace:TVHome.ViewModels"
+             Appearing="OnAppearing"
+             BackgroundImage="background.jpg">
+    <ContentPage.BackgroundColor>
+        <Color>White</Color>
+    </ContentPage.BackgroundColor>
+    <ContentPage.BindingContext>
+        <ViewModels:MainPageViewModel />
+    </ContentPage.BindingContext>
+    <ContentPage.Content>
+        <RelativeLayout>
+            <BoxView x:Name = "Bg"
+                  RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=1}"
+                  RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width, Factor=1}"
+                  RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=0}"
+                  RelativeLayout.XConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width, Factor=0}"
+                  Color="Black"
+                  Opacity="0.4"/>
+            <Views:MainPanel x:Name="PageMainPanel"
+                             RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=0.22}"
+                             RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width, Factor=0.21875}"
+                             RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=0.6537}"
+                             RelativeLayout.XConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width, Factor=0.390625}"
+                             ItemsSource="{Binding MainList}"/>
+
+            <Views:SubPanel x:Name="RecentSubPanel"
+                            RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=0.18}"
+                            RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width, Factor=1}"
+                            RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=0.94}"
+                            ItemsSource="{Binding RecentList}" />
+
+            <Views:SubPanel x:Name="AppsSubPanel"
+                            RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=0.18}"
+                            RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width, Factor=1}"
+                            RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=0.94}"
+                            ItemsSource="{Binding AppList}" />
+
+            <Views:SubPanel x:Name="SettingsSubPanel"
+                            RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=0.18}"
+                            RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width, Factor=1}"
+                            RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=0.94}"
+                            ItemsSource="{Binding SettingsList}" />
+        </RelativeLayout>
+    </ContentPage.Content>
+</ContentPage>