/** * galaxy inc. * meetup client for android */ package com.galaxy.meetup.client.android.api; import java.io.IOException; import java.util.Iterator; import java.util.List; import android.content.Context; import android.content.Intent; import com.galaxy.meetup.client.android.content.AudienceData; import com.galaxy.meetup.client.android.content.EsAccount; import com.galaxy.meetup.client.android.content.EsPeopleData; 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.Update; import com.galaxy.meetup.server.client.domain.request.PostActivityRequest; import com.galaxy.meetup.server.client.domain.response.PostActivityResponse; import com.galaxy.meetup.server.client.v2.request.Request; import com.galaxy.meetup.server.client.v2.response.Response; /** * * @author sihai * */ public class ReshareActivityOperation extends PlusiOperation { private final AudienceData mAudience; private final String mContent; private final String mReshareId; public ReshareActivityOperation(Context context, EsAccount esaccount, Intent intent, HttpOperation.OperationListener operationlistener, String s, String s1, AudienceData audiencedata) { super(context, esaccount, "postactivity", intent, operationlistener, PostActivityResponse.class); mReshareId = s; mContent = s1; mAudience = audiencedata; } protected final void handleResponse(Response response) throws IOException { PostActivityResponse postactivityresponse = (PostActivityResponse)response; if(postactivityresponse == null) { return; } List list = postactivityresponse.stream.update; if(list != null && list.size() > 0) { for(Iterator iterator = list.iterator(); iterator.hasNext();) { Update update = (Update)iterator.next(); if(!mReshareId.equals(update.sharedFromItemId)) continue; /* Loop/switch isn't completed */ } String s = EsPostsData.buildActivitiesStreamKey(null, null, null, false, 0); EsPostsData.insertActivitiesAndOverwrite(mContext, mAccount, s, list, "DEFAULT"); } } protected final Request populateRequest() { PostActivityRequest postactivityrequest = new PostActivityRequest(); postactivityrequest.resharedUpdateId = mReshareId; postactivityrequest.updateText = mContent; postactivityrequest.sharingRoster = EsPeopleData.convertAudienceToSharingRoster(mAudience); return postactivityrequest; } }