/** * */ package com.gmail.charleszq.picorner.task.flickr; import android.content.Context; import com.gmail.charleszq.picorner.task.AbstractContextAwareTask; import com.gmail.charleszq.picorner.task.IGeneralTaskDoneListener; import com.gmail.charleszq.picorner.utils.FlickrHelper; import com.googlecode.flickrjandroid.Flickr; import com.googlecode.flickrjandroid.favorites.FavoritesInterface; /** * Represents the task to add a photo as favorite or remove a photo from my fav list. * * @author Charles(charleszq@gmail.com) * */ public class FlickrLikeTask extends AbstractContextAwareTask<String, Integer, Boolean> { /** * @param ctx * should be an activity * @param lis */ public FlickrLikeTask(Context ctx, IGeneralTaskDoneListener<Boolean> lis) { super(ctx); addTaskDoneListener(lis); } /* * (non-Javadoc) * * @see android.os.AsyncTask#doInBackground(Params[]) */ @Override protected Boolean doInBackground(String... params) { boolean result = false; if (params.length == 0) { return result; } String photoId = params[0]; boolean like = true; if (params.length > 1) { like = Boolean.parseBoolean(params[1]); } Flickr f = FlickrHelper.getInstance().getFlickrAuthed(mContext); FavoritesInterface fi = f.getFavoritesInterface(); try { if (like) { fi.add(photoId); } else { fi.remove(photoId); } result = true; } catch (Exception e) { } return result; } }