Mediahub Video/Image/Music Tab focus chain changed. 34/138834/2
authorJH Choi <jjie.choi@samsung.com>
Fri, 14 Jul 2017 03:18:00 +0000 (12:18 +0900)
committerJH Choi <jjie.choi@samsung.com>
Fri, 14 Jul 2017 06:58:32 +0000 (15:58 +0900)
Change-Id: Ie09ee6372fe00dff29894aa627d0b5dd7062bd2a
Signed-off-by: JH Choi <jjie.choi@samsung.com>
TVMediaHub/TVMediaHub.Tizen/Views/ImageGroup.xaml.cs
TVMediaHub/TVMediaHub.Tizen/Views/ImageTab.xaml.cs
TVMediaHub/TVMediaHub.Tizen/Views/MusicGroup.xaml.cs
TVMediaHub/TVMediaHub.Tizen/Views/MusicTab.xaml.cs
TVMediaHub/TVMediaHub.Tizen/Views/VideoGroup.xaml.cs
TVMediaHub/TVMediaHub.Tizen/Views/VideoTab.xaml.cs

index f87f44f..e335222 100755 (executable)
@@ -274,9 +274,16 @@ namespace TVMediaHub.Tizen.Views
                 }
 
                 // Right
-                if (column != lastColumn && (i + 3) < ChildrenFocusList.Count)
+                if (column != lastColumn)
                 {
-                    target.On<Xamarin.Forms.PlatformConfiguration.Tizen>().SetNextFocusRightView(ChildrenFocusList[i + 3]);
+                    if((i + 3) < ChildrenFocusList.Count)
+                    {
+                        target.On<Xamarin.Forms.PlatformConfiguration.Tizen>().SetNextFocusRightView(ChildrenFocusList[i + 3]);
+                    }
+                    else
+                    {
+                        target.On<Xamarin.Forms.PlatformConfiguration.Tizen>().SetNextFocusRightView(ChildrenFocusList[ChildrenFocusList.Count - 1]);
+                    }
                 }
                 else
                 {
@@ -331,16 +338,6 @@ namespace TVMediaHub.Tizen.Views
             {
                 RightFocusList.Add(ChildrenFocusList[i]);
             }
-
-            if (lastItemColumn != 0 && lastItemRow != 2)
-            {
-                var tempFrom = (lastItemColumn - 1) * 3 + lastItemRow + 1;
-                var tempTo = (lastItemColumn - 1) * 3 + 2;
-                for (var i = tempFrom; i <= tempTo; i++)
-                {
-                    RightFocusList.Add(ChildrenFocusList[i]);
-                }
-            }
         }
 
         /// <summary>
index da44b5b..e7ed02b 100755 (executable)
@@ -361,13 +361,13 @@ namespace TVMediaHub.Tizen.Views
                     }
                 };
 
-                galleryGroup.BindingContext = group;
                 galleryGroup.SetClickCommand(OnClickCommand);
                 galleryGroup.ContextPopupItemSelectedHandler += (info, item) =>
                 {
                     ShowPopup(info, item);
                 };
                 GalleryContentView.Children.Add(galleryGroup);
+                galleryGroup.BindingContext = group;
                 ImageGroupList.Add(galleryGroup);
 
                 galleryGroup.GetTitleFocusArea().Focused += (se, ev) =>
@@ -396,6 +396,24 @@ namespace TVMediaHub.Tizen.Views
                         leftList[i].On<Xamarin.Forms.PlatformConfiguration.Tizen>().SetNextFocusRightView(rightList[i]);
                         rightList[i].On<Xamarin.Forms.PlatformConfiguration.Tizen>().SetNextFocusLeftView(leftList[i]);
                     }
+                    if (leftList.Count != rightList.Count)
+                    {
+
+                        if (leftList.Count > rightList.Count)
+                        {
+                            for (var i = rightList.Count; i < leftList.Count; i++)
+                            {
+                                leftList[i].On<Xamarin.Forms.PlatformConfiguration.Tizen>().SetNextFocusRightView(rightList[rightList.Count - 1]);
+                            }
+                        }
+                        else
+                        {
+                            for (var i = leftList.Count; i < rightList.Count; i++)
+                            {
+                                rightList[i].On<Xamarin.Forms.PlatformConfiguration.Tizen>().SetNextFocusLeftView(leftList[leftList.Count - 1]);
+                            }
+                        }
+                    }
                 }
             }
             else if (e.Action.ToString().Equals("Reset"))
index 0e221f6..e246b74 100755 (executable)
@@ -224,9 +224,16 @@ namespace TVMediaHub.Tizen.Views
                 }
 
                 // Right
