use of com.birbit.android.jobqueue.examples.twitter.models.TweetModel in project android-priority-jobqueue by yigit.
the class PostTweetJob method onRun.
@Override
public void onRun() throws Throwable {
Status status = TwitterController.getInstance().postTweet(text);
Tweet newTweet = new Tweet(status);
TweetModel tweetModel = TweetModel.getInstance();
Tweet existingTweet = tweetModel.getTweetByLocalId(localId);
if (existingTweet != null) {
existingTweet.updateNotNull(newTweet);
//don't set local to false. this way, next time we ask for history update, we'll send proper tweet id
tweetModel.insertOrReplace(existingTweet);
} else {
//somewhat local tweet does not exist. we might have crashed before onAdded is called.
//just insert as if it is a new tweet
tweetModel.insertOrReplace(newTweet);
}
EventBus.getDefault().post(new PostedTweetEvent(newTweet, localId));
}
use of com.birbit.android.jobqueue.examples.twitter.models.TweetModel in project android-priority-jobqueue by yigit.
the class FetchTweetsJob method onRun.
@Override
public void onRun() throws Throwable {
TweetModel tweetModel = TweetModel.getInstance();
Tweet lastTweet = tweetModel.getLastTweet();
List<Status> statusList = TwitterController.getInstance().loadTweets(lastTweet == null ? null : lastTweet.getServerId());
if (statusList.size() > 0) {
List<Tweet> tweets = new ArrayList<Tweet>(statusList.size());
for (Status status : statusList) {
Tweet tweet = new Tweet(status);
tweets.add(tweet);
}
tweetModel.insertOrReplaceAll(tweets);
EventBus.getDefault().post(new FetchedNewTweetsEvent());
}
}
Aggregations