TV Apps - App In Animation
authorHeonjae Jang <heonjae.jang@samsung.com>
Thu, 23 Mar 2017 06:24:13 +0000 (15:24 +0900)
committerChulSeung Kim <charles0.kim@samsung.com>
Thu, 8 Jun 2017 09:34:49 +0000 (18:34 +0900)
1. Add App In Animation
2. Check StyleCop

Change-Id: Id4a029d64729a81403c2f7da2935792691ba929c

17 files changed:
LibTVRefCommonPortable/DataModels/AppShortcutInfo.cs
LibTVRefCommonPortable/Models/SettingShortcutFactory.cs
LibTVRefCommonTizen/Ports/ElmPort.cs
TVApps/TVApps.TizenTV/TVApps.TizenTV.cs
TVApps/TVApps/Controls/AppItemCell.xaml.cs
TVApps/TVApps/Controls/AppListView.xaml.cs
TVApps/TVApps/TVApps.csproj
TVApps/TVApps/ViewModels/AppsHolder.cs
TVApps/TVApps/Views/MainPage.xaml
TVApps/TVApps/Views/MainPage.xaml.cs
TVHome/TVHome.TizenTV/bin/Debug/TVHome.TizenTV.tpk
TVHome/TVHome/Controls/MainPanelButton.xaml.cs
TVHome/TVHome/TVHome.csproj
TVHome/TVHome/ViewModels/MainPageViewModel.cs
TVHome/TVHome/Views/MainPage.xaml.cs
TVHome/TVHome/Views/MainPanel.xaml.cs
TVHome/TVHome/Views/SubThumbnailPanel.xaml.cs

index 865203356bdd63d2120231c48d96ad8f1ee417d7..2e369c2067fbc61c8913988c4e036f288c01dbe4 100644 (file)
@@ -90,7 +90,7 @@ namespace LibTVRefCommonPortable.DataModels
         }
 
         [XmlIgnore]
-        private bool isFocused { get; set; }
+        private bool isFocused;
 
         [XmlIgnore]
         public bool IsFocused
index 4830e32b37a57cd0aba4cc574b47e78f6dda13af..64a325ff2e52e3f1a4f1d1ada67786a15c077191 100755 (executable)
@@ -43,7 +43,8 @@ namespace LibTVRefCommonPortable.Models
                                 {
                                     Label = "Settings",
                                     IconPath = "ic_tizen_home_menu_settings_selected.png",
-                                    Action = new AppControlAction() {
+                                    Action = new AppControlAction()
+                                    {
                                         AppID = "org.tizen.settings"
                                     },
                                 }
index d1b55101663500d96ca55f00089d000603041e3c..46eb65e1419ec6873bd21948cb3c3d25644f93cc 100644 (file)
@@ -26,30 +26,30 @@ namespace LibTVRefCommonTizen.Ports
             internal delegate bool EcoreEventHanlderCallback(IntPtr data, int type, IntPtr ei);
 
             [DllImport("libelementary.so.1", EntryPoint = "elm_win_keygrab_set", CallingConvention = CallingConvention.Cdecl)]
-            internal static extern IntPtr elm_win_keygrab_set(IntPtr obj, string key, ulong modifiers, ulong  not_modifiers, int proirity, int grab_mode);
+            internal static extern IntPtr Elm_win_keygrab_set(IntPtr obj, string key, ulong modifiers, ulong not_modifiers, int proirity, int grab_mode);
 
             [DllImport("libelementary.so.1", EntryPoint = "elm_win_iconified_set", CallingConvention = CallingConvention.Cdecl)]
-            internal static extern void elm_win_iconified_set(IntPtr obj, bool iconified);
+            internal static extern void Elm_win_iconified_set(IntPtr obj, bool iconified);
 
             [DllImport("libelementary.so.1", EntryPoint = "elm_win_iconified_get", CallingConvention = CallingConvention.Cdecl)]
-            internal static extern bool elm_win_iconified_get(IntPtr obj);
+            internal static extern bool Elm_win_iconified_get(IntPtr obj);
         }
 
         public static void SetKeyGrabExclusively(IntPtr window, string key)
         {
             DebuggingPort.D("Grab Key Event for :" + key);
-            Elm.elm_win_keygrab_set(window, key, 0, 0, 0, 1024);
+            Elm.Elm_win_keygrab_set(window, key, 0, 0, 0, 1024);
         }
 
         public static void SetIconified(IntPtr window, bool iconified)
         {
             DebuggingPort.D("Iconified :" + iconified);
-            Elm.elm_win_iconified_set(window, iconified);
+            Elm.Elm_win_iconified_set(window, iconified);
         }
 
         public static bool GetIconified(IntPtr window)
         {
-            return Elm.elm_win_iconified_get(window);
+            return Elm.Elm_win_iconified_get(window);
         }
     }
 }
