Archived
1
0

Fixed ads appearance

Fixed ads watermarks on video when it was opened through notification
Fixed videos loading
This commit is contained in:
Michael Gordeev
2019-04-21 20:38:22 +03:00
parent 042408dbdb
commit a14b671f48
10 changed files with 74 additions and 25 deletions
+14
View File
@@ -1,5 +1,19 @@
<?xml version="1.0" encoding="utf-8" ?> <?xml version="1.0" encoding="utf-8" ?>
<items> <items>
<item time="2019-04-21" version="0.6">
<content>
<en-US>### What's new:
- Fixed ads appearance
- Fixed ads watermarks on video when it was opened through notification
- Fixed videos loading
</en-US>
<ru-RU>### Что нового:
- Исправлен внешний вид рекламы
- Исправлено появление водяных занков рекламы на видео при открытии через уведомления
- Исправлена загрузка видео
</ru-RU>
</content>
</item>
<item time="2019-04-06" version="0.5"> <item time="2019-04-06" version="0.5">
<content> <content>
<en-US>### What's new: <en-US>### What's new:
+1 -1
View File
@@ -29,7 +29,7 @@
</UserControl.Resources> </UserControl.Resources>
<Button Padding="0" Background="{ThemeResource SystemControlBackgroundChromeMediumBrush}"> <Button Padding="0" Background="{ThemeResource SystemControlBackgroundChromeMediumBrush}">
<Grid> <Grid Name="grid">
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition/> <RowDefinition/>
<RowDefinition Height="20"/> <RowDefinition Height="20"/>
+1 -1
View File
@@ -37,7 +37,7 @@ namespace FoxTube.Controls.Adverts
{ {
advert = e.NativeAd; advert = e.NativeAd;
Initialize(); Initialize();
e.NativeAd.RegisterAdContainer(this); e.NativeAd.RegisterAdContainer(grid);
} }
public void Initialize() public void Initialize()
+1 -1
View File
@@ -8,7 +8,7 @@
d:DesignWidth="400" d:DesignWidth="400"
Visibility="Collapsed"> Visibility="Collapsed">
<Grid Margin="2"> <Grid Margin="2" Name="grid" Background="#02000000">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="60"/> <ColumnDefinition Width="60"/>
<ColumnDefinition/> <ColumnDefinition/>
@@ -31,9 +31,9 @@ namespace FoxTube.Controls.Adverts
advert = e.NativeAd; advert = e.NativeAd;
Initialize(); Initialize();
if(cta.Visibility == Visibility.Collapsed) if(cta.Visibility == Visibility.Collapsed)
e.NativeAd.RegisterAdContainer(this); e.NativeAd.RegisterAdContainer(grid);
else else
e.NativeAd.RegisterAdContainer(this, new List<FrameworkElement> { cta }); e.NativeAd.RegisterAdContainer(grid, new List<FrameworkElement> { cta });
} }
private void Initialize() private void Initialize()
+1 -1
View File
@@ -73,7 +73,7 @@
<ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<Grid Name="grid" HorizontalAlignment="Stretch"> <Grid Name="grid" HorizontalAlignment="Stretch" Background="#02000000">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/>
<ColumnDefinition/> <ColumnDefinition/>
+10 -8
View File
@@ -205,27 +205,29 @@ namespace FoxTube.Controls
grid.Children.Add(nameStack); grid.Children.Add(nameStack);
grid.Children.Add(contentStack); grid.Children.Add(contentStack);
ListViewItem item = new ListViewItem Grid mainGrid = new Grid();
{ mainGrid.Children.Add(new Border
Content = new Border
{ {
BorderBrush = new SolidColorBrush(Colors.Red), BorderBrush = new SolidColorBrush(Colors.Red),
BorderThickness = new Thickness(2), BorderThickness = new Thickness(2),
CornerRadius = new CornerRadius(5), CornerRadius = new CornerRadius(5),
HorizontalAlignment = HorizontalAlignment.Stretch, HorizontalAlignment = HorizontalAlignment.Stretch,
Margin = new Thickness(0, 2, 0, 2), Margin = new Thickness(0, 27, 0, 2),
Background = new SolidColorBrush(Colors.Red) { Opacity = .2 }, Background = new SolidColorBrush(Colors.Red) { Opacity = .2 },
Child = grid Child = grid
}, });
Padding = new Thickness(0,25,0,0)
ListViewItem item = new ListViewItem
{
Content = mainGrid
}; };
list.Items.Insert(0, item); list.Items.Insert(0, item);
if (contentStack.Children.Last() is HyperlinkButton) if (contentStack.Children.Last() is HyperlinkButton)
advert.RegisterAdContainer(item, new List<FrameworkElement> { contentStack.Children.Last() as HyperlinkButton }); advert.RegisterAdContainer(mainGrid, new List<FrameworkElement> { contentStack.Children.Last() as HyperlinkButton });
else else
advert.RegisterAdContainer(item); advert.RegisterAdContainer(mainGrid);
} }
public async void Update(object sender, object e) public async void Update(object sender, object e)
@@ -10,6 +10,8 @@ using Windows.Storage.Streams;
using YoutubeExplode.Models.MediaStreams; using YoutubeExplode.Models.MediaStreams;
using YoutubeExplode; using YoutubeExplode;
using System.Diagnostics; using System.Diagnostics;
using Windows.Media.Playback;
using Windows.Media.Core;
namespace FoxTube namespace FoxTube
{ {
@@ -131,6 +133,14 @@ namespace FoxTube
private void Controls_QualityChanged(object sender, MediaStreamInfo requestedQuality, MediaStreamInfoSet list) private void Controls_QualityChanged(object sender, MediaStreamInfo requestedQuality, MediaStreamInfoSet list)
{ {
/*new MediaStreamSourceSampleRequest()
new MediaStreamSource()
MediaSource.
new MediaPlaybackItem(null).VideoTracks[0]
IMediaPlaybackSource
videoSource.Sou*/
videoSource.Pause(); videoSource.Pause();
timecodeBackup = videoSource.Position; timecodeBackup = videoSource.Position;
+1 -1
View File
@@ -450,7 +450,7 @@
<Version>4.3.2</Version> <Version>4.3.2</Version>
</PackageReference> </PackageReference>
<PackageReference Include="YoutubeExplode"> <PackageReference Include="YoutubeExplode">
<Version>4.6.8</Version> <Version>4.7.0-alpha</Version>
</PackageReference> </PackageReference>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
+28 -5
View File
@@ -1,4 +1,8 @@
using Windows.UI.Xaml.Controls; using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Net.Http;
using Windows.UI.Xaml.Controls;
namespace FoxTube.Pages namespace FoxTube.Pages
{ {
@@ -11,10 +15,29 @@ namespace FoxTube.Pages
public async void Initialize() public async void Initialize()
{ {
SecretsVault.HttpClient.DefaultRequestHeaders.Referrer = "https://youtube.com/".ToUri(); Dictionary<string, string> postContent = new Dictionary<string, string>
string response = await SecretsVault.Service.HttpClient.GetStringAsync(adress.Text); {
code.Text = response; { "sej", "{\"clickTrackingParams\":\"COQBEJQ1GAIiEwi028HJkdrhAhWCU5sKHQVmCS0ojh4=\",\"commandMetadata\":{\"webCommandMetadata\":{\"url\":\"/service_ajax\",\"sendPost\":true}},\"playlistEditEndpoint\":{\"playlistId\":\"WL\",\"actions\":[{\"action\":\"ACTION_REMOVE_VIDEO_BY_VIDEO_ID\",\"removedVideoId\":\"_j6Os3lIQ4U\"}]}}" },
//view.NavigateToString(response); { "csn", "2K-4XLSPG4Kn7QSFzKXoAg" },
{ "session_token", "QUFFLUhqbVF6RkxPeWI3Z2s0bGJhMExMcjNmQ3BNRG9LUXxBQ3Jtc0tuR1pwOFJGMVd2ZGplSC1tTlZXd3M5bGxiZmdCR0pDZUEta0QyN3poejZCMlI2T1pfQXFnRU1yYkc4bzk5d0hrRUZ3bWlCbVZtWFl2U0h4UUp6RS1QRmlHVmNmTDVaeExGSF9ORXFCTko4ZEp0VnBlRVJnaWNRN2VQV05GaksyZm9MZTBnLTVRYWxnandGclVpSmZteU9fTjVxNUE=" }
};
FormUrlEncodedContent encoded = new FormUrlEncodedContent(postContent);
string encodedString = await encoded.ReadAsStringAsync();
//TODO: Fuck this shit
Dictionary<string, string> header = new Dictionary<string, string>
{
{ "Cookie", "CONSENT=YES+RU.ru+20180708-12-1; PREF=f6=400&al=ru&f1=50000000; VISITOR_INFO1_LIVE=ZDgD76zHoGM; SID=TwcUCkXNM6kCpxo-8TS_8h1W5Mc7v9InTeaSc2pUhTrhtJYT3370p3EGjMt7V_zIQCsT7w.; HSID=AKgfrRj-NlJVFHs_f; SSID=A8Ix_30UlJTHAZ_wi; APISID=mhnP6tU_JCLaQbsf/AcDBnYqdpqugTs5Uv; SAPISID=Y8OdALP87rADrHbx/Ak4TOmVQHJrSt5k9G; LOGIN_INFO=AFmmF2swRQIhALLDYwBvigvNfzj2iZ5FSy4EL9BhyUqFOuTKSu00jFJfAiAi6ej1ruClPwY6h8yMALu8zplkxU1g9HO8b1gMjdXJdg:QUQ3MjNmd2RFZFNfanB2OHpBVXRTWEs5cUo1Q1NVS0NjTV9ZUG1FQzJuam95S2t4Mm0yazU1ckYxdFN2S3dSTnlRaWZnWXBhYmFTWm1PWlAzVXNXX2dzYWtLUWdJSHgycG5Ed1R4bUJEdG1Hb2ZlR1JtRkI5QnhjYzhCZkNQNDhydWdkWUtjYl9MdVBOM0Y0RDRNNEdHRXZTNllKek9UT1hQMFJIdFpMcnFWNTh2NEtDS0FFdFNJ; SIDCC=AN0-TYv_HcQWprTqyxz1eROShbpRLucFOUPyiHv8XagpVwb_GvBvRAN4MClzKZ5dUj2ptf1NWyE; YSC=6ZnsQM5SW1A; ST-893xe3=itct=COQBEJQ1GAIiEwi028HJkdrhAhWCU5sKHQVmCS0ojh4yCmctaGlnaC1yZWNaD0ZFd2hhdF90b193YXRjaA%3D%3D&csn=2K-4XLSPG4Kn7QSFzKXoAg; ST-1w9u2il=itct=COQBEJQ1GAIiEwi028HJkdrhAhWCU5sKHQVmCS0ojh4%3D&csn=2K-4XLSPG4Kn7QSFzKXoAg" },
};
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, "https://www.youtube.com/service_ajax?name=playlistEditEndpoint");
request.Content = encoded;
//request.Headers.Add("Cookie", "CONSENT=YES+RU.ru+20180708-12-1; PREF=f6=400&al=ru&f1=50000000; VISITOR_INFO1_LIVE=ZDgD76zHoGM; SID=TwcUCkXNM6kCpxo-8TS_8h1W5Mc7v9InTeaSc2pUhTrhtJYT3370p3EGjMt7V_zIQCsT7w.; HSID=AKgfrRj-NlJVFHs_f; SSID=A8Ix_30UlJTHAZ_wi; APISID=mhnP6tU_JCLaQbsf/AcDBnYqdpqugTs5Uv; SAPISID=Y8OdALP87rADrHbx/Ak4TOmVQHJrSt5k9G; LOGIN_INFO=AFmmF2swRQIhALLDYwBvigvNfzj2iZ5FSy4EL9BhyUqFOuTKSu00jFJfAiAi6ej1ruClPwY6h8yMALu8zplkxU1g9HO8b1gMjdXJdg:QUQ3MjNmd2RFZFNfanB2OHpBVXRTWEs5cUo1Q1NVS0NjTV9ZUG1FQzJuam95S2t4Mm0yazU1ckYxdFN2S3dSTnlRaWZnWXBhYmFTWm1PWlAzVXNXX2dzYWtLUWdJSHgycG5Ed1R4bUJEdG1Hb2ZlR1JtRkI5QnhjYzhCZkNQNDhydWdkWUtjYl9MdVBOM0Y0RDRNNEdHRXZTNllKek9UT1hQMFJIdFpMcnFWNTh2NEtDS0FFdFNJ; SIDCC=AN0-TYv_HcQWprTqyxz1eROShbpRLucFOUPyiHv8XagpVwb_GvBvRAN4MClzKZ5dUj2ptf1NWyE; YSC=6ZnsQM5SW1A; ST-893xe3=itct=COQBEJQ1GAIiEwi028HJkdrhAhWCU5sKHQVmCS0ojh4yCmctaGlnaC1yZWNaD0ZFd2hhdF90b193YXRjaA%3D%3D&csn=2K-4XLSPG4Kn7QSFzKXoAg; ST-1w9u2il=itct=COQBEJQ1GAIiEwi028HJkdrhAhWCU5sKHQVmCS0ojh4%3D&csn=2K-4XLSPG4Kn7QSFzKXoAg");
//request.Headers.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", SecretsVault.Credential.Token.AccessToken);
HttpResponseMessage response = await new HttpClient().SendAsync(request);
Debug.WriteLine("Done");
} }
private void Adress_QuerySubmitted(AutoSuggestBox sender, AutoSuggestBoxQuerySubmittedEventArgs args) private void Adress_QuerySubmitted(AutoSuggestBox sender, AutoSuggestBoxQuerySubmittedEventArgs args)