/**
*
*/
package com.gmail.charleszq.picorner.task.px500;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.content.Context;
import android.util.Log;
import com.github.yuyang226.j500px.J500px;
import com.github.yuyang226.j500px.users.User;
import com.github.yuyang226.j500px.users.UserList;
import com.github.yuyang226.j500px.users.UsersInterface;
import com.gmail.charleszq.picorner.BuildConfig;
import com.gmail.charleszq.picorner.PicornerApplication;
import com.gmail.charleszq.picorner.model.Author;
import com.gmail.charleszq.picorner.task.AbstractContextAwareTask;
import com.gmail.charleszq.picorner.utils.IConstants;
import com.gmail.charleszq.picorner.utils.J500pxHelper;
/**
* @author charles(charleszq@gmail.com)
*
*/
public class Px500FetchFriendsTask extends
AbstractContextAwareTask<Void, Integer, List<Author>> {
public Px500FetchFriendsTask(Context ctx) {
super(ctx);
}
@Override
protected List<Author> doInBackground(Void... params) {
PicornerApplication app = (PicornerApplication) ((Activity) mContext)
.getApplication();
Author me = app.getPxUserProfile();
J500px px = J500pxHelper.getJ500pxAuthedInstance(mContext);
UsersInterface ui = px.getUsersInterface();
List<Author> friends = new ArrayList<Author>();
int page = 1;
try {
UserList ul = ui.getUserFriends(Integer.valueOf(me.getUserId()),
page, IConstants.DEF_500PX_PAGE_SIZE);
while (ul != null && !ul.isEmpty()) {
for (User u : ul) {
Author a = new Author();
a.setUserId(Integer.toString(u.getId()));
a.setUserName(u.getUserName());
a.setBuddyIconUrl(u.getUserPicUrl());
friends.add(a);
}
page++;
ul = ui.getUserFriends(Integer.valueOf(me.getUserId()), page,
IConstants.DEF_500PX_PAGE_SIZE);
}
} catch (Exception e) {
if (BuildConfig.DEBUG) {
Log.w(TAG, "unable to get friend list: " + e.getMessage()); //$NON-NLS-1$
}
}
return friends;
}
}