{
var thumbnails = new List<ThumbnailInfo>();
- foreach (var media in post.Media)
+ var expandedUrls = Enumerable.Concat(
+ post.GetExpandedUrls(), post.Media.Select(x => x.Url));
+
+ foreach (var expandedUrl in expandedUrls)
{
- var thumbInfo = await ThumbnailGenerator.GetThumbnailInfoAsync(media.Url, post, token)
+ var thumbInfo = await ThumbnailGenerator.GetThumbnailInfoAsync(expandedUrl, post, token)
.ConfigureAwait(false);
if (thumbInfo != null)
this.scrollBar.Enabled = false;
- if (post.Media.Count == 0 && post.PostGeo == null)
+ if (post.ExpandedUrls.Count == 0 && post.Media.Count == 0 && post.PostGeo == null)
{
this.SetThumbnailCount(0);
return;
this.CheckStatusCode(res, content);
}
- public async Task<string> CreateHtmlAnchorAsync(string text, List<string> AtList, TwitterEntities entities, List<MediaInfo> media)
+ public string CreateHtmlAnchor(string text, List<string> AtList, TwitterEntities entities, List<MediaInfo> media)
{
if (entities != null)
{
- if (entities.Urls != null)
- {
- foreach (var ent in entities.Urls)
- {
- var expandedUrl = await ShortUrl.Instance.ExpandUrlAsync(ent.ExpandedUrl)
- .ConfigureAwait(false);
-
- if (media != null && !media.Any(info => info.Url == expandedUrl))
- media.Add(new MediaInfo(expandedUrl));
- }
- }
if (entities.Hashtags != null)
{
lock (this.LockObj)
return text;
}
- [Obsolete]
- public string CreateHtmlAnchor(string text, List<string> AtList, TwitterEntities entities, List<MediaInfo> media)
- {
- return this.CreateHtmlAnchorAsync(text, AtList, entities, media).Result;
- }
-
/// <summary>
/// Twitter APIから得たHTML形式のsource文字列を分析し、source名とURLに分離します
/// </summary>