/**
* galaxy inc.
* meetup client for android
*/
package com.galaxy.meetup.client.android.api;
import java.io.IOException;
import java.util.ArrayList;
import android.content.Context;
import android.content.Intent;
import com.galaxy.meetup.client.android.content.EsAccount;
import com.galaxy.meetup.client.android.content.EsPeopleData;
import com.galaxy.meetup.client.android.content.PeopleData;
import com.galaxy.meetup.client.android.network.PlusiOperation;
import com.galaxy.meetup.client.android.network.http.HttpOperation;
import com.galaxy.meetup.server.client.domain.DataMemberToBlock;
import com.galaxy.meetup.server.client.domain.DataMembersToBlock;
import com.galaxy.meetup.server.client.domain.request.BlockUserRequest;
import com.galaxy.meetup.server.client.domain.response.BlockUserResponse;
import com.galaxy.meetup.server.client.v2.request.Request;
import com.galaxy.meetup.server.client.v2.response.Response;
/**
*
* @author sihai
*
*/
public class BlockUserOperation extends PlusiOperation {
private static Factory sFactory = new Factory();
private final PeopleData mDb;
private boolean mIsBlocked;
private String mName;
private String mPersonId;
BlockUserOperation(Context context, EsAccount esaccount, Intent intent, HttpOperation.OperationListener operationlistener, PeopleData peopledata)
{
super(context, esaccount, "blockuser", intent, operationlistener, BlockUserResponse.class);
mDb = peopledata;
}
public static Factory getFactory()
{
return sFactory;
}
protected final void handleResponse(Response response) throws IOException
{
mDb.setBlockedState(mPersonId, mName, mIsBlocked);
}
@Override
protected final Request populateRequest()
{
BlockUserRequest blockuserrequest = new BlockUserRequest();
blockuserrequest.membersToBlock = new DataMembersToBlock();
blockuserrequest.membersToBlock.block = Boolean.valueOf(mIsBlocked);
blockuserrequest.membersToBlock.members = new ArrayList();
DataMemberToBlock datamembertoblock = new DataMemberToBlock();
datamembertoblock.memberId = EsPeopleData.getCircleMemberId(mPersonId);
datamembertoblock.name = mName;
blockuserrequest.membersToBlock.members.add(datamembertoblock);
return blockuserrequest;
}
public final void startThreaded(String s, String s1, boolean flag)
{
mPersonId = s;
mName = s1;
mIsBlocked = flag;
startThreaded();
}
public static final class Factory
{
public static BlockUserOperation build(Context context, EsAccount esaccount, Intent intent, HttpOperation.OperationListener operationlistener, PeopleData peopledata)
{
return new BlockUserOperation(context, esaccount, intent, operationlistener, peopledata);
}
Factory()
{
}
}
}