Archived
1
0

Optimizing and refactoring pt.2

This commit is contained in:
Michael Gordeev
2019-02-09 19:50:15 +03:00
parent cc49cf9966
commit be2418409f
9 changed files with 74 additions and 67 deletions
+16
View File
@@ -129,5 +129,21 @@ namespace FoxTube
Channel = channelId;
Filter = filters;
}
public override string ToString()
{
return $@"Term: {Term}
Channel id: {Channel}
Filters:
Order: {Filter.Order}
Type: {Filter.Type}
Date: {Filter.Date}
Duration: {Filter.Duration}
HD: {Filter.HD}
3D: {Filter.Is3D}
Event type: {Filter.LiveEvent}
CC: {Filter.Captions}
License: {Filter.CreativeCommons}";
}
}
}
+6 -2
View File
@@ -141,8 +141,12 @@ namespace FoxTube
#endregion
#region Retrieving user's data
WatchLater = await Methods.GetLater();
History = await Methods.GetHistory();
try
{
WatchLater = await Methods.GetLater();
History = await Methods.GetHistory();
}
catch { }
var request = Service.Channels.List("snippet,contentDetails");
request.Mine = true;
+18 -35
View File
@@ -8,6 +8,7 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:pages="using:FoxTube.Pages"
xmlns:controls="using:FoxTube.Controls"
xmlns:Windows10version1809="http://schemas.microsoft.com/winfx/2006/xaml/presentation?IsApiContractPresent(Windows.Foundation.UniversalApiContract, 7)"
mc:Ignorable="d">
<Grid Name="grid" Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
@@ -19,8 +20,10 @@
<Pivot SelectedIndex="0" Name="content" IsHeaderItemsCarouselEnabled="False" SelectionChanged="Content_SelectionChanged">
<PivotItem x:Uid="/Channel/videos" Header="Videos">
<ScrollViewer>
<StackPanel Name="videos">
<Image Name="channelCover" Stretch="Uniform" Source="/Assets/ChannelCoverTemplate.png"/>
<ScrollViewer.Background>
<ImageBrush ImageSource="/Assets/ChannelCoverTemplate.png" x:Name="channelCover" Stretch="Uniform" AlignmentY="Top"/>
</ScrollViewer.Background>
<StackPanel Name="videos" Background="{ThemeResource AppBarBackgroundThemeBrush}" Margin="0,310,0,0" Visibility="Visible">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="120"/>
@@ -63,46 +66,26 @@
<ScrollViewer>
<StackPanel Margin="10">
<TextBlock x:Uid="/Channel/aboutTitle" FontSize="28" Text="About this channel"/>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="auto"/>
</Grid.ColumnDefinitions>
<StackPanel>
<TextBlock x:Uid="/Channel/desc" FontSize="24" Text="Description"/>
<TextBlock Name="description" Margin="0,10,0,0" TextWrapping="WrapWholeWords" IsTextSelectionEnabled="True"/>
</StackPanel>
<Grid Grid.Column="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto"/>
<ColumnDefinition Width="10"/>
<ColumnDefinition Width="auto"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
</Grid.RowDefinitions>
<TextBlock x:Uid="/Channel/stats" FontSize="24" Text="Statistics"/>
<TextBlock x:Uid="/Channel/regDate" Text="Registration date:" Grid.Row="1"/>
<TextBlock Grid.Row="1" Grid.Column="2" Name="registration" Text="13-May-18" HorizontalAlignment="Right"/>
<TextBlock x:Uid="/Channel/views" Grid.Row="2" Text="Views"/>
<TextBlock Grid.Row="2" Grid.Column="2" Name="views" Text="1885510485" HorizontalAlignment="Right"/>
</Grid>
</Grid>
<TextBlock Name="description" TextWrapping="WrapWholeWords" IsTextSelectionEnabled="True"/>
</StackPanel>
</ScrollViewer>
</PivotItem>
<Pivot.RightHeader>
<AutoSuggestBox x:Uid="/Channel/search" VerticalAlignment="Center" Width="250" Margin="8" PlaceholderText="Search on channel" QueryIcon="Find" Name="search" QuerySubmitted="AutoSuggestBox_QuerySubmitted"/>
<StackPanel Orientation="Horizontal">
<StackPanel Orientation="Horizontal" Name="ColapsedHeader" Opacity="0">
<Windows10version1809:StackPanel.OpacityTransition>
<ScalarTransition/>
</Windows10version1809:StackPanel.OpacityTransition>
<PersonPicture Height="32"/>
<TextBlock Text="Channel name" VerticalAlignment="Center" Margin="10,0"/>
<Button Background="Red" Foreground="White" FontWeight="SemiBold" Content="Subscribe" Width="150" Padding="2"/>
</StackPanel>
<AutoSuggestBox x:Uid="/Channel/search" VerticalAlignment="Center" Width="250" Margin="8" PlaceholderText="Search on channel" QueryIcon="Find" Name="search" QuerySubmitted="AutoSuggestBox_QuerySubmitted"/>
</StackPanel>
</Pivot.RightHeader>
</Pivot>
<CommandBar Grid.Row="1" VerticalAlignment="Bottom" Name="commandBar">
<AppBarButton x:Uid="/Channel/openWeb" Icon="Globe" Label="Open in browser" Name="inBrowser" Click="InBrowser_Click"/>
<AppBarButton x:Uid="/Channel/refresh" Icon="Refresh" Label="Refresh" Name="refresh" Click="Refresh_Click"/>
+3 -5
View File
@@ -44,10 +44,10 @@ namespace FoxTube.Pages
loading = grid.Children[2] as LoadingPage;
playlistLoading = playlists.Children[1] as LoadingPage;
videoList = videos.Children[2] as VideoGrid;
videoList = videos.Children[1] as VideoGrid;
playlistList = (playlists.Children[0] as StackPanel).Children[1] as VideoGrid;
videoMore = videos.Children[3] as ShowMore;
videoMore = videos.Children[2] as ShowMore;
playlistMore = (playlists.Children[0] as StackPanel).Children[2] as ShowMore;
loading.RefreshPage += Refresh_Click;
@@ -88,15 +88,13 @@ namespace FoxTube.Pages
{
if (item.BrandingSettings.Image.BannerImageUrl.Contains("default"))
throw new Exception("Default channel cover detected");
channelCover.Source = new BitmapImage(new Uri(item.BrandingSettings.Image.BannerImageUrl));
channelCover.ImageSource = new BitmapImage(new Uri(item.BrandingSettings.Image.BannerImageUrl));
}
catch { }
try { avatar.ProfilePicture = new BitmapImage(new Uri(item.Snippet.Thumbnails.Medium.Url)); }
catch { }
Methods.FormatText(ref description, item.Snippet.Description);
views.Text = $"{item.Statistics.ViewCount:0,0}";
registration.Text = item.Snippet.PublishedAt.ToString();
videoRequest = SecretsVault.Service.Search.List("id");
videoRequest.ChannelId = id;
+6 -3
View File
@@ -328,7 +328,8 @@ namespace FoxTube
if ((videoPlaceholder.Content as VideoPage).loading.State != LoadingState.Loaded)
CloseVideo();
else
Methods.Try(() => (videoPlaceholder.Content as VideoPage).player.minimize_Click(this, null));
try { headers[content.SourcePageType](); }
catch { }
}
public void MinimizeVideo()
@@ -346,7 +347,8 @@ namespace FoxTube
SetNavigationMenu();
Methods.Try(headers[content.SourcePageType]);
try { headers[content.SourcePageType](); }
catch { }
}
void SetNavigationMenu()
@@ -461,7 +463,8 @@ namespace FoxTube
public void Content_Navigated(object sender, NavigationEventArgs e)
{
Methods.Try(headers[e.SourcePageType]);
try { headers[e.SourcePageType](); }
catch { }
if (s == Sender.None)
{
+3 -3
View File
@@ -60,13 +60,13 @@
<local:VideoGrid Grid.Column="1" Grid.Row="1"/>
</Grid>
</ScrollViewer>
<CommandBar Grid.Row="2" Grid.ColumnSpan="2">
<CommandBar Grid.Row="2">
<AppBarButton x:Uid="/Playlist/openWeb" Icon="Globe" Label="Open in browser" Name="inBrowser" Click="inBrowser_Click"/>
<AppBarButton x:Uid="/Playlist/addTo" Icon="Add" Label="Add to" IsEnabled="False" Visibility="Collapsed">
<AppBarButton.Flyout>
<MenuFlyout>
</MenuFlyout>
</AppBarButton.Flyout>
</AppBarButton>
+5 -9
View File
@@ -63,15 +63,11 @@ namespace FoxTube.Pages
channelName.Text = item.Snippet.ChannelTitle;
try
{
thumbnail.Source = new BitmapImage(new Uri(item.Snippet.Thumbnails.Medium.Url));
ChannelsResource.ListRequest channelRequest = SecretsVault.Service.Channels.List("snippet");
channelRequest.Id = item.Snippet.ChannelId;
Channel channel = (await channelRequest.ExecuteAsync()).Items[0];
avatar.ProfilePicture = new BitmapImage(new Uri(channel.Snippet.Thumbnails.Medium.Url));
}
catch { }
thumbnail.Source = new BitmapImage(item.Snippet.Thumbnails.Medium.Url.ToUri());
ChannelsResource.ListRequest channelRequest = SecretsVault.Service.Channels.List("snippet");
channelRequest.Id = item.Snippet.ChannelId;
Channel channel = (await channelRequest.ExecuteAsync()).Items[0];
avatar.ProfilePicture = new BitmapImage(channel.Snippet.Thumbnails.Medium.Url.ToUri());
PlaylistItemsResource.ListRequest listRequest = SecretsVault.Service.PlaylistItems.List("contentDetails");
listRequest.PlaylistId = id;
+2 -2
View File
@@ -72,11 +72,11 @@
</StackPanel>
</ScrollViewer>
<CommandBar Grid.Row="1" DefaultLabelPosition="Right">
<CommandBar Grid.Row="1">
<AppBarButton Label="Open in browser" Icon="Globe" Name="inBrowser" Click="InBrowser_Click"/>
<AppBarButton Label="Refresh" Icon="Refresh" Click="AppBarButton_Click"/>
</CommandBar>
<local:LoadingPage Grid.RowSpan="2" Visibility="Collapsed" RefreshPage="AppBarButton_Click"/>
</Grid>
</Page>
+15 -8
View File
@@ -8,6 +8,8 @@ using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Navigation;
using Windows.System;
using Windows.ApplicationModel.Resources;
using Microsoft.AppCenter.Analytics;
using System.Collections.Generic;
namespace FoxTube
{
@@ -77,7 +79,6 @@ namespace FoxTube
else
loading.Error("ArgumentException", "Wrong parameter");
}
}
public async void Initialize(SearchParameters arg)
@@ -100,20 +101,20 @@ namespace FoxTube
request.RegionCode = SettingsStorage.Region;
request.RelevanceLanguage = SettingsStorage.RelevanceLanguage;
request.MaxResults = 48;
try
{
request.Order = (SearchResource.ListRequest.OrderEnum)arg.Filter.GetParameter(SearchParameters.Filters.Enumerations.ConversionType.Order);
request.Type = (string)arg.Filter.GetParameter(SearchParameters.Filters.Enumerations.ConversionType.Type);
request.PublishedAfter = (DateTime)arg.Filter.GetParameter(SearchParameters.Filters.Enumerations.ConversionType.Date);
request.MaxResults = 25;
request.Order = (SearchResource.ListRequest.OrderEnum)arg.Filter.GetParameter(SearchParameters.Filters.Enumerations.ConversionType.Order);
request.Type = (string)arg.Filter.GetParameter(SearchParameters.Filters.Enumerations.ConversionType.Type);
request.PublishedAfter = (DateTime)arg.Filter.GetParameter(SearchParameters.Filters.Enumerations.ConversionType.Date);
if (Parameters.Filter.Type == SearchParameters.Filters.Enumerations.Type.Video)
{
request.VideoDefinition = (SearchResource.ListRequest.VideoDefinitionEnum)arg.Filter.GetParameter(SearchParameters.Filters.Enumerations.ConversionType.HD);
request.VideoDimension = (SearchResource.ListRequest.VideoDimensionEnum)arg.Filter.GetParameter(SearchParameters.Filters.Enumerations.ConversionType.ThreeD);
request.VideoCaption = (SearchResource.ListRequest.VideoCaptionEnum)arg.Filter.GetParameter(SearchParameters.Filters.Enumerations.ConversionType.Captions);
request.EventType = (SearchResource.ListRequest.EventTypeEnum)arg.Filter.GetParameter(SearchParameters.Filters.Enumerations.ConversionType.LiveEvent);
request.VideoLicense = (SearchResource.ListRequest.VideoLicenseEnum)arg.Filter.GetParameter(SearchParameters.Filters.Enumerations.ConversionType.CreativeCommons);
}
catch { }
order.SelectedIndex = (int)Parameters.Filter.Order;
type.SelectedIndex = (int)Parameters.Filter.Type;
@@ -150,6 +151,12 @@ namespace FoxTube
catch (Exception e)
{
loading.Error(e.GetType().ToString(), e.Message);
Analytics.TrackEvent("Search loading error", new Dictionary<string, string>()
{
{ "Exception", e.GetType().ToString() },
{ "Message", e.Message },
{ "Parameters", Parameters.ToString() }
});
}
}