/**
* galaxy inc.
* meetup client for android
*/
package com.galaxy.meetup.client.android.api;
import java.io.IOException;
import java.util.ArrayList;
import android.content.Context;
import android.content.Intent;
import com.galaxy.meetup.client.android.content.EsAccount;
import com.galaxy.meetup.client.android.content.EsPhotosDataApiary;
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.DataAbuseReport;
import com.galaxy.meetup.server.client.domain.request.ReportAbuseActivityRequest;
import com.galaxy.meetup.server.client.domain.response.ReportAbuseActivityResponse;
import com.galaxy.meetup.server.client.v2.request.Request;
import com.galaxy.meetup.server.client.v2.response.Response;
/**
*
* @author sihai
*
*/
public class ReportAbuseActivityOperation extends PlusiOperation {
private final String mAbuseType;
private final String mActivityId;
private final String mCommentId;
private final boolean mDeleteComment;
private final boolean mIsUndo;
private final String mSourceStreamId;
public ReportAbuseActivityOperation(Context context, EsAccount esaccount, Intent intent, HttpOperation.OperationListener operationlistener, String s, String s1, String s2)
{
this(context, esaccount, intent, operationlistener, s, s1, null, false, s2, false);
}
private ReportAbuseActivityOperation(Context context, EsAccount esaccount, Intent intent, HttpOperation.OperationListener operationlistener, String s, String s1, String s2,
boolean flag, String s3, boolean flag1)
{
super(context, esaccount, "reportabuseactivity", intent, operationlistener, ReportAbuseActivityResponse.class);
mActivityId = s;
mSourceStreamId = s1;
mCommentId = s2;
mAbuseType = s3;
mDeleteComment = flag;
mIsUndo = flag1;
}
public ReportAbuseActivityOperation(Context context, EsAccount esaccount, Intent intent, HttpOperation.OperationListener operationlistener, String s, String s1, boolean flag,
boolean flag1)
{
this(context, esaccount, intent, operationlistener, s, null, s1, flag, "SPAM", flag1);
}
protected final void handleResponse(Response response) throws IOException
{
if(mCommentId != null) {
if(mDeleteComment)
{
EsPostsData.deleteComment(mContext, mAccount, mCommentId);
EsPhotosDataApiary.deletePhotoComment(mContext, mAccount, mCommentId);
}
} else {
EsPostsData.deleteActivity(mContext, mAccount, mActivityId);
}
}
protected final Request populateRequest()
{
ReportAbuseActivityRequest reportabuseactivityrequest = new ReportAbuseActivityRequest();
ArrayList arraylist = new ArrayList(1);
if(mCommentId == null)
arraylist.add(mActivityId);
else
arraylist.add(mCommentId);
reportabuseactivityrequest.itemId = arraylist;
reportabuseactivityrequest.isUndo = Boolean.valueOf(mIsUndo);
reportabuseactivityrequest.abuseReport = new DataAbuseReport();
reportabuseactivityrequest.abuseReport.abuseType = mAbuseType;
reportabuseactivityrequest.abuseReport.destinationStreamId = mSourceStreamId;
return reportabuseactivityrequest;
}
}