public TimelineRow(Tweet tweet,string ownerScreenName,SettingData setting,Action<RowAction> actionCallback) :base(tweet,ownerScreenName,setting,actionCallback,RowType.Tweet) { if (tweet.retweeted_status == null) { this.RowType = RowType.Tweet; if (Tweet.text.Contains("@" + ownerScreenName)) { SharedDispatcher.RunAsync(() => { BarColorBrush = (Application.Current.Resources["MentionForegroundBrush"] as SolidColorBrush).Color; }); } } else { this.RowType = RowType.Retweet; SharedDispatcher.RunAsync(() => { BarColorBrush = (Application.Current.Resources["RetweetForegroundBrush"] as SolidColorBrush).Color; }); } Initialize(rowActionCallback); }
public NotificationRow(Tweet tweet,string message,SettingData setting,NotificationType type,string ownerScreenName,Action<RowAction> actionCallback) :base(tweet,ownerScreenName,setting,actionCallback,RowType.Notification) { Initialize(rowActionCallback); this.NType = type; this.Message = message; }
public RowBase(Tweet tweet,string ownerScreenName,SettingData setting,Action<RowAction> rowActionCallBack,RowType type) { this.ownerScreenName = ownerScreenName; this.RowType = type; this.Tweet = tweet; this.setting = setting; InitializeBase(rowActionCallBack); }
public override async Task GetStreamTweet(Tweet tweet) { await base.GetStreamTweet(tweet); if (tweet.entities.urls != null && tweet.entities.urls.Count > 0) { await InsertStreamInTimeLineAsync(new TimelineRow(tweet, Account.UserInfomation.screen_name, Setting, rowActionCallback)); } }
protected async Task<bool> IsAllFilterClearAsync(Tweet tweet) { bool result = false; if (await isExtractAccountFilterClear(tweet) && await isExcludeAccountFilterClear(tweet) && await isExtractWordFilterClear(tweet) && await isExcludeWordFilterClear(tweet) && await isMuteAccountFilerClear(tweet)) { result = true; } else { result = false; } return result; }
public async Task Retweet(Tweet tweet) { await ActionSelectedAccountWithUiAsync(async client => { if (tweet.retweeted == false) { tweet.retweeted = true; await client.CreateRetweetAsync(tweet); } else { tweet.retweeted = false; //await client.DestroyRetweetAsync(tweet); } }); }
public virtual async Task GetStreamMentions(Tweet tweet) { await CheckAndDeleteMaxRowAsync(); }
private async Task LiveTileImageUpdateAsync(Tweet tweet) { if (tweet.entities != null && tweet.entities.media != null && tweet.entities.media.Count > 0) { await SharedDispatcher.RunAsync(() => { //テンプレートを取得してXMLを編集 XmlDocument doc = TileUpdateManager.GetTemplateContent(TileTemplateType.TileWide310x150PeekImage05); doc.GetElementsByTagName("text")[0].InnerText = "@" + tweet.user.screen_name; doc.GetElementsByTagName("text")[1].InnerText = tweet.text; doc.GetElementsByTagName("image")[0].Attributes.GetNamedItem("src").NodeValue = tweet.entities.media.First().media_url; doc.GetElementsByTagName("image")[1].Attributes.GetNamedItem("src").NodeValue = tweet.user.profile_image_url; TileNotification notification = new TileNotification(doc); notification.ExpirationTime = DateTimeOffset.UtcNow.AddDays(2); //一意のタグを指定 notification.Tag ="wide"+ liveTileCounter.ToString(); //通知を送信 TileUpdater updater = TileUpdateManager.CreateTileUpdaterForApplication(); updater.EnableNotificationQueueForWide310x150(true); updater.Update(notification); XmlDocument docLarge = TileUpdateManager.GetTemplateContent(TileTemplateType.TileSquare310x310ImageAndTextOverlay03); docLarge.GetElementsByTagName("text")[0].InnerText = "@" + tweet.user.screen_name; docLarge.GetElementsByTagName("text")[1].InnerText = tweet.text; docLarge.GetElementsByTagName("image")[0].Attributes.GetNamedItem("src").NodeValue = tweet.entities.media.First().media_url; TileNotification notificationLarge = new TileNotification(docLarge); notificationLarge.ExpirationTime = DateTimeOffset.UtcNow.AddDays(2); //一意のタグを指定 notificationLarge.Tag ="large"+ liveTileCounter.ToString(); //通知を送信 TileUpdater updaterLarge = TileUpdateManager.CreateTileUpdaterForApplication(); updaterLarge.EnableNotificationQueueForSquare310x310(true); updaterLarge.Update(notificationLarge); if (liveTileCounter > 6) { liveTileCounter = 0; } liveTileCounter++; }); } }
public Task<bool> isMuteAccountFilerClear(Tweet tweet) { return Task.Run(() => { if (tweet.text!=null&&tweet.user.screen_name != null) { return Setting.MuteAccountList.All(muteAccount => tweet.user.screen_name != muteAccount); } else { return true; } }); }
private Task<bool> isExcludeAccountFilterClear(Tweet tweet) { return Task.Run(() => { bool result = true; if (ExcludeAccountScreenNameList.Count == 0) { return true; } foreach (var item in ExcludeAccountScreenNameList) { if (item == tweet.user.screen_name) { result = false; } } return result; }); }
private Task<bool> isExcludeWordFilterClear(Tweet tweet) { return Task.Run(() => { bool result = true; if (ExcludeWordList.Count == 0) { return true; } foreach (var item in ExcludeWordList) { if (tweet.text.Contains(item)) { result = false; } } return result; }); }
public async Task FavoriteAsync(Tweet tweet) { await ActionSelectedAccountWithUiAsync(async client => { if (tweet.favorited == false) { tweet.favorited = true; await client.CreateFavoriteAsync(tweet); } else { tweet.favorited = false; await client.DestroyFavoriteAsync(tweet); } }); }
public override async Task GetStreamTweet(Tweet tweet) { await base.GetStreamTweet(tweet); }
public override async Task GetStreamMention(Tweet tweet) { await base.GetStreamMentions(tweet); await InsertStreamInTimeLineAsync(new TimelineRow(tweet,Account.UserInfomation.screen_name,Setting,rowActionCallback)); }
public void AddPostText(string text, Tweet in_reply_to_status) { this.InReplyToStatus = in_reply_to_status; IsAcceptReply = true; if (!IsHashTagLock) { PostText += text; } else { PostText += HashtagLockText(PostText,text); } }
public void Description(Tweet tweet) { this.TwitterUIComponent.SetPostText("(@" + tweet.user.screen_name + ")"); Messenger.Notify("SetPostTextCursor", 0); }
public void Reply(Tweet tweet) { this.TwitterUIComponent.AddPostText("@" + tweet.user.screen_name + " ", tweet); Messenger.Notify("SetPostTextCursor", TwitterUIComponent.PostText.Length); }
public void Quote(Tweet tweet) { this.TwitterUIComponent.SetPostText(" RT @" + tweet.user.screen_name + " " + tweet.text); }
protected Task<bool> isCompetition(List<RowBase> tweetList, Tweet tweet) { return Task.Run(() => { bool result = false; foreach (var t in tweetList) { if (t.Tweet.id_str == tweet.id_str) { result = true; } } return result; }); }
public TweetDetailParameter(string accountScreenName,Tweet tweet) :base(accountScreenName) { this.tweet = tweet; }