package com.webservices;
import org.json.JSONObject;
import android.content.Context;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.Response.ErrorListener;
import com.android.volley.Response.Listener;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.JsonObjectRequest;
import com.android.volley.toolbox.Volley;
import com.interfaces.DownloadObserver;
import com.interfaces.Executor;
public abstract class WebService implements Executor {
protected RequestQueue _RequestQueue = null;
protected DownloadObserver _DownloadObserver = null;
protected JsonObjectRequest _Request = null;
public WebService(Context context, DownloadObserver _DownloadObserver) {
this._RequestQueue = Volley.newRequestQueue(context);
this._DownloadObserver = _DownloadObserver;
}
protected Response.Listener<JSONObject> reponseListener = new Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
_DownloadObserver.onDownloadingComplete(response);
}
};
protected Response.ErrorListener errorListener = new ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
_DownloadObserver.onDownloadFailure(error);
}
};
@Override
public void execute() {
_RequestQueue.add(_Request);
_DownloadObserver.onDownloadingStart();
}
}