package com.tomclaw.mandarin.im.icq; import com.tomclaw.mandarin.util.HttpParamsBuilder; import org.json.JSONException; import org.json.JSONObject; import static com.tomclaw.mandarin.im.icq.WimConstants.RESPONSE_OBJECT; import static com.tomclaw.mandarin.im.icq.WimConstants.STATUS_CODE; /** * Created by Solkin on 20.12.2015. */ public class SetPermitDenyRequest extends WimRequest { private String pdAllow; private String pdIgnore; private String pdBlock; private String pdAllowRemove; private String pdIgnoreRemove; private String pdBlockRemove; private String pdMode; public SetPermitDenyRequest() { } public void setPdAllow(String pdAllow) { this.pdAllow = pdAllow; } public void setPdIgnore(String pdIgnore) { this.pdIgnore = pdIgnore; } public void setPdBlock(String pdBlock) { this.pdBlock = pdBlock; } public void setPdAllowRemove(String pdAllowRemove) { this.pdAllowRemove = pdAllowRemove; } public void setPdIgnoreRemove(String pdIgnoreRemove) { this.pdIgnoreRemove = pdIgnoreRemove; } public void setPdBlockRemove(String pdBlockRemove) { this.pdBlockRemove = pdBlockRemove; } public void setPdMode(String pdMode) { this.pdMode = pdMode; } @Override protected int parseJson(JSONObject response) throws JSONException { JSONObject responseObject = response.getJSONObject(RESPONSE_OBJECT); int statusCode = responseObject.getInt(STATUS_CODE); // Check for server reply. if (statusCode == WIM_OK) { return REQUEST_DELETE; } // Maybe incorrect aim sid or other strange error we've not recognized. return REQUEST_SKIP; } @Override protected String getUrl() { return getAccountRoot().getWellKnownUrls().getWebApiBase() .concat("preference/setPermitDeny"); } @Override protected HttpParamsBuilder getParams() { return new HttpParamsBuilder() .appendParam("aimsid", getAccountRoot().getAimSid()) .appendParam("f", "json") .appendParamNonEmpty("pdAllow", pdAllow) .appendParamNonEmpty("pdAllow", pdAllow) .appendParamNonEmpty("pdIgnore", pdIgnore) .appendParamNonEmpty("pdBlock", pdBlock) .appendParamNonEmpty("pdAllowRemove", pdAllowRemove) .appendParamNonEmpty("pdIgnoreRemove", pdIgnoreRemove) .appendParamNonEmpty("pdBlockRemove", pdBlockRemove) .appendParamNonEmpty("pdMode", pdMode); } }