/** * 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 android.text.TextUtils; import com.galaxy.meetup.client.android.content.EsAccount; import com.galaxy.meetup.client.android.content.EsPhotosDataApiary; import com.galaxy.meetup.client.android.network.PlusiOperation; import com.galaxy.meetup.client.android.network.http.HttpOperation; import com.galaxy.meetup.client.android.service.EsSyncAdapterService; import com.galaxy.meetup.server.client.domain.DataPhoto; import com.galaxy.meetup.server.client.domain.RequestsPhotoOptions; import com.galaxy.meetup.server.client.domain.request.PhotosOfUserRequest; import com.galaxy.meetup.server.client.domain.response.PhotosOfUserResponse; import com.galaxy.meetup.server.client.v2.request.Request; import com.galaxy.meetup.server.client.v2.response.Response; /** * * @author sihai * */ public class PhotosOfUserOperation extends PlusiOperation { private final boolean mCoverOnly; private final EsSyncAdapterService.SyncState mSyncState; private final String mUserId; public PhotosOfUserOperation(Context context, EsAccount esaccount, EsSyncAdapterService.SyncState syncstate, String s, boolean flag, Intent intent, HttpOperation.OperationListener operationlistener) { super(context, esaccount, "photosofuser", intent, operationlistener, PhotosOfUserResponse.class); mSyncState = syncstate; mUserId = s; mCoverOnly = flag; } public PhotosOfUserOperation(Context context, EsAccount esaccount, String s, Intent intent, HttpOperation.OperationListener operationlistener) { this(context, esaccount, null, s, false, intent, operationlistener); } protected final void handleResponse(Response response) throws IOException { PhotosOfUserResponse photosofuserresponse = (PhotosOfUserResponse)response; onStartResultProcessing(); if(TextUtils.equals(mUserId, mAccount.getGaiaId())) { DataPhoto dataphoto; if(photosofuserresponse.approvedPhoto != null && photosofuserresponse.approvedPhoto.size() > 0) dataphoto = (DataPhoto)photosofuserresponse.approvedPhoto.get(0); else if(photosofuserresponse.unapprovedPhoto != null && photosofuserresponse.unapprovedPhoto.size() > 0) dataphoto = (DataPhoto)photosofuserresponse.unapprovedPhoto.get(0); else dataphoto = null; EsPhotosDataApiary.updatePhotosOfYouCover(mContext, mAccount, dataphoto); } if(!mCoverOnly) EsPhotosDataApiary.insertUserPhotos(mContext, mAccount, mSyncState, photosofuserresponse.approvedPhoto, photosofuserresponse.unapprovedPhoto, mUserId); } protected final Request populateRequest() { PhotosOfUserRequest photosofuserrequest = new PhotosOfUserRequest(); photosofuserrequest.ownerId = mUserId; RequestsPhotoOptions requestsphotooptions = new RequestsPhotoOptions(); requestsphotooptions.returnAlbumInfo = Boolean.valueOf(true); requestsphotooptions.returnComments = Boolean.valueOf(false); requestsphotooptions.returnDownloadability = Boolean.valueOf(true); requestsphotooptions.returnOwnerInfo = Boolean.valueOf(false); requestsphotooptions.returnPhotos = Boolean.valueOf(true); requestsphotooptions.returnPlusOnes = Boolean.valueOf(true); requestsphotooptions.returnShapes = Boolean.valueOf(true); requestsphotooptions.returnVideoUrls = Boolean.valueOf(true); photosofuserrequest.photoOptions = requestsphotooptions; if(mCoverOnly) photosofuserrequest.maxResults = Integer.valueOf(1); return photosofuserrequest; } }