/**
* galaxy inc.
* meetup client for android
*/
package com.galaxy.meetup.client.android.api;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import android.content.Context;
import android.content.Intent;
import android.text.TextUtils;
import com.galaxy.meetup.client.android.content.EsAccount;
import com.galaxy.meetup.client.android.content.EsPostsData;
import com.galaxy.meetup.client.android.network.PlusiOperation;
import com.galaxy.meetup.client.android.network.http.HttpOperation;
import com.galaxy.meetup.server.client.domain.ClientEmbedOptions;
import com.galaxy.meetup.server.client.domain.RenderContext;
import com.galaxy.meetup.server.client.domain.Update;
import com.galaxy.meetup.server.client.domain.request.GetActivityRequest;
import com.galaxy.meetup.server.client.domain.response.GetActivityResponse;
import com.galaxy.meetup.server.client.v2.request.Request;
import com.galaxy.meetup.server.client.v2.response.Response;
/**
*
* @author sihai
*
*/
public class GetActivityOperation extends PlusiOperation {
private final String mActivityId;
private final String mOwnerGaiaId;
private String mResponseUpdateId;
private final String mSquareId;
public GetActivityOperation(Context context, EsAccount esaccount, String s, String s1, String s2, Intent intent, HttpOperation.OperationListener operationlistener)
{
super(context, esaccount, "getactivity", intent, operationlistener, GetActivityResponse.class);
mActivityId = s;
mOwnerGaiaId = s1;
mSquareId = s2;
}
public final String getResponseUpdateId()
{
return mResponseUpdateId;
}
protected final void handleResponse(Response response) throws IOException
{
GetActivityResponse getactivityresponse = (GetActivityResponse)response;
ArrayList arraylist = new ArrayList(1);
arraylist.add(getactivityresponse.update);
EsPostsData.insertActivitiesAndOverwrite(mContext, mAccount, null, arraylist, "DEFAULT");
Iterator iterator = arraylist.iterator();
if(iterator.hasNext())
mResponseUpdateId = ((Update)iterator.next()).updateId;
}
protected final Request populateRequest()
{
GetActivityRequest getactivityrequest = new GetActivityRequest();
getactivityrequest.activityId = mActivityId;
if(!TextUtils.isEmpty(mOwnerGaiaId))
getactivityrequest.ownerId = mOwnerGaiaId;
getactivityrequest.fetchReadState = Boolean.valueOf(true);
getactivityrequest.embedOptions = new ClientEmbedOptions();
getactivityrequest.embedOptions.includeType = EsPostsData.getEmbedsWhitelist();
if(!TextUtils.isEmpty(mSquareId))
{
getactivityrequest.renderContext = new RenderContext();
getactivityrequest.renderContext.location = "MOBILE_SQUARE_STREAM";
getactivityrequest.renderContext.streamId = new ArrayList();
getactivityrequest.renderContext.streamId.add(mSquareId);
}
return getactivityrequest;
}
}