package info.justaway.task; import android.os.AsyncTask; import de.greenrobot.event.EventBus; import info.justaway.R; import info.justaway.event.action.StatusActionEvent; import info.justaway.event.model.StreamingDestroyStatusEvent; import info.justaway.model.FavRetweetManager; import info.justaway.model.TwitterManager; import info.justaway.util.MessageUtil; import twitter4j.TwitterException; public class UnRetweetTask extends AsyncTask<Void, Void, TwitterException> { private long mRetweetedStatusId; private long mStatusId; private static final int ERROR_CODE_DUPLICATE = 34; public UnRetweetTask(long retweetedStatusId, long statusId) { mRetweetedStatusId = retweetedStatusId; mStatusId = statusId; if (mRetweetedStatusId > 0) { FavRetweetManager.setRtId(mRetweetedStatusId, null); EventBus.getDefault().post(new StatusActionEvent()); } } @Override protected TwitterException doInBackground(Void... params) { try { TwitterManager.getTwitter().destroyStatus(mStatusId); return null; } catch (TwitterException e) { e.printStackTrace(); return e; } } @Override protected void onPostExecute(TwitterException e) { if (e == null) { MessageUtil.showToast(R.string.toast_destroy_retweet_success); EventBus.getDefault().post(new StreamingDestroyStatusEvent(mStatusId)); } else if (e.getErrorCode() == ERROR_CODE_DUPLICATE) { MessageUtil.showToast(R.string.toast_destroy_retweet_already); } else { if (mRetweetedStatusId > 0) { FavRetweetManager.setRtId(mRetweetedStatusId, mStatusId); EventBus.getDefault().post(new StatusActionEvent()); } MessageUtil.showToast(R.string.toast_destroy_retweet_failure); } } }