Blame | Last modification | View Log | RSS feed
package com.saholic.profittill.BroadcastReceivers;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.content.SharedPreferences;import android.os.AsyncTask;import android.telephony.TelephonyManager;import android.util.Log;import com.google.firebase.iid.FirebaseInstanceId;import com.saholic.profittill.Constants.ProfitTillConstants;import com.saholic.profittill.Utils.AnalyticsUtility;import com.saholic.profittill.Utils.UtilityFunctions;import com.saholic.profittill.Volley.Analytics;import com.saholic.profittill.Volley.AnalyticsErrorResponse;import com.saholic.profittill.Volley.AnalyticsJsonResponse;import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.http.NameValuePair;import org.apache.http.client.HttpClient;import org.apache.http.client.entity.UrlEncodedFormEntity;import org.apache.http.client.methods.HttpPost;import org.apache.http.impl.client.DefaultHttpClient;import org.apache.http.message.BasicNameValuePair;import java.util.ArrayList;public class UpdateReceiver extends BroadcastReceiver {String regId;FirebaseInstanceId fcm;Context c;SharedPreferences.Editor apiDataEditor,userDataEditor;SharedPreferences apiData,userData;ArrayList<NameValuePair> nameValuePairsGcm;public UpdateReceiver() {}@Overridepublic void onReceive(Context context, Intent intent) {c=context;apiData = context.getSharedPreferences("API_Data", Context.MODE_PRIVATE);userData = context.getSharedPreferences("User_Data", Context.MODE_PRIVATE);userDataEditor = userData.edit();apiDataEditor = apiData.edit();registerGCM();}public void registerGCM() {// gcm = GoogleCloudMessaging.getInstance(c);registerInBackground();}private void registerInBackground() {new AsyncTask<Void, Void, String>() {@Overrideprotected String doInBackground(Void... params) {String msg = "";if (fcm == null) {regId = FirebaseInstanceId.getInstance().getToken();msg = "Device registered";if (userData.getString("fcm_token_sent", "false").equals("false") && (!userData.getString("id", "").equals(""))) {regId = FirebaseInstanceId.getInstance().getToken();Log.d("RegisterActivity", "registerInBackground - regId: "+ regId);msg = "Device registered";new gcmPushData().execute(msg);}}return msg;}@Overrideprotected void onPostExecute(String msg) {new gcmPushData().execute(msg);}}.execute(null, null, null);}class gcmPushData extends AsyncTask<String, Integer, String> {@Overrideprotected void onPreExecute() {super.onPreExecute();}@Overrideprotected String doInBackground(String... arg0) {String id = null;try {HttpClient httpclient = new DefaultHttpClient();HttpPost httppost = new HttpPost(apiData.getString("gcm.push.url", "http://api.profittill.com/gcm_users/add"));nameValuePairsGcm = new ArrayList<>();TelephonyManager telephonyManager = (TelephonyManager) c.getSystemService(Context.TELEPHONY_SERVICE);nameValuePairsGcm.add(new BasicNameValuePair("gcm_regid", regId));nameValuePairsGcm.add(new BasicNameValuePair("imeinumber", telephonyManager.getDeviceId()));nameValuePairsGcm.add(new BasicNameValuePair("user_id", userData.getString("id", null)));nameValuePairsGcm.add(new BasicNameValuePair("device_message", arg0[0]));nameValuePairsGcm.add(new BasicNameValuePair("notification_type", "fcm"));nameValuePairsGcm.add(new BasicNameValuePair("androidid", UtilityFunctions.androidId(c)));httppost.setHeader("Authorization", ProfitTillConstants.BASIC_AUTH);httppost.setEntity(new UrlEncodedFormEntity(nameValuePairsGcm));HttpResponse response = httpclient.execute(httppost);HttpEntity entity = response.getEntity();int status = response.getStatusLine().getStatusCode();if (status == 200) {Log.d("ResponseCode GCM ", status + "");userDataEditor.putString("fcm_token_sent", "true");userDataEditor.commit();} else {Log.d("ResponseCode GCM ", status + "");}nameValuePairsGcm.clear();Log.e("pass 1", "connection success ");} catch (Exception e) {}return id;}@Overrideprotected void onPostExecute(String result) {super.onPostExecute(result);if(!(userData.getString("id", "").isEmpty())) {new Analytics(ProfitTillConstants.ANALYTICS_URL,AnalyticsUtility.getAnalyticsRequest(c, userData.getString("id", ""), "Reciever", "Update Reciever", "Update Receiver called"),AnalyticsJsonResponse.getAnalyticsRequestInstance(),AnalyticsErrorResponse.getAnalyitcsResponseInstance()).anlyticsRequest(c);}}}}