/**
* galaxy inc.
* meetup client for android
*/
package com.galaxy.meetup.client.android.api;
import java.io.IOException;
import java.util.List;
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.PeopleRequestData;
import com.galaxy.meetup.server.client.domain.SearchQuery;
import com.galaxy.meetup.server.client.domain.request.SearchQueryRequest;
import com.galaxy.meetup.server.client.domain.response.SearchQueryResponse;
import com.galaxy.meetup.server.client.v2.request.Request;
import com.galaxy.meetup.server.client.v2.response.Response;
/**
*
* @author sihai
*
*/
public class PeopleSearchQueryOperation extends PlusiOperation {
private final String mContinuationToken;
private boolean mInludePlusPages;
private String mNewContinuationToken;
private List mPeopleResults;
private final String mQuery;
public PeopleSearchQueryOperation(Context context, EsAccount esaccount, String s, String s1, boolean flag, Intent intent, HttpOperation.OperationListener operationlistener)
{
super(context, esaccount, "searchquery", null, null, SearchQueryResponse.class);
mQuery = s;
mContinuationToken = s1;
mInludePlusPages = flag;
}
public final String getContinuationToken()
{
return mNewContinuationToken;
}
public final List getPeopleSearchResults()
{
return mPeopleResults;
}
protected final void handleResponse(Response response)
throws IOException
{
SearchQueryResponse searchqueryresponse = (SearchQueryResponse)response;
if(searchqueryresponse.results != null && searchqueryresponse.results.peopleResults != null)
{
mNewContinuationToken = searchqueryresponse.results.peopleResults.shownPeopleBlob;
mPeopleResults = searchqueryresponse.results.peopleResults.result;
}
}
protected final Request populateRequest()
{
SearchQueryRequest searchqueryrequest = new SearchQueryRequest();
searchqueryrequest.searchQuery = new SearchQuery();
searchqueryrequest.searchQuery.queryText = mQuery;
SearchQuery searchquery = searchqueryrequest.searchQuery;
String s;
if(mInludePlusPages)
s = "PEOPLE";
else
s = "PEOPLE_ONLY";
searchquery.filter = s;
if(mContinuationToken != null)
{
searchqueryrequest.peopleRequestData = new PeopleRequestData();
searchqueryrequest.peopleRequestData.shownPeopleBlob = mContinuationToken;
}
return searchqueryrequest;
}
}