diff --git a/FoxTube/Video.xaml b/FoxTube/Video.xaml
index bf3a0e0..626a695 100644
--- a/FoxTube/Video.xaml
+++ b/FoxTube/Video.xaml
@@ -13,7 +13,8 @@
-
+
+
diff --git a/FoxTube/Video.xaml.cs b/FoxTube/Video.xaml.cs
index 22ddd60..d87ca86 100644
--- a/FoxTube/Video.xaml.cs
+++ b/FoxTube/Video.xaml.cs
@@ -16,6 +16,7 @@ using Windows.UI.Xaml.Navigation;
using Google.Apis.YouTube.v3.Data;
using Google.Apis.YouTube.v3;
using Windows.UI.Xaml.Media.Imaging;
+using System.Diagnostics;
// The Blank Page item template is documented at https://go.microsoft.com/fwlink/?LinkId=234238
@@ -47,7 +48,8 @@ namespace FoxTube
views.Text = item.Statistics.ViewCount + " views";
dislikes.Text = item.Statistics.DislikeCount.ToString();
likes.Text = item.Statistics.LikeCount.ToString();
- dislikeLine.X2 = (int)(item.Statistics.DislikeCount / (item.Statistics.DislikeCount + item.Statistics.LikeCount) * 250);
+ Debug.WriteLine((double)item.Statistics.DislikeCount / (double)(item.Statistics.DislikeCount + item.Statistics.LikeCount) * 250);
+ dislikeLine.X2 = (double)item.Statistics.DislikeCount / (double)(item.Statistics.DislikeCount + item.Statistics.LikeCount) * 250;
description.Text = item.Snippet.Description;
ChannelsResource.ListRequest request1 = SecretsVault.YoutubeService.Channels.List("snippet,contentDetails,statistics");
@@ -60,13 +62,12 @@ namespace FoxTube
channelName.Text = item.Snippet.ChannelTitle;
subscribers.Text = item1.Statistics.SubscriberCount + " subscribers";
- mainContent.Children.Add(new VideoPlayer(id));
- mainContent.Children.Reverse();
+ mainContent.Children.Add(new VideoPlayer(id, item1.Snippet.Thumbnails.Medium.Url));
}
private void gotoChannel_Click(object sender, RoutedEventArgs e)
{
- (Window.Current.Content as MainPage).GoToChannel(item.Snippet.ChannelId);
+ ((Window.Current.Content as Frame).Content as MainPage).GoToChannel(item.Snippet.ChannelId);
}
}
}
diff --git a/FoxTube/VideoPlayer.xaml b/FoxTube/VideoPlayer.xaml
index 6017f80..ada1f39 100644
--- a/FoxTube/VideoPlayer.xaml
+++ b/FoxTube/VideoPlayer.xaml
@@ -110,7 +110,7 @@
-
+
@@ -123,7 +123,7 @@
-
+
diff --git a/FoxTube/VideoPlayer.xaml.cs b/FoxTube/VideoPlayer.xaml.cs
index 9d901ae..f02202a 100644
--- a/FoxTube/VideoPlayer.xaml.cs
+++ b/FoxTube/VideoPlayer.xaml.cs
@@ -21,6 +21,10 @@ using Google.Apis.YouTube.v3.Data;
using Google.Apis.YouTube.v3;
using Windows.UI.Xaml.Media.Imaging;
using MyToolkit.Multimedia;
+using Windows.Networking.Connectivity;
+using System.Diagnostics;
+using Windows.Media;
+using Windows.Storage.Streams;
// The User Control item template is documented at https://go.microsoft.com/fwlink/?LinkId=234236
@@ -39,20 +43,25 @@ namespace FoxTube
Enabled = true
};
- public VideoPlayer(string id)
+ public VideoPlayer(string id, string channelAvatar)
{
this.InitializeComponent();
volume.Value = Convert.ToDouble(settings.Values["volume"]);
+ videoSource.AutoPlay = (bool)settings.Values["videoAutoplay"];
+
+ var connection = NetworkInformation.GetInternetConnectionProfile().GetConnectionCost();
+ if ((bool)settings.Values["moblieWarning"] && (connection.NetworkCostType == NetworkCostType.Fixed || connection.NetworkCostType == NetworkCostType.Variable))
+ meteredNotification.Visibility = Visibility.Visible;
quality.SelectedIndex = (int)settings.Values["quality"] +
(int)settings.Values["quality"] > 0? 1 : 0;
t.Elapsed += T_Elapsed;
- Initialize(id);
+ Initialize(id, channelAvatar);
}
- public async void Initialize(string id)
+ public async void Initialize(string id, string channelAvatar)
{
videoId = id;
VideosResource.ListRequest request = SecretsVault.YoutubeService.Videos.List("snippet,contentDetails,statistics");
@@ -63,9 +72,21 @@ namespace FoxTube
var item = response.Items[0];
videoSource.PosterSource = new BitmapImage(new Uri(item.Snippet.Thumbnails.Maxres.Url));
+ title.Text = item.Snippet.Title;
YouTubeUri url = await YouTube.GetVideoUriAsync(item.Id, videoQuality);
videoSource.Source = url.Uri;
+
+ SystemMediaTransportControls controls = SystemMediaTransportControls.GetForCurrentView();
+ controls.IsNextEnabled = true;
+ controls.IsPauseEnabled = true;
+ controls.IsPlayEnabled = true;
+
+ controls.DisplayUpdater.Type = MediaPlaybackType.Video;
+ controls.DisplayUpdater.VideoProperties.Title = item.Snippet.Title;
+ controls.DisplayUpdater.VideoProperties.Subtitle = item.Snippet.ChannelTitle;
+ controls.DisplayUpdater.Thumbnail = RandomAccessStreamReference.CreateFromUri(new Uri(channelAvatar));
+ controls.DisplayUpdater.Update();
}
private async void T_Elapsed(object sender, ElapsedEventArgs e)
@@ -162,6 +183,7 @@ namespace FoxTube
private async void quality_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
+ Debug.WriteLine("Selected index: " + quality.SelectedIndex);
switch(quality.SelectedIndex)
{
case 0:
@@ -253,5 +275,10 @@ namespace FoxTube
break;
}
}
+
+ private void meteredDismiss_Click(object sender, RoutedEventArgs e)
+ {
+ meteredNotification.Visibility = Visibility.Collapsed;
+ }
}
}