String timerID = t.getTimerID();
if( timerID.equals( TimerID.createTimelineID() ) ) {
//TLの周期情報更新
- this.tweetTaskManager.updateTaskPeriod(timerID, this.getGetTimelinePeriod());
+ this.tweetTaskManager.updateTaskPeriod(timerID, this.getGetTimelinePeriod(), false);
}else if( timerID.equals( TimerID.createMentionID() ) ) {
//Mentionの周期情報更新
- this.tweetTaskManager.updateTaskPeriod(timerID, this.getGetMentionPeriod() );
+ this.tweetTaskManager.updateTaskPeriod(timerID, this.getGetMentionPeriod(), false );
}else if( timerID.equals( TimerID.createDirectMessageID() ) ) {
//DMの周期情報更新
- this.tweetTaskManager.updateTaskPeriod(timerID, this.getGetDirectMessagePeriod());
+ this.tweetTaskManager.updateTaskPeriod(timerID, this.getGetDirectMessagePeriod(), false);
}else if( timerID.equals( TimerID.createSendDirectMessageID() ) ) {
//SendDMの周期情報更新
- this.tweetTaskManager.updateTaskPeriod(timerID, this.getGetSendDirectMessagePeriod());
+ this.tweetTaskManager.updateTaskPeriod(timerID, this.getGetSendDirectMessagePeriod(), false);
}
}
}
try {
//タブ上に存在するテーブルの情報を更新
for(TweetTabbedTable t : this.tweetTabbedTableList ) {
- t.updateTweetTable();
+ String timerID = t.getTimerID();
+ this.tweetTaskManager.resetTask(timerID, true);
}
// API残り回数を取得
/**
* 更新リセット
+ * @param immediatelyUpdate すぐに更新するかどうか
*/
- public void reset() {
+ public void reset(boolean immediatelyUpdate) {
stop();
if (future != null) {
- future = scheduler.scheduleAtFixedRate(task, getPeriod(), getPeriod(),
- TimeUnit.MILLISECONDS);
+ if( immediatelyUpdate == true ) {
+ future = scheduler.scheduleAtFixedRate(task, 0, getPeriod(),
+ TimeUnit.MILLISECONDS);
+ }else {
+ future = scheduler.scheduleAtFixedRate(task, getPeriod(), getPeriod(),
+ TimeUnit.MILLISECONDS);
+ }
}
}
/**
* タイマーの更新間隔をリセットする
* @param timerID
+ * @param immediatelyUpdate すぐに更新するかどうか
* @return
*/
- public boolean resetTask(String timerID) {
+ public boolean resetTask(String timerID, boolean immediatelyUpdate) {
boolean found = false;
for (TimerData t : timerList) {
if (t.getTimerID().equals(timerID)) {
- t.reset();
+ t.reset( immediatelyUpdate );
found = true;
break;
}
* タスクの周期を更新する
* @param timerID
* @param period
+ * @param immediatelyUpdate すぐに情報を更新するかどうか
* @return
*/
- public boolean updateTaskPeriod(String timerID, long period) {
+ public boolean updateTaskPeriod(String timerID, long period, boolean immediatelyUpdate) {
boolean found = false;
for (TimerData t : timerList) {
if (t.getTimerID().equals(timerID)) {
t.setPeriod(period);
- t.reset();
+ t.reset( immediatelyUpdate );
found = true;
break;
}