/** * galaxy inc. * meetup client for android */ package com.galaxy.meetup.client.android.api; import java.io.IOException; import java.util.ArrayList; import java.util.List; import android.content.Context; import android.content.Intent; import android.database.sqlite.SQLiteDatabase; import com.galaxy.meetup.client.android.content.AudienceData; import com.galaxy.meetup.client.android.content.EsAccount; import com.galaxy.meetup.client.android.content.EsAvatarData; import com.galaxy.meetup.client.android.content.EsDatabaseHelper; import com.galaxy.meetup.client.android.content.EsPeopleData; import com.galaxy.meetup.client.android.content.PersonData; import com.galaxy.meetup.client.android.network.PlusiOperation; import com.galaxy.meetup.client.android.network.http.HttpOperation; import com.galaxy.meetup.client.util.PrimitiveUtils; import com.galaxy.meetup.server.client.domain.MemberList; import com.galaxy.meetup.server.client.domain.MemberListQuery; import com.galaxy.meetup.server.client.domain.SquareMember; import com.galaxy.meetup.server.client.domain.request.ReadSquareMembersOzRequest; import com.galaxy.meetup.server.client.domain.response.ReadSquareMembersOzResponse; import com.galaxy.meetup.server.client.v2.request.Request; import com.galaxy.meetup.server.client.v2.response.Response; /** * * @author sihai * */ public class ReadSquareMembersOperation extends PlusiOperation { private final String mContinuationtoken; private final String mSquareId; private AudienceData mSquareMembers; public ReadSquareMembersOperation(Context context, EsAccount esaccount, String s, String s1, Intent intent, HttpOperation.OperationListener operationlistener) { super(context, esaccount, "readsquaremembers", intent, operationlistener, ReadSquareMembersOzResponse.class); mSquareId = s; mContinuationtoken = s1; } public final AudienceData getSquareMembers() { return mSquareMembers; } protected final void handleResponse(Response response) throws IOException { int i = 0; ReadSquareMembersOzResponse readsquaremembersozresponse = (ReadSquareMembersOzResponse)response; int j; List list; ArrayList arraylist; SQLiteDatabase sqlitedatabase; int k; SquareMember squaremember; if(readsquaremembersozresponse.memberList != null && readsquaremembersozresponse.memberList.size() > 0) { MemberList memberlist = (MemberList)readsquaremembersozresponse.memberList.get(0); List list1 = memberlist.member; int l = PrimitiveUtils.safeInt(memberlist.totalMembers); list = list1; j = l; } else { j = 0; list = null; } arraylist = new ArrayList(); if(null != list) { sqlitedatabase = EsDatabaseHelper.getDatabaseHelper(mContext, mAccount).getWritableDatabase(); try { sqlitedatabase.beginTransaction(); for(k = list.size(); i < k; i++) { squaremember = (SquareMember)list.get(i); arraylist.add(new PersonData(squaremember.obfuscatedGaiaId, squaremember.displayName, null, EsAvatarData.compressAvatarUrl(squaremember.photoUrl))); EsPeopleData.replaceUserInTransaction(sqlitedatabase, squaremember.obfuscatedGaiaId, squaremember.displayName, squaremember.photoUrl); } sqlitedatabase.setTransactionSuccessful(); } finally { sqlitedatabase.endTransaction(); } } mSquareMembers = new AudienceData(arraylist, null, j); } protected final Request populateRequest() { ReadSquareMembersOzRequest readsquaremembersozrequest = new ReadSquareMembersOzRequest(); MemberListQuery memberlistquery = new MemberListQuery(); memberlistquery.membershipStatus = "MEMBER"; memberlistquery.pageLimit = Integer.valueOf(100); memberlistquery.continuationToken = mContinuationtoken; readsquaremembersozrequest.obfuscatedSquareId = mSquareId; readsquaremembersozrequest.memberListQuery = new ArrayList(); readsquaremembersozrequest.memberListQuery.add(memberlistquery); return readsquaremembersozrequest; } }