public class CloudRequestTask<T> extends Task<T> { CloudRequest object; String Url; public CloudRequestTask(CloudRequest object, String url) { this.object = object; Url = "http://192.168.10.7:3000/api/v1/services/read/"; } @Override public void run() { StringRequest request= new StringRequest(Request.Method.POST,Url, new Response.Listener<String>() { @Override public void onResponse(String response) { TaskResult result=new TaskResult(); try{ result=TaskResult.parseFrom(response); if(result==null) throw new Exception("Error parsing response from server"); }catch (Exception e) { result=new TaskResult(); result.setSuccess(false); result.setMessage(e.getMessage()); }finally { fireOnComplete(result); } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { TaskResult result=new TaskResult(); result.setSuccess(false); try{ if(error instanceof TimeoutError) { result.setMessage("Request Timed out. Server unavailable or busy"); } else { String reponse=new String(error.networkResponse.data); result=TaskResult.parseFrom(reponse); } }catch (Exception e) { result.setMessage(e.getMessage()); } finally { fireOnComplete(result); } } }){ @Override public Map<String, String> getHeaders() throws AuthFailureError { HashMap<String, String> headers = new HashMap<String, String>(); headers.put("Content-Type", "application/json; charset=utf-8"); headers.put("device_fingerprint",HelpingHandsCloudApp.getInstance().getThisDevice().toJSON()); return headers; } @Override public byte[] getBody() { return new Gson().toJson(object).getBytes(); } }; VolleySingletonQueue.getInstance(HelpingHandsCloudApp.getInstance().getmContext()).addToRequestQueue(request); } }
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)