/**
*
*/
package com.gmail.charleszq.picorner.ui.command.flickr;
import android.content.Context;
import com.gmail.charleszq.picorner.R;
import com.gmail.charleszq.picorner.SPUtil;
import com.gmail.charleszq.picorner.model.FlickrUserPhotoPool;
import com.gmail.charleszq.picorner.service.IPhotoService;
import com.gmail.charleszq.picorner.service.flickr.FlickrPhotoGroupPhotosService;
import com.gmail.charleszq.picorner.task.AbstractFetchIconUrlTask;
import com.gmail.charleszq.picorner.task.flickr.FetchFlickrGroupIconUrlTask;
import com.gmail.charleszq.picorner.ui.command.PhotoListCommand;
import com.googlecode.flickrjandroid.groups.Group;
import com.googlecode.flickrjandroid.photos.PhotoPlace;
/**
* @author Charles(charleszq@gmail.com)
*
*/
public class FlickrUserGroupCommand extends PhotoListCommand {
private Group mGroup;
/**
* @param context
*/
public FlickrUserGroupCommand(Context context, Group group) {
super(context);
this.mGroup = group;
}
@Override
public int getIconResourceId() {
return -1;
}
@Override
public String getLabel() {
return mGroup.getName();
}
@Override
public Object getAdapter(Class<?> adapterClass) {
if (adapterClass == AbstractFetchIconUrlTask.class) {
return new FetchFlickrGroupIconUrlTask(mContext, mGroup);
}
if (adapterClass == IPhotoService.class) {
if (mCurrentPhotoService == null) {
String userId = SPUtil.getFlickrUserId(mContext);
String token = SPUtil.getFlickrAuthToken(mContext);
String secret = SPUtil.getFlickrAuthTokenSecret(mContext);
mCurrentPhotoService = new FlickrPhotoGroupPhotosService(
userId, token, secret, mGroup.getId());
}
return mCurrentPhotoService;
}
if (adapterClass == FlickrUserPhotoPool.class) {
return PhotoPlace.POOL + mGroup.getId();
}
return super.getAdapter(adapterClass);
}
@Override
public String getDescription() {
String s = mContext.getString(R.string.cd_flickr_group_photos);
return String.format(s, mGroup.getName());
}
}