/** * */ package com.gmail.charleszq.picorner.ui.command; import android.content.Context; import com.gmail.charleszq.picorner.SPUtil; import com.gmail.charleszq.picorner.model.MediaObject; import com.gmail.charleszq.picorner.task.flickr.FlickrLikeTask; import com.gmail.charleszq.picorner.task.ig.InstagramLikePhotoTask; /** * @author Charles(charleszq@gmail.com) * */ public class LikePhotoCommand extends AbstractCommand<Boolean> { public LikePhotoCommand(Context context) { super(context); } /** * params[0] should be a <code>MediaObject</code>, so I know which task to * use. */ @Override public boolean execute(Object... params) { if (params.length == 0) { return false; } MediaObject photo = (MediaObject) params[0]; switch (photo.getMediaSource()) { case FLICKR: if (!SPUtil.isFlickrAuthed(mContext)) { return false; } FlickrLikeTask task = new FlickrLikeTask(mContext, this.mTaskDoneListner); task.execute(photo.getId()); break; case INSTAGRAM: if (SPUtil.getInstagramUserId(mContext) == null) { return false; } InstagramLikePhotoTask igLikeTask = new InstagramLikePhotoTask( mContext, this.mTaskDoneListner); igLikeTask.execute(photo.getId()); break; case PX500: if (SPUtil.getPx500OauthToken(mContext) == null) { return false; } break; } return true; } @Override public int getIconResourceId() { return 0; } @Override public String getLabel() { return null; } }