/** * 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.network.PlusiOperation; import com.galaxy.meetup.client.android.network.http.HttpOperation; import com.galaxy.meetup.server.client.domain.DataPersonList; import com.galaxy.meetup.server.client.domain.DataSyncStateToken; import com.galaxy.meetup.server.client.domain.DataSystemGroups; import com.galaxy.meetup.server.client.domain.DataViewerCircles; import com.galaxy.meetup.server.client.domain.LoadSocialNetworkRequestPersonListOptions; import com.galaxy.meetup.server.client.domain.LoadSocialNetworkRequestSystemGroupsOptions; import com.galaxy.meetup.server.client.domain.LoadSocialNetworkRequestViewerCirclesOptions; import com.galaxy.meetup.server.client.domain.request.LoadSocialNetworkRequest; import com.galaxy.meetup.server.client.domain.response.LoadSocialNetworkResponse; import com.galaxy.meetup.server.client.util.JsonUtil; import com.galaxy.meetup.server.client.v2.request.Request; import com.galaxy.meetup.server.client.v2.response.Response; /** * * @author sihai * */ public class LoadSocialNetworkOperation extends PlusiOperation { private DataViewerCircles mCircleList; private final boolean mLoadCircles; private final boolean mLoadPeople; private final int mMaxPeople; private DataPersonList mPersonList; private final String mSyncStateToken; private DataSystemGroups mSystemGroups; public LoadSocialNetworkOperation(Context context, EsAccount esaccount, boolean flag, boolean flag1, int i, String s, Intent intent, HttpOperation.OperationListener operationlistener) { super(context, esaccount, "loadsocialnetwork", null, operationlistener, LoadSocialNetworkResponse.class); mSyncStateToken = s; mLoadCircles = flag; mLoadPeople = flag1; mMaxPeople = i; } public final DataViewerCircles getCircleList() { return mCircleList; } public final DataPersonList getPersonList() { return mPersonList; } public final DataSystemGroups getSystemGroups() { return mSystemGroups; } protected final void handleResponse(Response response) throws IOException { LoadSocialNetworkResponse loadsocialnetworkresponse = (LoadSocialNetworkResponse)response; mCircleList = loadsocialnetworkresponse.viewerCircles; mSystemGroups = loadsocialnetworkresponse.systemGroups; mPersonList = loadsocialnetworkresponse.personList; } protected final Request populateRequest() { LoadSocialNetworkRequest loadsocialnetworkrequest = new LoadSocialNetworkRequest(); if(mLoadCircles) { loadsocialnetworkrequest.circlesOptions = new LoadSocialNetworkRequestViewerCirclesOptions(); loadsocialnetworkrequest.circlesOptions.includeCircles = Boolean.valueOf(true); loadsocialnetworkrequest.circlesOptions.includeMemberCounts = Boolean.valueOf(true); loadsocialnetworkrequest.systemGroupsOptions = new LoadSocialNetworkRequestSystemGroupsOptions(); loadsocialnetworkrequest.systemGroupsOptions.includeSystemGroups = Boolean.valueOf(true); loadsocialnetworkrequest.systemGroupsOptions.includeMemberCounts = Boolean.valueOf(true); } if(mLoadPeople) { loadsocialnetworkrequest.personListOptions = new LoadSocialNetworkRequestPersonListOptions(); loadsocialnetworkrequest.personListOptions.includePeople = Boolean.valueOf(true); loadsocialnetworkrequest.personListOptions.maxPeople = Integer.valueOf(mMaxPeople); loadsocialnetworkrequest.personListOptions.includeExtendedProfileInfo = Boolean.valueOf(true); if(mSyncStateToken != null) { DataSyncStateToken datasyncstatetoken = (DataSyncStateToken)JsonUtil.fromByteArray(mSyncStateToken.getBytes(), DataSyncStateToken.class); loadsocialnetworkrequest.personListOptions.syncStateToken = datasyncstatetoken; } } return loadsocialnetworkrequest; } }