index 050b7e5cfea53256d686610359193977dd6b6070..5e60de05e7af669b8d4cb3bccf561c0b73318bac 100644 (file)
@@ -39,6 +39,7 @@ namespace TVApps.TizenTV
             get;
             private set;
         }
+
         private void CallbackForKeyGrab(Object state)
         {
             MainWindow.KeyGrab(ElmSharp.EvasKeyEventArgs.PlatformMenuButtonName, true);
index 0016b6a8716a0bb814bc9400d7f2fded8c145858..eefe437cc4d8a20f6edf4f86983cf98a1ae44848 100755 (executable)
@@ -112,7 +112,7 @@ namespace TVApps.Controls
             }
             else if (e.PropertyName.CompareTo("IsShowOptions") == 0)
             {
-                changeDefaultIconSize();
+                ChangeDefaultIconSize();
 
                 if (IsShowOptions)
                 {
@@ -142,7 +142,7 @@ namespace TVApps.Controls
             }
         }
 
-        public void changeDefaultIconSize()
+        public void ChangeDefaultIconSize()
         {
             ButtonImage.ScaleTo(1.0, 50);
             ButtonImage.TranslateTo(0.0, 0.0, 100);
@@ -151,7 +151,7 @@ namespace TVApps.Controls
 
         public void ShowOptionMenu()
         {
-            changeDefaultIconSize();
+            ChangeDefaultIconSize();
 
             ButtonImage.TranslateTo(0, -90, 100);
             TextArea.TranslateTo(0, -90, 100);
@@ -161,7 +161,7 @@ namespace TVApps.Controls
 
         public void HideOptionMenu()
         {
-            changeDefaultIconSize();
+            ChangeDefaultIconSize();
 
             ButtonImage.TranslateTo(0, 0, 100);
             TextArea.TranslateTo(0, 0, 100);
index e607abc2637009ccf88ccc7f783523ce48af0004..b9776923ad6f87296a7b233cf39131d8408427b7 100644 (file)
@@ -128,8 +128,6 @@ namespace TVApps.Controls
                 AppCount = AppCount + 1;
             }
             //}
-
-            InitializeFocus();
         }
 
         private async void ScrollToIndex(int index)
index ddb624930da2193e8b9ec940c7565c0746ee3969..e0f8edbe2d2e79a7432b06184fa85a70e80221e7 100644 (file)
   <ItemGroup>
     <None Include="packages.config" />
   </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\..\LibTVRefCommonPortable\LibTVRefCommonPortable.csproj">
-      <Project>{67F9D3A8-F71E-4428-913F-C37AE82CDB24}</Project>
-      <Name>LibTVRefCommonPortable</Name>
-    </ProjectReference>
-  </ItemGroup>
   <ItemGroup>
     <EmbeddedResource Include="Views\FooterDeleteStatus.xaml">
       <Generator>MSBuild:UpdateDesignTimeXaml</Generator>
       <SubType>Designer</SubType>
     </EmbeddedResource>
   </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\..\LibTVRefCommonPortable\LibTVRefCommonPortable.csproj">
+      <Project>{67f9d3a8-f71e-4428-913f-c37ae82cdb24}</Project>
+      <Name>LibTVRefCommonPortable</Name>
+    </ProjectReference>
+  </ItemGroup>
   <Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />
   <Import Project="..\..\packages\Xamarin.Forms.2.3.3.193\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+Xamarin.iOS10+xamarinmac20\Xamarin.Forms.targets" Condition="Exists('..\..\packages\Xamarin.Forms.2.3.3.193\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+Xamarin.iOS10+xamarinmac20\Xamarin.Forms.targets')" />
   <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
index fd468130b289e50e3cd0f4250cb07b05b94b213e..2cb4e0916c75ab5c4cf66d57c4966e4b12b53cd0 100644 (file)
@@ -221,6 +221,7 @@ namespace TVApps.ViewModels
                         {
                             item.IsDim = true;
                         }
+
                         break;
                     case AppsStatus.Delete:
                         item.IsChecked = false;
index 459ccd9bce70e4dac2fcb147e763fc92a8f5f8fa..143fa9edede98655559960184ccb1b69a8ad470a 100755 (executable)
              x:Class="TVApps.Views.MainPage"
              BackgroundColor="#000000"
              CurrentStatus="{Binding CurrentStatus}">
-  <ContentPage.BindingContext>
-    <ViewModels:MainPageViewModel />
-  </ContentPage.BindingContext>
+    <ContentPage.BindingContext>
+        <ViewModels:MainPageViewModel />
+    </ContentPage.BindingContext>
 
-  <ContentPage.Resources>
-    <ResourceDictionary>
-      <Style x:Key="titleText" TargetType="Label" >
-        <Setter Property="FontSize" Value="187" />
-        <Setter Property="TextColor" Value="#FFFFFF" />
-        <Setter Property="FontFamily" Value="Breeze Sans Regular" />
-      </Style>
-      <Style x:Key="backKeyInfoText" TargetType="Label" >
-        <Setter Property="FontSize" Value="62" />
-        <Setter Property="TextColor" Value="#99FFFFFF" />
-        <Setter Property="FontFamily" Value="Breeze Sans Regular" />
-      </Style>
-      <Style x:Key="buttonTextNormal" TargetType="Label" >
-        <Setter Property="FontSize" Value="62" />
-        <Setter Property="TextColor" Value="#F7F7F7" />
-        <Setter Property="FontFamily" Value="Breeze Sans Regular" />
-      </Style>
-      <Style x:Key="buttonTextPressed" TargetType="Label" >
-        <Setter Property="FontSize" Value="62" />
-        <Setter Property="TextColor" Value="#F7F7F708" />
-        <Setter Property="FontFamily" Value="Breeze Sans Regular" />
-      </Style>
-      <Style x:Key="pinnedText" TargetType="Label" >
-        <Setter Property="FontSize" Value="50" />
-        <Setter Property="TextColor" Value="#F7F7F7" />
-        <Setter Property="FontFamily" Value="Breeze Sans Regular" />
-      </Style>
+    <ContentPage.Resources>
+        <ResourceDictionary>
+            <Style x:Key="titleText" TargetType="Label" >
+                <Setter Property="FontSize" Value="187" />
+                <Setter Property="TextColor" Value="#FFFFFF" />
+                <Setter Property="FontFamily" Value="Breeze Sans Regular" />
+            </Style>
+            <Style x:Key="backKeyInfoText" TargetType="Label" >
+                <Setter Property="FontSize" Value="62" />
+                <Setter Property="TextColor" Value="#99FFFFFF" />
+                <Setter Property="FontFamily" Value="Breeze Sans Regular" />
+            </Style>
+            <Style x:Key="buttonTextNormal" TargetType="Label" >
+                <Setter Property="FontSize" Value="62" />
+                <Setter Property="TextColor" Value="#F7F7F7" />
+                <Setter Property="FontFamily" Value="Breeze Sans Regular" />
+            </Style>
+            <Style x:Key="buttonTextPressed" TargetType="Label" >
+                <Setter Property="FontSize" Value="62" />
+                <Setter Property="TextColor" Value="#F7F7F708" />
+                <Setter Property="FontFamily" Value="Breeze Sans Regular" />
+            </Style>
+            <Style x:Key="pinnedText" TargetType="Label" >
+                <Setter Property="FontSize" Value="50" />
+                <Setter Property="TextColor" Value="#F7F7F7" />
+                <Setter Property="FontFamily" Value="Breeze Sans Regular" />
+            </Style>
 
-      <Style x:Key="button" TargetType="Button">
-        <Setter Property="BorderColor" Value="#FFFFFF"/>
-        <Setter Property="HeightRequest" Value="40"/>
-        <Setter Property="BorderWidth" Value="2" />
-        <Setter Property="HorizontalOptions" Value="Center"/>
-        <Setter Property="BackgroundColor" Value="Transparent"/>
-      </Style>
-    </ResourceDictionary>
-  </ContentPage.Resources>
+            <Style x:Key="button" TargetType="Button">
+                <Setter Property="BorderColor" Value="#FFFFFF"/>
+                <Setter Property="HeightRequest" Value="40"/>
+                <Setter Property="BorderWidth" Value="2" />
+                <Setter Property="HorizontalOptions" Value="Center"/>
+                <Setter Property="BackgroundColor" Value="Transparent"/>
+            </Style>
+        </ResourceDictionary>
+    </ContentPage.Resources>
 
-  <Grid>
-    <Grid.RowDefinitions>
-      <RowDefinition Height="95*" />
-      <RowDefinition Height="329*" />
-      <RowDefinition Height="52*" />
-      <RowDefinition Height="64*" />
-    </Grid.RowDefinitions>
-    <Grid.RowSpacing>0</Grid.RowSpacing>
-    <Grid.ColumnSpacing>0</Grid.ColumnSpacing>
+    <Grid>
+        <Grid.RowDefinitions>
+            <RowDefinition Height="95*" />
+            <RowDefinition Height="329*" />
+            <RowDefinition Height="52*" />
+            <RowDefinition Height="64*" />
+        </Grid.RowDefinitions>
+        <Grid.RowSpacing>0</Grid.RowSpacing>
+        <Grid.ColumnSpacing>0</Grid.ColumnSpacing>
 
-    <Label Grid.Row="0"
-             Style="{StaticResource titleText}"
-             HorizontalTextAlignment="Center"
-             VerticalOptions="CenterAndExpand"
-             HorizontalOptions="CenterAndExpand"
-             Text="APPS" />
+        <Label Grid.Row="0"
+                 Style="{StaticResource titleText}"
+                 HorizontalTextAlignment="Center"
+                 VerticalOptions="CenterAndExpand"
+                 HorizontalOptions="CenterAndExpand"
+                 Text="APPS" />
 
-    <Grid Grid.Row="0">
-      <Grid.RowDefinitions>
-        <RowDefinition Height="37*" />
-        <RowDefinition Height="34*" />
-        <RowDefinition Height="29*" />
-      </Grid.RowDefinitions>
+        <Grid Grid.Row="0">
+            <Grid.RowDefinitions>
+                <RowDefinition Height="37*" />
+                <RowDefinition Height="34*" />
+                <RowDefinition Height="29*" />
+            </Grid.RowDefinitions>
 
-      <Grid.ColumnDefinitions>
-        <ColumnDefinition Width="891*" />
-        <ColumnDefinition Width="58*" />
-        <ColumnDefinition Width="50*" />
-      </Grid.ColumnDefinitions>
+            <Grid.ColumnDefinitions>
+                <ColumnDefinition Width="891*" />
+                <ColumnDefinition Width="58*" />
+                <ColumnDefinition Width="50*" />
+            </Grid.ColumnDefinitions>
 
-      <!-- TODO: This StackLayout is temporary code for Long Press test -->
-      <Button Grid.Row="0" Grid.Column="1"
-              Style="{StaticResource button}"
-              Command="{Binding SetLongPressCommand}"
-              CommandParameter="org.tizen.example.TVHome.TizenTV"
-              VerticalOptions="FillAndExpand"
-              HorizontalOptions="FillAndExpand"/>
-      <Button Grid.Row="2" Grid.Column="1"
-              Style="{StaticResource button}"
-              Command="{Binding UnSetLongPressCommand}"
-              VerticalOptions="FillAndExpand"
-              HorizontalOptions="FillAndExpand"/>
+            <!-- TODO: This StackLayout is temporary code for Long Press test -->
+            <Button Grid.Row="0" Grid.Column="1"
+                    Style="{StaticResource button}"
+                    Command="{Binding SetLongPressCommand}"
+                    CommandParameter="org.tizen.example.TVHome.TizenTV"
+                    VerticalOptions="FillAndExpand"
+                    HorizontalOptions="FillAndExpand"/>
+            <Button Grid.Row="2" Grid.Column="1"
+                    Style="{StaticResource button}"
+                    Command="{Binding UnSetLongPressCommand}"
+                    VerticalOptions="FillAndExpand"
+                    HorizontalOptions="FillAndExpand"/>
 
-      <StackLayout Grid.Row="1" Grid.Column="1"
-                   Grid.ColumnSpan="2"
-                   VerticalOptions="FillAndExpand"
-                   HorizontalOptions="StartAndExpand"
-                   Orientation="Horizontal">
-        <Image Source="ic_tizen_apps_additional_back.png"
-               WidthRequest="40"
-               HeightRequest="40"
-               VerticalOptions="Center"/>
-        <Label x:Name="BackKeyInfo"
-               Style="{StaticResource backKeyInfoText}"
-               Margin="6, 0, 0, 0"
-               VerticalOptions="Center"
-               HorizontalOptions="End"
-               HorizontalTextAlignment="Start" />
-      </StackLayout>
-    </Grid>
+            <StackLayout Grid.Row="1" Grid.Column="1"
+                         Grid.ColumnSpan="2"
+                         VerticalOptions="FillAndExpand"
+                         HorizontalOptions="StartAndExpand"
+                         Orientation="Horizontal">
+                <Image Source="ic_tizen_apps_additional_back.png"
+                       WidthRequest="40"
+                       HeightRequest="40"
+                       VerticalOptions="Center"/>
+                <Label x:Name="BackKeyInfo"
+                       Style="{StaticResource backKeyInfoText}"
+                       Margin="6, 0, 0, 0"
+                       VerticalOptions="Center"
+                       HorizontalOptions="End"
+                       HorizontalTextAlignment="Start" />
+            </StackLayout>
+        </Grid>
+
+        <Controls:AppListView x:Name="AppList"
+                              Grid.Row="1"
+                              ItemsSource="{Binding InstalledAppList}">
+            <Controls:AppListView.ItemTemplate>
+                <DataTemplate>
+                    <Controls:AppItemCell/>
+                </DataTemplate>
+            </Controls:AppListView.ItemTemplate>
+        </Controls:AppListView>
 
-    <Controls:AppListView x:Name="AppList"
-                          Grid.Row="1"
-                          ItemsSource="{Binding InstalledAppList}">
-      <Controls:AppListView.ItemTemplate>
-        <DataTemplate>
-          <Controls:AppItemCell/>
-        </DataTemplate>
-      </Controls:AppListView.ItemTemplate>
-    </Controls:AppListView>
+        <Views:FooterNormalStatus Grid.Row="3"
+                                    x:Name="FooterNormal"
+                                    IsVisible="true" />
 
-    <Views:FooterNormalStatus Grid.Row="3"
-                                x:Name="FooterNormal"
-                                IsVisible="true" />
+        <Views:FooterPinStatus Grid.Row="3"
+                                 x:Name="FooterPin"
+                                 IsVisible="false" />
 
-    <Views:FooterPinStatus Grid.Row="3"
-                             x:Name="FooterPin"
-                             IsVisible="false" />
+        <Views:FooterDeleteStatus Grid.Row="3"
+                                   x:Name="FooterDelete"
+                                   IsVisible="false" />
 
-    <Views:FooterDeleteStatus Grid.Row="3"
-                               x:Name="FooterDelete"
-                               IsVisible="false" />
-  </Grid>
+        <BoxView x:Name="PageDimBox"
+                 Color="Black"
+                 Grid.Row="0"
+                 Grid.RowSpan="4"
+                 Grid.Column="0"
+                 Opacity="0.99"/>
+    </Grid>
 </ContentPage>
\ No newline at end of file
index 85611894d924ea12fc2a3ca6e19676315bdf12de..83b8883672558b5e486f2f4e611122d5db073665 100644 (file)
@@ -27,7 +27,7 @@ using TVApps.Controls;
 namespace TVApps.Views
 {
     /// <summary>
-    /// hahaha
+    /// Root Page of TV Apps Application
     /// </summary>
     public partial class MainPage : ContentPage
     {
@@ -38,11 +38,27 @@ namespace TVApps.Views
             set { SetValue(CurrentStatusProperty, value); }
         }
 
+        private async void PlayHideAnimation()
+        {
+            // TODO : Apps Out Animation.
+        }
+
+        private async void PlayShowAnimation()
+        {
+            await AppList.TranslateTo(0, 12, 0);
+            AppList.TranslateTo(0, 0, 667);
+            await PageDimBox.FadeTo(0.0, 667);
+            PageDimBox.IsVisible = false;
+            await Task.Delay(1);
+            AppList.InitializeFocus();
+        }
+
         public MainPage()
         {
             InitializeComponent();
             PropertyChanged += MainPage_PropertyChanged;
             SetCurrntStatus(AppsStatus.Default);
+            PlayShowAnimation();
 
             // TODO: This code is temporary for menu option test
             App.SetMenuKeyListener((e, arg) =>
index 9f19c86293b26fa20361cda8ef0a3809b911319a..eae99de25db77ba0f3475058842d36bff288e3e4 100644 (file)
Binary files a/TVHome/TVHome.TizenTV/bin/Debug/TVHome.TizenTV.tpk and b/TVHome/TVHome.TizenTV/bin/Debug/TVHome.TizenTV.tpk differ
index 21ea12e7a85d4a772d487ef9367a96691039ef6b..42bab993316623e23ca50a68149a9e4e03223fd5 100755 (executable)
@@ -35,13 +35,55 @@ namespace TVHome.Controls
             set { SetValue(StatusProperty, value); }
         }
 
+        private Animation SelectedAnimation;
+        private Animation[] SelectedAnimationFrames;
+
         public MainPanelButton()
         {
             InitializeComponent();
             PropertyChanged += MainPanelButton_PropertyChanged;
         }
 
-        private async void MainPanelButton_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
+        private void SetSelecetedAnimation()
+        {
+            SelectedAnimation = new Animation();
+            SelectedAnimationFrames = new Animation[10];
+            SelectedAnimationFrames[0] = new Animation((v) =>
+            {
+                ButtonBlurImage.Opacity = 0.99;
+            });
+
+            for (int i = 1; i <= 8; i++)
+            {
+                var index = i;
+                SelectedAnimationFrames[i] = new Animation((v) =>
+                {
+                    DebuggingUtils.Dbg("" + index);
+                    ButtonBlurImage.Source = "home_icon_bg_0" + index + ".png";
+                });
+            }
+
+            SelectedAnimationFrames[9] = new Animation((v) =>
+            {
+                ButtonBlurImage.Opacity = 0;
+                ButtonBgImage.Opacity = 0;
+                ButtonTitle.Opacity = 0;
+                ButtonBlurImage.Source = "home_icon_bg_01.png";
+            });
+
+            SelectedAnimation.Add(0.000, 0.001, SelectedAnimationFrames[0]);
+            SelectedAnimation.Add(0.111, 0.112, SelectedAnimationFrames[1]);
+            SelectedAnimation.Add(0.222, 0.223, SelectedAnimationFrames[2]);
+            SelectedAnimation.Add(0.333, 0.334, SelectedAnimationFrames[3]);
+            SelectedAnimation.Add(0.444, 0.445, SelectedAnimationFrames[4]);
+            SelectedAnimation.Add(0.555, 0.556, SelectedAnimationFrames[5]);
+            SelectedAnimation.Add(0.666, 0.667, SelectedAnimationFrames[6]);
+            SelectedAnimation.Add(0.777, 0.778, SelectedAnimationFrames[7]);
+            SelectedAnimation.Add(0.888, 0.889, SelectedAnimationFrames[8]);
+            SelectedAnimation.Add(0.999, 1.000, SelectedAnimationFrames[9]);
+        }
+
+        private void MainPanelButton_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
         {
             if (e.PropertyName.CompareTo("Status") == 0)
             {
@@ -49,49 +91,22 @@ namespace TVHome.Controls
                 switch (Status)
                 {
                     case "selected":
-                        await ButtonBlurImage.FadeTo(0.99, 1);
-                        uint delay = 10;
-                        ButtonBlurImage.Source = "home_icon_bg_01.png";
-                        await ButtonBgImage.FadeTo(0.875, delay);
-
-                        ButtonBlurImage.Source = "home_icon_bg_02.png";
-                        await ButtonBgImage.FadeTo(0.750, delay);
-
-                        ButtonBlurImage.Source = "home_icon_bg_03.png";
-                        await ButtonBgImage.FadeTo(0.625, delay);
-
-                        ButtonBlurImage.Source = "home_icon_bg_04.png";
-                        await ButtonBgImage.FadeTo(0.500, delay);
-
-                        ButtonBlurImage.Source = "home_icon_bg_05.png";
-                        await ButtonBgImage.FadeTo(0.375, delay);
-
-                        ButtonBlurImage.Source = "home_icon_bg_06.png";
-                        await ButtonBgImage.FadeTo(0.250, delay);
-
-                        ButtonBlurImage.Source = "home_icon_bg_07.png";
-                        await ButtonBgImage.FadeTo(0.125, delay);
-
-                        ButtonBlurImage.Source = "home_icon_bg_08.png";
-                        await ButtonBgImage.FadeTo(0.125, delay);
-                        ButtonBgImage.FadeTo(0.0, 1);
-                        ButtonTitle.FadeTo(0.0, 1);
-                        await ButtonBlurImage.FadeTo(0.0, 1);
-                        ButtonBlurImage.Source = "home_icon_bg_01.png";
+                        SetSelecetedAnimation();
+                        SelectedAnimation.Commit(ButtonBlurImage, "SelectedAnimation", 16, 300);
                         break;
                     case "focused":
                         ButtonTitle.FadeTo(0.8, 100);
                         ButtonBgImage.FadeTo(0.99, 100);
                         ButtonBgImage.ScaleTo(1.0, 100);
                         ButtonBlurImage.ScaleTo(1.0, 100);
-                        await View.FadeTo(0.6, 100);
+                        View.FadeTo(0.6, 100);
                         break;
                     default:
                         ButtonTitle.FadeTo(0, 100);
                         ButtonBgImage.FadeTo(0, 100);
                         ButtonBgImage.ScaleTo(0.01, 100);
                         ButtonBlurImage.ScaleTo(0.01, 100);
-                        await View.FadeTo(0.3, 100);
+                        View.FadeTo(0.3, 100);
                         break;
                 }
 #pragma warning restore CS4014
index 3666af1a7e9001f15cf347cf5affc66833f465a3..f53ff2a13c7ef77961fa20db2ddaeb6d1a8ab096 100755 (executable)
       <SubType>Designer</SubType>\r
     </EmbeddedResource>\r
   </ItemGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\..\LibTVRefCommonPortable\LibTVRefCommonPortable.csproj">\r
-      <Project>{67f9d3a8-f71e-4428-913f-c37ae82cdb24}</Project>\r
-      <Name>LibTVRefCommonPortable</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
   <ItemGroup>\r
     <EmbeddedResource Include="Controls\SubPanelReservedButton.xaml">\r
       <Generator>MSBuild:UpdateDesignTimeXaml</Generator>\r
       <SubType>Designer</SubType>\r
     </EmbeddedResource>\r
   </ItemGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="..\..\LibTVRefCommonPortable\LibTVRefCommonPortable.csproj">\r
+      <Project>{67f9d3a8-f71e-4428-913f-c37ae82cdb24}</Project>\r
+      <Name>LibTVRefCommonPortable</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
   <Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />\r
   <Import Project="..\..\packages\Xamarin.Forms.2.3.3.193\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+Xamarin.iOS10+xamarinmac20\Xamarin.Forms.targets" Condition="Exists('..\..\packages\Xamarin.Forms.2.3.3.193\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+Xamarin.iOS10+xamarinmac20\Xamarin.Forms.targets')" />\r
   <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">\r
index ba4522b368ebcbbdd2199e9ac94adc239658d8c6..5221cdc2420855ab0eadf7c25a39e6ef55bb5903 100755 (executable)
@@ -58,7 +58,7 @@ namespace TVHome.ViewModels
         public HomeStatus CurrentStatus { get; private set; }
         public HomeMenuItem SelectedMenuName { get; private set; }
 
-        public bool IsShowNoRecentContents { get; set;}
+        public bool IsShowNoRecentContents { get; set; }
 
         public event PropertyChangedEventHandler PropertyChanged;
 
@@ -219,6 +219,7 @@ namespace TVHome.ViewModels
             {
                 IsShowNoRecentContents = true;
             }
+
             OnPropertyChanged("IsShowNoRecentContents");
         }
 
index 62e30d336df693aab04523083f24490b8615646e..755f08b2d04b8b4bf7ed60d1759f42d461709f44 100755 (executable)
@@ -28,7 +28,7 @@ using System.Linq;
 namespace TVHome.Views
 {
     /// <summary>
-    /// Root Page of Application
+    /// Root Page of TV Home Application
     /// </summary>
     public partial class MainPage : ContentPage
     {
@@ -81,6 +81,7 @@ namespace TVHome.Views
                 {
                     PlayHideAnimation();
                 }
+
                 Iconified = !Iconified;
             });
 
index becc9f677232bf910c844631d4ef725c672892db..06192078f06d0fff4646e351cd1d7989ab79e6e0 100644 (file)
@@ -56,7 +56,6 @@ namespace TVHome.Views
                 HomeMenuItem ItemName = menuIndex;
                 button.OnFocusedCommand = new Command(() =>
                 {
-                    PanelButtonGrid.RaiseChild(button.View);
                     FocusPanel();
                     OnFocusedCommand.Execute(ItemName);
                 });
@@ -69,6 +68,7 @@ namespace TVHome.Views
                 index++;
                 menuIndex++;
             }
+
             PanelButtonGrid.ForceLayout();
         }
 
index 2f8cf92ef7230e619046656e1d2320703109b1e4..49c8fc17001236241aafa7768c096fcc05b62559 100755 (executable)
@@ -37,6 +37,7 @@ namespace TVHome.Views
             get { return (bool)GetValue(ShowNoContentsInfoProperty); }
             set { SetValue(ShowNoContentsInfoProperty, value); }
         }
+
         public SubThumbnailPanel()
         {
             InitializeComponent();