package com.xiaomi.xms.sales.loader; import android.content.Context; import android.text.TextUtils; import com.xiaomi.xms.sales.model.Tags; import com.xiaomi.xms.sales.request.HostManager; import com.xiaomi.xms.sales.request.Request; import org.json.JSONObject; public class RegionPaymentLoader extends BaseLoader<RegionPaymentLoader.Result> { private String mPayId; private String mRegionId; private String mMihomeBuyId; public RegionPaymentLoader(Context context, String payId, String regionId, String miHomeBuyId) { super(context); mPayId = payId; mRegionId = regionId; mMihomeBuyId = miHomeBuyId; setNeedDatabase(false); } public static final class Result extends BaseResult { public JSONObject json; @Override public int getCount() { return json == null ? 0 : 1; } @Override public BaseResult shallowClone() { Result newResult = new Result(); newResult.json = json; return newResult; } } @Override protected UpdateTask getUpdateTask() { return new MyUpdateTask(); } private class MyUpdateTask extends UpdateTask { @Override protected Request getRequest() { Request r = new Request(HostManager.getRegionPayment()); r.addParam("pay_id", mPayId); r.addParam("region_id", mRegionId); if (!TextUtils.isEmpty(mMihomeBuyId)) { r.addParam(Tags.CheckoutSubmit.MIHOME_BUY_ID, mMihomeBuyId); } return r; } } @Override protected Result parseResult(JSONObject json, Result baseResult) throws Exception { Result result = (Result) baseResult; result.json = json; return result; } @Override protected Result getResultInstance() { return new Result(); } @Override protected String getCacheKey() { return null; } }