using System; using System.Threading.Tasks; using Windows.UI.Xaml.Data; using FoxTube.Services; using FoxTube.Utils; using Google.Apis.Blogger.v3; using Google.Apis.Blogger.v3.Data; namespace FoxTube.Models.Collections { public class InboxCollection : ViewCollection { private string nextPageToken; public override async Task LoadItems() { try { PostsResource.ListRequest request = InboxService.Service.Posts.List(SecretConstants.BlogId); request.FetchImages = false; request.PageToken = nextPageToken; request.Labels = "FoxTube"; request.MaxResults = ItemsPerRequest; request.OrderBy = PostsResource.ListRequest.OrderByEnum.UPDATED; PostList response = await request.ExecuteAsync(); foreach (Post post in response.Items) Items.Add(post); HasMoreItems = !string.IsNullOrWhiteSpace(nextPageToken = response.NextPageToken); return new LoadMoreItemsResult { Count = (uint)response.Items.Count }; } catch (Exception e) { Metrics.SendReport(new Exception("Unable to load inbox", e)); HasMoreItems = false; return new LoadMoreItemsResult { Count = 0 }; } } } }