From d05570b52a6a1fa7f8df13d196db07389b98cd6f Mon Sep 17 00:00:00 2001 From: Michael Gordeev Date: Fri, 5 Apr 2019 21:26:18 +0300 Subject: [PATCH 01/16] StoreAssociation.xml added to git --- FoxTube/Package.StoreAssociation.xml | 371 +++++++++++++++++++++++++++ 1 file changed, 371 insertions(+) create mode 100644 FoxTube/Package.StoreAssociation.xml diff --git a/FoxTube/Package.StoreAssociation.xml b/FoxTube/Package.StoreAssociation.xml new file mode 100644 index 0000000..336135f --- /dev/null +++ b/FoxTube/Package.StoreAssociation.xml @@ -0,0 +1,371 @@ + + + CN=FD7A34DD-FE4D-4D7D-9D33-2DA9EBBE7725 + Michael "XFox" Gordeev + MSA + http://www.w3.org/2001/04/xmlenc#sha256 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 53949MichaelXFoxGordeev.FoxTube + + FoxTube + FoxTube - A modern YouTube client + FoxTube Beta + + + + + \ No newline at end of file From c25b1c643c7ebe6412aa067dd2a5de5a19c09738 Mon Sep 17 00:00:00 2001 From: Michael Gordeev Date: Sat, 6 Apr 2019 13:55:50 +0300 Subject: [PATCH 02/16] Changelogs toasts fixed Inbox messages background is now transparent --- FoxTube/Assets/Data/Patchnotes.xml | 10 ++++++++++ FoxTube/Classes/SettingsStorage.cs | 2 +- FoxTube/Package.appxmanifest | 2 +- FoxTube/Pages/SettingsPages/Inbox.xaml | 2 +- 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/FoxTube/Assets/Data/Patchnotes.xml b/FoxTube/Assets/Data/Patchnotes.xml index b07d623..f052c58 100644 --- a/FoxTube/Assets/Data/Patchnotes.xml +++ b/FoxTube/Assets/Data/Patchnotes.xml @@ -1,5 +1,15 @@  + + + ### What's new: +- Changelog notification now pops up after update at first launch + + ### Что нового: +- Добавлено уведомление со списком изменений при первом запуске после обновления + + + ### What's new: diff --git a/FoxTube/Classes/SettingsStorage.cs b/FoxTube/Classes/SettingsStorage.cs index b5a952b..d564172 100644 --- a/FoxTube/Classes/SettingsStorage.cs +++ b/FoxTube/Classes/SettingsStorage.cs @@ -161,7 +161,7 @@ namespace FoxTube { get { - if (storage.Values["ver"] == null) + if (storage.Values["version"] == null) { PackageVersion ver = Package.Current.Id.Version; storage.Values["version"] = $"{ver.Major}.{ver.Minor}"; diff --git a/FoxTube/Package.appxmanifest b/FoxTube/Package.appxmanifest index 804ccc6..8ae89bb 100644 --- a/FoxTube/Package.appxmanifest +++ b/FoxTube/Package.appxmanifest @@ -1,6 +1,6 @@  - + FoxTube diff --git a/FoxTube/Pages/SettingsPages/Inbox.xaml b/FoxTube/Pages/SettingsPages/Inbox.xaml index 70713e5..1fad260 100644 --- a/FoxTube/Pages/SettingsPages/Inbox.xaml +++ b/FoxTube/Pages/SettingsPages/Inbox.xaml @@ -91,7 +91,7 @@ - + + + + + + + + + + + + + + + + + + + + @@ -78,11 +120,11 @@ - + @@ -90,7 +132,7 @@ - + diff --git a/FoxTube/Pages/MainPage.xaml.cs b/FoxTube/Pages/MainPage.xaml.cs index d3c9499..afb86c1 100644 --- a/FoxTube/Pages/MainPage.xaml.cs +++ b/FoxTube/Pages/MainPage.xaml.cs @@ -41,8 +41,10 @@ namespace FoxTube SecretsVault.SubscriptionsChanged += SecretsVault_SubscriptionsChanged; SecretsVault.Purchased += async (sender, e) => { - //TODO: Localize strings removeAds.Visibility = (e[0] as bool?).Value ? Visibility.Collapsed : Visibility.Visible; + if (!(bool)e[0]) + return; + //TODO: Localize strings MessageDialog dialog = new MessageDialog("Thanks for purchasing full version of the app (^∇^) In order to complete changes we need to reopen it. But you can do it later"); dialog.Commands.Add(new UICommand("Close the app", (command) => Methods.CloseApp())); dialog.Commands.Add(new UICommand("Later")); @@ -174,10 +176,11 @@ namespace FoxTube case true: account.Visibility = Visibility.Collapsed; - myName.Text = myNameFlyout.Text = SecretsVault.UserInfo.Name; + ToolTipService.SetToolTip(avatar, $"{SecretsVault.UserInfo.Name} ({SecretsVault.UserInfo.Email})"); + myNameFlyout.Text = SecretsVault.UserInfo.Name; myEmail.Text = SecretsVault.UserInfo.Email; avatarFlyout.ProfilePicture = new BitmapImage(SecretsVault.UserInfo.Picture.ToUri()); - ((avatar.Content as StackPanel).Children[0] as PersonPicture).ProfilePicture = avatarFlyout.ProfilePicture; + (avatar.Content as PersonPicture).ProfilePicture = avatarFlyout.ProfilePicture; avatar.Visibility = Visibility.Visible; @@ -247,12 +250,12 @@ namespace FoxTube GoToVideo((videoPlaceholder.Content as VideoPage).videoId, (videoPlaceholder.Content as VideoPage).playlistId); } - private async void Feedback_Click(object sender, TappedRoutedEventArgs e) + private async void Feedback_Click(object sender, RoutedEventArgs e) { await StoreServicesFeedbackLauncher.GetDefault().LaunchAsync(); } - private void SignIn_Click(object sender, TappedRoutedEventArgs e) + private void SignIn_Click(object sender, RoutedEventArgs e) { SecretsVault.Authorize(); } diff --git a/FoxTube/Pages/VideoGrid.xaml.cs b/FoxTube/Pages/VideoGrid.xaml.cs index f17b5af..029c214 100644 --- a/FoxTube/Pages/VideoGrid.xaml.cs +++ b/FoxTube/Pages/VideoGrid.xaml.cs @@ -34,7 +34,7 @@ namespace FoxTube.Pages (grid.Children[Count % cols + 1] as StackPanel).Children.Add(card); Children.Add(card); - if ((Children.Count - 5) % 20 == 0) + if ((Children.Count - 5) % 20 == 0 && !SecretsVault.AdsDisabled) { CardAdvert advert = new CardAdvert(IsRelatedVideos); (grid.Children[Count % cols + 1] as StackPanel).Children.Add(advert); diff --git a/FoxTube/Strings/en-US/Main.resw b/FoxTube/Strings/en-US/Main.resw index f82db5d..c0e8941 100644 --- a/FoxTube/Strings/en-US/Main.resw +++ b/FoxTube/Strings/en-US/Main.resw @@ -135,7 +135,7 @@ Downloads - + Give a feedback @@ -180,7 +180,7 @@ Sign in with existing account - + Add account diff --git a/FoxTube/Strings/ru-RU/Main.resw b/FoxTube/Strings/ru-RU/Main.resw index 34aad54..340c01e 100644 --- a/FoxTube/Strings/ru-RU/Main.resw +++ b/FoxTube/Strings/ru-RU/Main.resw @@ -135,7 +135,7 @@ Загрузки - + Оставить отзыв @@ -180,7 +180,7 @@ Войти с помощью существующего аккаунта Google - + Войти в аккаунт From d28442ba1d516f8d322567afb8416621d796ed3e Mon Sep 17 00:00:00 2001 From: Michael Gordeev Date: Thu, 11 Apr 2019 18:11:45 +0300 Subject: [PATCH 08/16] Fixed extensions in Methods Added chat ads Optimized users's avatar CardAdverts now appearing every 25 items Added privacy url in CommentAdvert Related Work Items: #162, #252 --- FoxTube/Assets/Data/Patchnotes.xml | 2 + FoxTube/Classes/Methods.cs | 12 +- FoxTube/Controls/Adverts/CardAdvert.xaml.cs | 8 +- FoxTube/Controls/Adverts/CommentAdvert.xaml | 3 +- .../Controls/Adverts/CommentAdvert.xaml.cs | 12 +- FoxTube/Controls/Chat.xaml | 10 +- FoxTube/Controls/Chat.xaml.cs | 138 +++++++++++++++++- FoxTube/Pages/MainPage.xaml.cs | 4 +- FoxTube/Pages/VideoGrid.xaml.cs | 2 +- 9 files changed, 169 insertions(+), 22 deletions(-) diff --git a/FoxTube/Assets/Data/Patchnotes.xml b/FoxTube/Assets/Data/Patchnotes.xml index 8a84cae..81216eb 100644 --- a/FoxTube/Assets/Data/Patchnotes.xml +++ b/FoxTube/Assets/Data/Patchnotes.xml @@ -3,6 +3,7 @@ ### What's new: +- App optimization - Changelog notification now pops up after update at first launch - Added ability to add videos to playlists on video page - Added ability to add videos to playlists through card's context menu @@ -14,6 +15,7 @@ - Some items were moved from menu to header ### Что нового: +- Оптимизация приложения - Добавлено уведомление со списком изменений при первом запуске после обновления - Добавлена возможность добавлять видео в плейлисты на странице просмотра - Добавлена возможность добавлять видео в плейлисты через контекстное меню карточки diff --git a/FoxTube/Classes/Methods.cs b/FoxTube/Classes/Methods.cs index 4be9f0a..f6ebd82 100644 --- a/FoxTube/Classes/Methods.cs +++ b/FoxTube/Classes/Methods.cs @@ -42,10 +42,13 @@ namespace FoxTube public static Uri ToUri(this string url) { - return new Uri(url); + if (string.IsNullOrWhiteSpace(url)) + return null; + else + return new Uri(url); } - public static string GuardFromNull(this string str) + public static string GuardFromNull(string str) { if (string.IsNullOrWhiteSpace(str)) return string.Empty; @@ -53,11 +56,6 @@ namespace FoxTube return str; } - public static bool IsNullOrWhiteSpace(this string str) - { - return string.IsNullOrWhiteSpace(str); - } - public static string GetChars(this string str, int count) { try diff --git a/FoxTube/Controls/Adverts/CardAdvert.xaml.cs b/FoxTube/Controls/Adverts/CardAdvert.xaml.cs index bb4c976..c39c37a 100644 --- a/FoxTube/Controls/Adverts/CardAdvert.xaml.cs +++ b/FoxTube/Controls/Adverts/CardAdvert.xaml.cs @@ -47,19 +47,19 @@ namespace FoxTube.Controls.Adverts icon.ProfilePicture = advert.AdIcon == null ? null : advert.AdIcon.Source; - sponsor.Text = advert.SponsoredBy.GuardFromNull(); + sponsor.Text = Methods.GuardFromNull(advert.SponsoredBy); - if (advert.CallToActionText.IsNullOrWhiteSpace()) + if (string.IsNullOrWhiteSpace(advert.CallToActionText)) (info.Parent as FrameworkElement).Visibility = Visibility.Collapsed; else info.Text = advert.CallToActionText; desc.Text = string.Empty; - if (!advert.Price.IsNullOrWhiteSpace()) + if (!string.IsNullOrWhiteSpace(advert.Price)) desc.Text += advert.Price; - if (!advert.Rating.IsNullOrWhiteSpace()) + if (!string.IsNullOrWhiteSpace(advert.Rating)) desc.Text += " " + advert.Rating; show.Begin(); diff --git a/FoxTube/Controls/Adverts/CommentAdvert.xaml b/FoxTube/Controls/Adverts/CommentAdvert.xaml index 39d1fc2..babef6c 100644 --- a/FoxTube/Controls/Adverts/CommentAdvert.xaml +++ b/FoxTube/Controls/Adverts/CommentAdvert.xaml @@ -18,8 +18,9 @@ - + + From eddd5216f3a65dce228168a6710bbcebd6b33b64 Mon Sep 17 00:00:00 2001 From: Michael Gordeev Date: Sun, 14 Apr 2019 12:38:42 +0300 Subject: [PATCH 15/16] Fixed comment advert Test ads are now on --- FoxTube/Classes/SecretsVault.cs | 2 +- FoxTube/Controls/Adverts/CommentAdvert.xaml | 3 ++- FoxTube/Controls/Adverts/CommentAdvert.xaml.cs | 2 ++ FoxTube/Controls/Player/PlayerControls.cs | 2 +- 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/FoxTube/Classes/SecretsVault.cs b/FoxTube/Classes/SecretsVault.cs index d92c748..cc0c68a 100644 --- a/FoxTube/Classes/SecretsVault.cs +++ b/FoxTube/Classes/SecretsVault.cs @@ -42,7 +42,7 @@ namespace FoxTube }; public static YouTubeService Service => IsAuthorized ? new YouTubeService(Initializer) : NoAuthService; public static HttpClient HttpClient { get; } = new HttpClient(); - private static bool TestAds => false; //Change this bool + private static bool TestAds => true; //Change this bool public static string AppId => TestAds ? "d25517cb-12d4-4699-8bdc-52040c712cab" : "9ncqqxjtdlfh"; public static string AdUnitId => TestAds ? "test" : "1100044398"; public static bool AdsDisabled { get; private set; } = true; diff --git a/FoxTube/Controls/Adverts/CommentAdvert.xaml b/FoxTube/Controls/Adverts/CommentAdvert.xaml index babef6c..c869e5f 100644 --- a/FoxTube/Controls/Adverts/CommentAdvert.xaml +++ b/FoxTube/Controls/Adverts/CommentAdvert.xaml @@ -5,7 +5,8 @@ xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" - d:DesignWidth="400"> + d:DesignWidth="400" + Visibility="Collapsed"> diff --git a/FoxTube/Controls/Adverts/CommentAdvert.xaml.cs b/FoxTube/Controls/Adverts/CommentAdvert.xaml.cs index 4cdac3a..a2bfad7 100644 --- a/FoxTube/Controls/Adverts/CommentAdvert.xaml.cs +++ b/FoxTube/Controls/Adverts/CommentAdvert.xaml.cs @@ -52,6 +52,8 @@ namespace FoxTube.Controls.Adverts meta.Text += advert.Price; meta.Text += " " + advert.Rating; meta.Visibility = string.IsNullOrWhiteSpace(meta.Text) ? Visibility.Collapsed : Visibility.Visible; + + Visibility = Visibility.Visible; } } } diff --git a/FoxTube/Controls/Player/PlayerControls.cs b/FoxTube/Controls/Player/PlayerControls.cs index 61f0d4e..5d249d5 100644 --- a/FoxTube/Controls/Player/PlayerControls.cs +++ b/FoxTube/Controls/Player/PlayerControls.cs @@ -146,7 +146,7 @@ namespace FoxTube private void QualitySelector_SelectionChanged(object sender, SelectionChangedEventArgs e) { SettingsStorage.RememberedQuality = e.AddedItems[0] as string; - MediaStreamInfo item = MediaStreams.Muxed.Find(i => i.VideoQualityLabel == e.AddedItems[0] as string); + MediaStreamInfo item = MediaStreams.Muxed.Find(i => i.VideoQualityLabel.Contains(e.AddedItems[0] as string)); if (item == null) item = MediaStreams.Video.Find(i => i.VideoQualityLabel == e.AddedItems[0] as string); From 2712c8333b262cae1214c348af6db8e970e5e761 Mon Sep 17 00:00:00 2001 From: Michael Gordeev Date: Sun, 14 Apr 2019 12:46:25 +0300 Subject: [PATCH 16/16] Updated changelog --- FoxTube/Assets/Data/Patchnotes.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/FoxTube/Assets/Data/Patchnotes.xml b/FoxTube/Assets/Data/Patchnotes.xml index 89f0965..5bb3172 100644 --- a/FoxTube/Assets/Data/Patchnotes.xml +++ b/FoxTube/Assets/Data/Patchnotes.xml @@ -10,7 +10,7 @@ - Added ability to download video through card's context menu - Deleted videos are now also displayed - Added support of April 2018 Update (Windows 10 build 17134) -- Added adverts +- Added adverts (not real. Just for debugging) - Fixed header titles - Some items were moved from menu to header - Added "Share" button to video cards @@ -27,7 +27,7 @@ - Добавлена возможность скачивать видео через контекстное меню карточки - Удаленные видео теперь также отображаются - Добавлена поддержка Апрельского Обновления 2018 (Windows 10 сборка 17134) -- Добавлена реклама +- Добавлена реклама (не настоящие. Только для отладки) - Исправлено изменение заголовков - Некоторые пункты меню перемещены в заголовок - Добавлена кнопка "Поделиться" к видео карточкам