/**
*
*/
package com.gmail.charleszq.picorner.task.px500;
import android.app.Activity;
import android.content.Context;
import com.github.yuyang226.j500px.J500px;
import com.github.yuyang226.j500px.users.User;
import com.gmail.charleszq.picorner.PicornerApplication;
import com.gmail.charleszq.picorner.msg.Message;
import com.gmail.charleszq.picorner.msg.MessageBus;
import com.gmail.charleszq.picorner.task.AbstractContextAwareTask;
import com.gmail.charleszq.picorner.utils.J500pxHelper;
/**
* @author charleszq
*
*/
public class PxFetchUserProfileTask extends
AbstractContextAwareTask<String, Integer, User> {
private boolean mIsMyProfile = true;
public PxFetchUserProfileTask(Context ctx) {
super(ctx);
}
/**
* if no params, means geting my own user profile; otherwise, get the user
* profile of the given user id.
*/
@Override
protected User doInBackground(String... params) {
J500px px = J500pxHelper.getJ500pxAuthedInstance(mContext);
try {
if (params.length > 0) {
mIsMyProfile = false;
return px.getUsersInterface().getUserProfile(
Integer.parseInt(params[0]), null, null);
} else {
mIsMyProfile = true;
return px.getUsersInterface().getUserProfile();
}
} catch (Exception e) {
return null;
}
}
@Override
protected void onPostExecute(User result) {
if (mIsMyProfile) {
PicornerApplication app = (PicornerApplication) ((Activity) mContext)
.getApplication();
app.savePxUserProfile(String.valueOf(result.getId()),
result.getUserName(), result.getUserPicUrl());
MessageBus.broadcastMessage(Message.PUBLIC_USER_LOGIN_MSG);
}
super.onPostExecute(result);
}
}