package com.xiaomi.xms.sales.loader;
import android.content.Context;
import android.support.v4.content.AsyncTaskLoader;
import com.xiaomi.xms.sales.loader.RequestLoader.Result;
import com.xiaomi.xms.sales.request.Request;
import org.json.JSONObject;
public class RequestLoader extends AsyncTaskLoader<Result> {
private static final String TAG = "RequestLoader";
private Request mRequest;
private int mRequestCode;
public RequestLoader(Context context) {
super(context);
}
public void load(int requestCode, Request req) {
mRequestCode = requestCode;
mRequest = req;
forceLoad();
}
@Override
public Result loadInBackground() {
if (mRequest != null) {
Result result = new Result();
result.mRequestCode = mRequestCode;
result.mStatus = mRequest.getStatus();
result.mData = mRequest.requestJSON();
result.mEtag = mRequest.getEtag();
result.mRequest = mRequest;
return result;
}
return null;
}
public static final class Result extends BaseResult {
public int mRequestCode;
public int mStatus;
public String mRequestUrl;
public JSONObject mData;
public String mEtag;
public Request mRequest;
@Override
public BaseResult shallowClone() {
Result newResult = new Result();
newResult.mRequestCode = mRequestCode;
newResult.mStatus = mStatus;
newResult.mRequestUrl = mRequestUrl;
newResult.mData = mData;
newResult.mEtag = mEtag;
newResult.mRequest = mRequest;
return newResult;
}
@Override
protected int getCount() {
return 0;
}
}
}