/**
* galaxy inc.
* meetup client for android
*/
package com.galaxy.meetup.client.android.api;
import java.io.IOException;
import android.content.Context;
import android.content.Intent;
import com.galaxy.meetup.client.android.content.EsAccount;
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.request.MuteUserRequest;
import com.galaxy.meetup.server.client.domain.response.MuteUserResponse;
import com.galaxy.meetup.server.client.v2.request.Request;
import com.galaxy.meetup.server.client.v2.response.Response;
/**
*
* @author sihai
*
*/
public class MuteUserOperation extends PlusiOperation {
private static Factory sFactory = new Factory();
private final PeopleData mDb;
private String mGaiaId;
private boolean mIsMute;
public MuteUserOperation(Context context, EsAccount esaccount, Intent intent, HttpOperation.OperationListener operationlistener, PeopleData peopledata)
{
super(context, esaccount, "muteuser", intent, operationlistener, MuteUserResponse.class);
mDb = peopledata;
}
public static Factory getFactory()
{
return sFactory;
}
protected final void handleResponse(Response response)
throws IOException
{
MuteUserResponse muteuserresponse = (MuteUserResponse)response;
mDb.setMuteState(mGaiaId, muteuserresponse.isMuted.booleanValue());
}
protected final Request populateRequest()
{
MuteUserRequest muteuserrequest = new MuteUserRequest();
muteuserrequest.obfuscatedGaiaId = mGaiaId;
muteuserrequest.shouldMute = Boolean.valueOf(mIsMute);
return muteuserrequest;
}
public final void startThreaded(String s, boolean flag)
{
mGaiaId = s;
mIsMute = flag;
startThreaded();
}
public static final class Factory
{
public static MuteUserOperation build(Context context, EsAccount esaccount, Intent intent, HttpOperation.OperationListener operationlistener, PeopleData peopledata)
{
return new MuteUserOperation(context, esaccount, intent, operationlistener, peopledata);
}
}
}