package net.lacolaco.smileessence.twitter.task; import net.lacolaco.smileessence.data.Account; import net.lacolaco.smileessence.entity.Tweet; import net.lacolaco.smileessence.util.BackgroundTask; import twitter4j.TwitterException; public class TweetReactions { public static class RetweetTask extends BackgroundTask { // ------------------------------ FIELDS ------------------------------ private final Account account; private final long statusID; // --------------------------- CONSTRUCTORS --------------------------- public RetweetTask(Account account, long statusID) { this.account = account; this.statusID = statusID; } // ------------------------ OVERRIDE METHODS ------------------------ @Override protected Tweet doInBackground() throws TwitterException { return Tweet.fromTwitter(account.getTwitter().tweets().retweetStatus(statusID), account.getUserId()); } } public static class FavoriteTask extends BackgroundTask { // ------------------------------ FIELDS ------------------------------ private final Account account; private final long statusID; // --------------------------- CONSTRUCTORS --------------------------- public FavoriteTask(Account account, long statusID) { this.account = account; this.statusID = statusID; } // ------------------------ OVERRIDE METHODS ------------------------ @Override protected Tweet doInBackground() throws TwitterException { return Tweet.fromTwitter(account.getTwitter().favorites().createFavorite(statusID), account.getUserId()); } } public static class UnfavoriteTask extends BackgroundTask { // ------------------------------ FIELDS ------------------------------ private final Account account; private final long statusID; // --------------------------- CONSTRUCTORS --------------------------- public UnfavoriteTask(Account account, long statusID) { this.account = account; this.statusID = statusID; } // ------------------------ OVERRIDE METHODS ------------------------ @Override protected Tweet doInBackground() throws TwitterException { return Tweet.fromTwitter(account.getTwitter().favorites().destroyFavorite(statusID), account.getUserId()); } } }