private long? CreatePostsFromJson(TwitterStatus[] items, MyCommon.WORKERTYPE gType, TabModel tab, bool read) { long? minimumId = null; foreach (var status in items) { if (minimumId == null || minimumId.Value > status.Id) minimumId = status.Id; //二重取得回避 lock (LockObj) { if (tab == null) { if (TabInformations.GetInstance().ContainsKey(status.Id)) continue; } else { if (tab.Contains(status.Id)) continue; } } //RT禁止ユーザーによるもの if (gType != MyCommon.WORKERTYPE.UserTimeline && status.RetweetedStatus != null && this.noRTId.Contains(status.User.Id)) continue; var post = CreatePostsFromStatusData(status); post.IsRead = read; if (post.IsMe && !read && _readOwnPost) post.IsRead = true; if (tab != null && tab.IsInnerStorageTabType) tab.AddPostQueue(post); else TabInformations.GetInstance().AddPost(post); } return minimumId; }
public async Task GetStatusApi(bool read, long id, TabModel tab) { var post = await this.GetStatusApi(read, id) .ConfigureAwait(false); //非同期アイコン取得&StatusDictionaryに追加 if (tab != null && tab.IsInnerStorageTabType) tab.AddPostQueue(post); else TabInformations.GetInstance().AddPost(post); }