Optimizing and refactoring pt.2
This commit is contained in:
@@ -129,5 +129,21 @@ namespace FoxTube
|
|||||||
Channel = channelId;
|
Channel = channelId;
|
||||||
Filter = filters;
|
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}";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -141,8 +141,12 @@ namespace FoxTube
|
|||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Retrieving user's data
|
#region Retrieving user's data
|
||||||
WatchLater = await Methods.GetLater();
|
try
|
||||||
History = await Methods.GetHistory();
|
{
|
||||||
|
WatchLater = await Methods.GetLater();
|
||||||
|
History = await Methods.GetHistory();
|
||||||
|
}
|
||||||
|
catch { }
|
||||||
|
|
||||||
var request = Service.Channels.List("snippet,contentDetails");
|
var request = Service.Channels.List("snippet,contentDetails");
|
||||||
request.Mine = true;
|
request.Mine = true;
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
xmlns:pages="using:FoxTube.Pages"
|
xmlns:pages="using:FoxTube.Pages"
|
||||||
xmlns:controls="using:FoxTube.Controls"
|
xmlns:controls="using:FoxTube.Controls"
|
||||||
|
xmlns:Windows10version1809="http://schemas.microsoft.com/winfx/2006/xaml/presentation?IsApiContractPresent(Windows.Foundation.UniversalApiContract, 7)"
|
||||||
mc:Ignorable="d">
|
mc:Ignorable="d">
|
||||||
|
|
||||||
<Grid Name="grid" Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
|
<Grid Name="grid" Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
|
||||||
@@ -19,8 +20,10 @@
|
|||||||
<Pivot SelectedIndex="0" Name="content" IsHeaderItemsCarouselEnabled="False" SelectionChanged="Content_SelectionChanged">
|
<Pivot SelectedIndex="0" Name="content" IsHeaderItemsCarouselEnabled="False" SelectionChanged="Content_SelectionChanged">
|
||||||
<PivotItem x:Uid="/Channel/videos" Header="Videos">
|
<PivotItem x:Uid="/Channel/videos" Header="Videos">
|
||||||
<ScrollViewer>
|
<ScrollViewer>
|
||||||
<StackPanel Name="videos">
|
<ScrollViewer.Background>
|
||||||
<Image Name="channelCover" Stretch="Uniform" Source="/Assets/ChannelCoverTemplate.png"/>
|
<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>
|
||||||
<Grid.ColumnDefinitions>
|
<Grid.ColumnDefinitions>
|
||||||
<ColumnDefinition Width="120"/>
|
<ColumnDefinition Width="120"/>
|
||||||
@@ -63,43 +66,23 @@
|
|||||||
<ScrollViewer>
|
<ScrollViewer>
|
||||||
<StackPanel Margin="10">
|
<StackPanel Margin="10">
|
||||||
<TextBlock x:Uid="/Channel/aboutTitle" FontSize="28" Text="About this channel"/>
|
<TextBlock x:Uid="/Channel/aboutTitle" FontSize="28" Text="About this channel"/>
|
||||||
<Grid>
|
<TextBlock Name="description" TextWrapping="WrapWholeWords" IsTextSelectionEnabled="True"/>
|
||||||
<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>
|
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</ScrollViewer>
|
</ScrollViewer>
|
||||||
</PivotItem>
|
</PivotItem>
|
||||||
|
|
||||||
<Pivot.RightHeader>
|
<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.RightHeader>
|
||||||
</Pivot>
|
</Pivot>
|
||||||
|
|
||||||
|
|||||||
@@ -44,10 +44,10 @@ namespace FoxTube.Pages
|
|||||||
loading = grid.Children[2] as LoadingPage;
|
loading = grid.Children[2] as LoadingPage;
|
||||||
playlistLoading = playlists.Children[1] 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;
|
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;
|
playlistMore = (playlists.Children[0] as StackPanel).Children[2] as ShowMore;
|
||||||
|
|
||||||
loading.RefreshPage += Refresh_Click;
|
loading.RefreshPage += Refresh_Click;
|
||||||
@@ -88,15 +88,13 @@ namespace FoxTube.Pages
|
|||||||
{
|
{
|
||||||
if (item.BrandingSettings.Image.BannerImageUrl.Contains("default"))
|
if (item.BrandingSettings.Image.BannerImageUrl.Contains("default"))
|
||||||
throw new Exception("Default channel cover detected");
|
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 { }
|
catch { }
|
||||||
try { avatar.ProfilePicture = new BitmapImage(new Uri(item.Snippet.Thumbnails.Medium.Url)); }
|
try { avatar.ProfilePicture = new BitmapImage(new Uri(item.Snippet.Thumbnails.Medium.Url)); }
|
||||||
catch { }
|
catch { }
|
||||||
|
|
||||||
Methods.FormatText(ref description, item.Snippet.Description);
|
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 = SecretsVault.Service.Search.List("id");
|
||||||
videoRequest.ChannelId = id;
|
videoRequest.ChannelId = id;
|
||||||
|
|||||||
@@ -328,7 +328,8 @@ namespace FoxTube
|
|||||||
if ((videoPlaceholder.Content as VideoPage).loading.State != LoadingState.Loaded)
|
if ((videoPlaceholder.Content as VideoPage).loading.State != LoadingState.Loaded)
|
||||||
CloseVideo();
|
CloseVideo();
|
||||||
else
|
else
|
||||||
Methods.Try(() => (videoPlaceholder.Content as VideoPage).player.minimize_Click(this, null));
|
try { headers[content.SourcePageType](); }
|
||||||
|
catch { }
|
||||||
}
|
}
|
||||||
|
|
||||||
public void MinimizeVideo()
|
public void MinimizeVideo()
|
||||||
@@ -346,7 +347,8 @@ namespace FoxTube
|
|||||||
|
|
||||||
SetNavigationMenu();
|
SetNavigationMenu();
|
||||||
|
|
||||||
Methods.Try(headers[content.SourcePageType]);
|
try { headers[content.SourcePageType](); }
|
||||||
|
catch { }
|
||||||
}
|
}
|
||||||
|
|
||||||
void SetNavigationMenu()
|
void SetNavigationMenu()
|
||||||
@@ -461,7 +463,8 @@ namespace FoxTube
|
|||||||
|
|
||||||
public void Content_Navigated(object sender, NavigationEventArgs e)
|
public void Content_Navigated(object sender, NavigationEventArgs e)
|
||||||
{
|
{
|
||||||
Methods.Try(headers[e.SourcePageType]);
|
try { headers[e.SourcePageType](); }
|
||||||
|
catch { }
|
||||||
|
|
||||||
if (s == Sender.None)
|
if (s == Sender.None)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -61,7 +61,7 @@
|
|||||||
</Grid>
|
</Grid>
|
||||||
</ScrollViewer>
|
</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/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 x:Uid="/Playlist/addTo" Icon="Add" Label="Add to" IsEnabled="False" Visibility="Collapsed">
|
||||||
<AppBarButton.Flyout>
|
<AppBarButton.Flyout>
|
||||||
|
|||||||
@@ -63,15 +63,11 @@ namespace FoxTube.Pages
|
|||||||
|
|
||||||
channelName.Text = item.Snippet.ChannelTitle;
|
channelName.Text = item.Snippet.ChannelTitle;
|
||||||
|
|
||||||
try
|
thumbnail.Source = new BitmapImage(item.Snippet.Thumbnails.Medium.Url.ToUri());
|
||||||
{
|
ChannelsResource.ListRequest channelRequest = SecretsVault.Service.Channels.List("snippet");
|
||||||
thumbnail.Source = new BitmapImage(new Uri(item.Snippet.Thumbnails.Medium.Url));
|
channelRequest.Id = item.Snippet.ChannelId;
|
||||||
ChannelsResource.ListRequest channelRequest = SecretsVault.Service.Channels.List("snippet");
|
Channel channel = (await channelRequest.ExecuteAsync()).Items[0];
|
||||||
channelRequest.Id = item.Snippet.ChannelId;
|
avatar.ProfilePicture = new BitmapImage(channel.Snippet.Thumbnails.Medium.Url.ToUri());
|
||||||
Channel channel = (await channelRequest.ExecuteAsync()).Items[0];
|
|
||||||
avatar.ProfilePicture = new BitmapImage(new Uri(channel.Snippet.Thumbnails.Medium.Url));
|
|
||||||
}
|
|
||||||
catch { }
|
|
||||||
|
|
||||||
PlaylistItemsResource.ListRequest listRequest = SecretsVault.Service.PlaylistItems.List("contentDetails");
|
PlaylistItemsResource.ListRequest listRequest = SecretsVault.Service.PlaylistItems.List("contentDetails");
|
||||||
listRequest.PlaylistId = id;
|
listRequest.PlaylistId = id;
|
||||||
|
|||||||
@@ -72,7 +72,7 @@
|
|||||||
</StackPanel>
|
</StackPanel>
|
||||||
</ScrollViewer>
|
</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="Open in browser" Icon="Globe" Name="inBrowser" Click="InBrowser_Click"/>
|
||||||
<AppBarButton Label="Refresh" Icon="Refresh" Click="AppBarButton_Click"/>
|
<AppBarButton Label="Refresh" Icon="Refresh" Click="AppBarButton_Click"/>
|
||||||
</CommandBar>
|
</CommandBar>
|
||||||
|
|||||||
@@ -8,6 +8,8 @@ using Windows.UI.Xaml.Controls;
|
|||||||
using Windows.UI.Xaml.Navigation;
|
using Windows.UI.Xaml.Navigation;
|
||||||
using Windows.System;
|
using Windows.System;
|
||||||
using Windows.ApplicationModel.Resources;
|
using Windows.ApplicationModel.Resources;
|
||||||
|
using Microsoft.AppCenter.Analytics;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace FoxTube
|
namespace FoxTube
|
||||||
{
|
{
|
||||||
@@ -77,7 +79,6 @@ namespace FoxTube
|
|||||||
else
|
else
|
||||||
loading.Error("ArgumentException", "Wrong parameter");
|
loading.Error("ArgumentException", "Wrong parameter");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public async void Initialize(SearchParameters arg)
|
public async void Initialize(SearchParameters arg)
|
||||||
@@ -100,20 +101,20 @@ namespace FoxTube
|
|||||||
request.RegionCode = SettingsStorage.Region;
|
request.RegionCode = SettingsStorage.Region;
|
||||||
request.RelevanceLanguage = SettingsStorage.RelevanceLanguage;
|
request.RelevanceLanguage = SettingsStorage.RelevanceLanguage;
|
||||||
|
|
||||||
request.MaxResults = 48;
|
request.MaxResults = 25;
|
||||||
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.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.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.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.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.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);
|
request.VideoLicense = (SearchResource.ListRequest.VideoLicenseEnum)arg.Filter.GetParameter(SearchParameters.Filters.Enumerations.ConversionType.CreativeCommons);
|
||||||
}
|
}
|
||||||
catch { }
|
|
||||||
|
|
||||||
order.SelectedIndex = (int)Parameters.Filter.Order;
|
order.SelectedIndex = (int)Parameters.Filter.Order;
|
||||||
type.SelectedIndex = (int)Parameters.Filter.Type;
|
type.SelectedIndex = (int)Parameters.Filter.Type;
|
||||||
@@ -150,6 +151,12 @@ namespace FoxTube
|
|||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
loading.Error(e.GetType().ToString(), e.Message);
|
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() }
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user