public bool Equals(RemoteApiContentInfo info) { if (info == null) { return(false); } return(Uri == info.Uri); }
private async Task <IList <ContentInfo> > GetContentsOfDayAsync(DateInfo date, int startFrom, int count, ContentsSet contentsSet) { DebugUtil.Log("Loading ContentsOfDay: " + date.Title + " from " + startFrom); var contents = await AvContentApi.GetContentListAsync(new ContentListTarget { Sorting = SortMode.Ascending, Grouping = ContentGroupingMode.Date, Uri = date.Uri, Types = ContentsSetToTypes(contentsSet), StartIndex = startFrom, MaxContents = count }).ConfigureAwait(false); return(contents.Where(content => content.ImageContent != null && content.ImageContent.OriginalContents != null && content.ImageContent.OriginalContents.Count > 0) .Select(content => { var contentInfo = new RemoteApiContentInfo { Name = RemoveExtension(content.ImageContent.OriginalContents[0].FileName), LargeUrl = content.ImageContent.LargeImageUrl, ThumbnailUrl = content.ImageContent.ThumbnailUrl, MimeType = ContentKindToMimeType(content.ContentKind), Uri = content.Uri, CreatedTime = content.CreatedTime, Protected = content.IsProtected == TextBoolean.True, RemotePlaybackAvailable = (content.RemotePlayTypes != null && content.RemotePlayTypes.Contains(RemotePlayMode.SimpleStreaming)), GroupName = date.Title, }; if (content.ContentKind == ContentKind.StillImage) { foreach (var original in content.ImageContent.OriginalContents) { if (original.Type == ImageType.Jpeg) { contentInfo.OriginalUrl = original.Url; break; } } } else if (content.ContentKind == ContentKind.MovieMp4 || content.ContentKind == ContentKind.MovieXavcS) { foreach (var original in content.ImageContent.OriginalContents) { contentInfo.OriginalUrl = original.Url; break; } } return contentInfo; }) .ToList <ContentInfo>()); }