Optimizing and refactoring pt.2
This commit is contained in:
@@ -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}";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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"/>
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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() }
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user