/**
*
*/
package com.gmail.charleszq.picorner.task.ig;
import org.jinstagram.Instagram;
import android.app.Activity;
import android.content.Context;
import android.util.Log;
import com.gmail.charleszq.picorner.PicornerApplication;
import com.gmail.charleszq.picorner.task.AbstractContextAwareTask;
import com.gmail.charleszq.picorner.task.IGeneralTaskDoneListener;
import com.gmail.charleszq.picorner.utils.InstagramHelper;
/**
* Represents the task to like a photo, or remove the photo from my like list.
*
* @author charles(charleszq@gmail.com)
*
*/
public class InstagramLikePhotoTask extends
AbstractContextAwareTask<String, Integer, Boolean> {
public InstagramLikePhotoTask(Context ctx,
IGeneralTaskDoneListener<Boolean> lis) {
super(ctx);
addTaskDoneListener(lis);
}
@Override
protected Boolean doInBackground(String... params) {
String id = params[0];
Log.d(TAG,"instagram media id: " + id); //$NON-NLS-1$
int index = id.indexOf("_"); //$NON-NLS-1$
if (index != -1) {
id = id.substring(0, index);
Log.d(TAG,"instagram media id: " + id); //$NON-NLS-1$
}
boolean like = true;
if (params.length > 1) {
like = Boolean.parseBoolean(params[1]);
}
PicornerApplication app = (PicornerApplication) ((Activity) mContext)
.getApplication();
Instagram ig = InstagramHelper.getInstance().getAuthedInstagram(
app.getInstagramAuthToken());
try {
if (like) {
ig.setUserLike(Long.parseLong(id));
} else {
ig.deleteUserLike(Long.parseLong(id));
}
} catch (Exception e) {
Log.e(TAG, "Unable to like the instagram photo: " + id); //$NON-NLS-1$
return false;
}
return true;
}
}