package com.android.volley.examples.toolbox.updated;
import java.io.File;
import org.json.JSONObject;
import android.content.Context;
import android.os.Bundle;
import com.android.volley.Request;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.examples.toolbox.MultipartRequest;
import com.android.volley.examples.toolbox.MyVolley;
import com.android.volley.toolbox.JsonObjectRequest;
/**
* Common class for requesting network query or uploading file.
*
* @author DearDhruv
*/
public class JSONRequestResponse {
public JSONRequestResponse(Context cntx) {
mContext = cntx;
}
@SuppressWarnings("unused")
private final Context mContext;
private int reqCode;
private IJSONParseListener listner;
private boolean isFile = false;
private String file_path = "", key = "";
public void getResponse(String url, final int requestCode, IJSONParseListener mParseListener) {
getResponse(url, requestCode, mParseListener, null);
}
public void getResponse(String url, final int requestCode, IJSONParseListener mParseListener,
Bundle params) {
this.listner = mParseListener;
this.reqCode = requestCode;
Response.Listener<JSONObject> sListener = new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
if (listner != null) {
listner.SuccessResponse(response, reqCode);
}
}
};
Response.ErrorListener eListener = new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
if (listner != null) {
listner.ErrorResponse(error, reqCode);
}
}
};
if (!isFile) {
JsonObjectRequest jsObjRequest = new JsonObjectRequest(Request.Method.GET, url, null,
sListener, eListener);
MyVolley.getRequestQueue().add(jsObjRequest);
} else {
if (file_path != null) {
File mFile = new File(file_path);
MultipartRequest multipartRequest = new MultipartRequest(url, eListener, sListener,
key, mFile, params);
MyVolley.getRequestQueue().add(multipartRequest);
} else {
throw new NullPointerException("File path is null");
}
}
}
/**
* @return the isFile
*/
public boolean isFile() {
return isFile;
}
/**
* @param isFile the File to set
*/
public void setFile(String param, String path) {
if (path != null && param != null) {
key = param;
file_path = path;
this.isFile = true;
}
}
}