-                if (column != lastColumn && (i + 4) < ChildrenFocusList.Count)
+                if (column != lastColumn)
                 {
-                    target.On<Xamarin.Forms.PlatformConfiguration.Tizen>().SetNextFocusRightView(ChildrenFocusList[i + 4]);
+                    if((i + 4) < ChildrenFocusList.Count)
+                    {
+                        target.On<Xamarin.Forms.PlatformConfiguration.Tizen>().SetNextFocusRightView(ChildrenFocusList[i + 4]);
+                    }
+                    else
+                    {
+                        target.On<Xamarin.Forms.PlatformConfiguration.Tizen>().SetNextFocusRightView(ChildrenFocusList[ChildrenFocusList.Count - 1]);
+                    }
                 }
                 else
                 {
@@ -277,16 +284,6 @@ namespace TVMediaHub.Tizen.Views
             {
                 RightFocusList.Add(ChildrenFocusList[i]);
             }
-
-            if (lastItemColumn != 0 && lastItemRow != 3)
-            {
-                var tempFrom = (lastItemColumn - 1) * 4 + lastItemRow + 1;
-                var tempTo = (lastItemColumn - 1) * 4 + 4;
-                for (var i = tempFrom; i <= tempTo; i++)
-                {
-                    RightFocusList.Add(ChildrenFocusList[i]);
-                }
-            }
         }
 
         /// <summary>
index ba6ae7e..61193ea 100755 (executable)
@@ -327,6 +327,24 @@ namespace TVMediaHub.Tizen.Views
                         leftList[i].On<Xamarin.Forms.PlatformConfiguration.Tizen>().SetNextFocusRightView(rightList[i]);
                         rightList[i].On<Xamarin.Forms.PlatformConfiguration.Tizen>().SetNextFocusLeftView(leftList[i]);
                     }
+                    if(leftList.Count != rightList.Count)
+                    {
+
+                        if(leftList.Count > rightList.Count)
+                        {
+                            for(var i = rightList.Count; i< leftList.Count; i++)
+                            {
+                                leftList[i].On<Xamarin.Forms.PlatformConfiguration.Tizen>().SetNextFocusRightView(rightList[rightList.Count - 1]);
+                            }
+                        }
+                        else
+                        {
+                            for(var i = leftList.Count; i<rightList.Count; i++)
+                            {
+                                rightList[i].On<Xamarin.Forms.PlatformConfiguration.Tizen>().SetNextFocusLeftView(leftList[leftList.Count - 1]);
+                            }
+                        }
+                    }
                 }
                 else
                 {
index ebc6a72..90532d5 100755 (executable)
@@ -311,9 +311,16 @@ namespace TVMediaHub.Tizen.Views
                 }
 
                 // Right
-                if (column != lastColumn && (i + 3) < ChildrenFocusList.Count)
+                if (column != lastColumn)
                 {
-                    target.On<Xamarin.Forms.PlatformConfiguration.Tizen>().SetNextFocusRightView(ChildrenFocusList[i + 3]);
+                    if ((i + 3) < ChildrenFocusList.Count)
+                    {
+                        target.On<Xamarin.Forms.PlatformConfiguration.Tizen>().SetNextFocusRightView(ChildrenFocusList[i + 3]);
+                    }
+                    else
+                    {
+                        target.On<Xamarin.Forms.PlatformConfiguration.Tizen>().SetNextFocusRightView(ChildrenFocusList[ChildrenFocusList.Count - 1]);
+                    }
                 }
                 else
                 {
@@ -368,16 +375,6 @@ namespace TVMediaHub.Tizen.Views
             {
                 RightFocusList.Add(ChildrenFocusList[i]);
             }
-
-            if (lastItemColumn != 0 && lastItemRow != 2)
-            {
-                var tempFrom = (lastItemColumn - 1) * 3 + lastItemRow + 1;
-                var tempTo = (lastItemColumn - 1) * 3 + 2;
-                for (var i = tempFrom; i <= tempTo; i++)
-                {
-                    RightFocusList.Add(ChildrenFocusList[i]);
-                }
-            }
         }
 
         /// <summary>
index 68df208..95e95f8 100755 (executable)
@@ -352,7 +352,6 @@ namespace TVMediaHub.Tizen.Views
                 };
 
                 var GroupItem = e.NewItems[0];
-                groupView.BindingContext = GroupItem;
                 groupView.SetClickCommand(OnClickCommand);
                 groupView.ContextPopupItemSelectedHandler += (info, item) =>
                 {
@@ -360,6 +359,7 @@ namespace TVMediaHub.Tizen.Views
                 };
 
                 VideoTabList.Children.Add(groupView);
+                groupView.BindingContext = GroupItem;
                 VideoGroupList.Add(groupView);
 
                 groupView.GroupTitleFocusArea.Focused += (se, ev) =>
@@ -392,6 +392,24 @@ namespace TVMediaHub.Tizen.Views
                         leftList[i].On<Xamarin.Forms.PlatformConfiguration.Tizen>().SetNextFocusRightView(rightList[i]);
                         rightList[i].On<Xamarin.Forms.PlatformConfiguration.Tizen>().SetNextFocusLeftView(leftList[i]);
                     }
+                    if (leftList.Count != rightList.Count)
+                    {
+
+                        if (leftList.Count > rightList.Count)
+                        {
+                            for (var i = rightList.Count; i < leftList.Count; i++)
+                            {
+                                leftList[i].On<Xamarin.Forms.PlatformConfiguration.Tizen>().SetNextFocusRightView(rightList[rightList.Count - 1]);
+                            }
+                        }
+                        else
+                        {
+                            for (var i = leftList.Count; i < rightList.Count; i++)
+                            {
+                                rightList[i].On<Xamarin.Forms.PlatformConfiguration.Tizen>().SetNextFocusLeftView(leftList[leftList.Count - 1]);
+                            }
+                        }
+                    }
                 }
             }
             else if (e.Action.ToString().Equals("Reset"))