Subversion Repositories SmartDukaan

Rev

Blame | Last modification | View Log | RSS feed

package com.saholic.profittill.Volley;

import android.content.Context;

import com.android.volley.AuthFailureError;
import com.android.volley.NetworkResponse;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.toolbox.StringRequest;
import com.saholic.profittill.MyFirebaseMessagingService;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import java.util.Map;

public class NotificationPollingRequest extends Request<JSONObject> {
    private Response.Listener<JSONObject> listener;
    private Response.Listener<String> stringListener;
    private Response.ErrorListener errorListener ;
    private Map<String, String> params;
    private String analyticsUrl;
    private  static Context context;

    public NotificationPollingRequest(String url, Map<String, String> params,
                                     Response.Listener<JSONObject> reponseListener, Response.ErrorListener errorListener, Context c) {
        super(Request.Method.GET, url, errorListener);
        this.listener = reponseListener;
        this.errorListener = errorListener;
        this.params = params;
        this.analyticsUrl=url;
        this.context= c;
    }

    public void notificationCountRequest(Context c){
        RequestQueue queue = AnalyticsSingleton.getmInstance().getRequestQueue();
        StringRequest request = new StringRequest(
                Request.Method.GET,
                analyticsUrl,
                NotificationPollingResponse1.getNotificationCountStringRequestInstance(),
                errorListener
        ){
            @Override
            protected Map<String, String> getParams() throws AuthFailureError {
                return params;
            }
        };
        queue.add(request);
    }

    @Override
    protected Response<JSONObject> parseNetworkResponse(NetworkResponse response) {
        return null;
    }

    @Override
    protected void deliverResponse(JSONObject response) {

    }


    public static void getCount(String response){
        MyFirebaseMessagingService gcmNotificationIntentService = new MyFirebaseMessagingService();
        try {
            gcmNotificationIntentService.sendNotificationByPolling(new JSONArray(response), context);
        } catch (JSONException e) {
            e.printStackTrace();
        }
    }
    }

class NotificationPollingResponse1 implements Response.Listener<String> {

    private static NotificationPollingResponse1 mInstance = null;

    public NotificationPollingResponse1() {

    }
    public static NotificationPollingResponse1 getNotificationCountStringRequestInstance() {
        if (mInstance == null) {
            mInstance = new NotificationPollingResponse1();
        }
        return mInstance;
    }

    @Override
    public void onResponse(String response) {

        NotificationPollingRequest.getCount(response);
    }}