package com.xiaomi.xms.sales.loader; import android.content.Context; import com.xiaomi.xms.sales.model.MiHomeCheckInfo; import com.xiaomi.xms.sales.model.Tags; import com.xiaomi.xms.sales.request.HostManager; import com.xiaomi.xms.sales.request.Request; import com.xiaomi.xms.sales.request.HostManager.Parameters; import org.json.JSONObject; public class MihomeCheckLoader extends BaseLoader{ public static final String CACHE_KEY = "MihomeCheckinfo"; private String mMihomeId; public MihomeCheckLoader(Context context, String mihomeId) { super(context); mMihomeId = mihomeId; } public static final class Result extends BaseResult { public MiHomeCheckInfo mMiHomeCheckInfo; @Override public BaseResult shallowClone() { Result newResult = new Result(); newResult.mMiHomeCheckInfo = mMiHomeCheckInfo; return newResult; } @Override protected int getCount() { return mMiHomeCheckInfo == null ? 0 : 1; } } @Override protected UpdateTask getUpdateTask() { return new MiHomeCheckInfoUpdateTask(); } private class MiHomeCheckInfoUpdateTask extends UpdateTask { @Override protected Request getRequest() { Request request = new Request(HostManager.getMihomeSignInfo()); request.addParam(Tags.MihomeCheckInfo.TDCODE, mMihomeId); return request; } } @Override protected BaseResult parseResult(JSONObject json, BaseResult baseResult) throws Exception { Result result = (Result) baseResult; result.mMiHomeCheckInfo = MiHomeCheckInfo.fromJSONObject(json); return result; } @Override protected BaseResult getResultInstance() { return new Result(); } @Override protected String getCacheKey() { return CACHE_KEY; } }