package com.xiaomi.xms.sales.loader;
import android.content.Context;
import com.xiaomi.xms.sales.model.AddressInfo;
import com.xiaomi.xms.sales.request.HostManager;
import com.xiaomi.xms.sales.request.Request;
import org.json.JSONObject;
import java.util.ArrayList;
public class AddressInfoLoader extends BaseLoader {
private static final String TAG = "AddressInfoLoader";
private final String CACHE_KEY = "addressInfo";
public AddressInfoLoader(Context context) {
super(context);
}
public static final class Result extends BaseResult {
public ArrayList<AddressInfo> mAddressInfos;
@Override
public BaseResult shallowClone() {
Result newResult = new Result();
newResult.mAddressInfos = mAddressInfos;
return newResult;
}
@Override
protected int getCount() {
return mAddressInfos == null ? 0 : mAddressInfos.size();
}
}
@Override
protected UpdateTask getUpdateTask() {
return new AddressInfoUpdateTask();
}
@Override
protected String getCacheKey() {
return CACHE_KEY;
}
private class AddressInfoUpdateTask extends UpdateTask {
@Override
protected Request getRequest() {
return new Request(HostManager.getAddressInfo());
}
}
@Override
protected BaseResult parseResult(JSONObject json, BaseResult baseResult) throws Exception {
Result result = (Result) baseResult;
result.mAddressInfos = AddressInfo.fromJSONObject(json);
return result;
}
@Override
protected BaseResult getResultInstance() {
return new Result();
}
@Override
protected boolean isUserRelated() {
return true;
}
}