Blame | Last modification | View Log | RSS feed
package com.saholic.profittill;import android.content.Context;import android.content.SharedPreferences;import android.telephony.TelephonyManager;import android.util.Log;import com.google.firebase.iid.FirebaseInstanceId;import com.google.firebase.iid.FirebaseInstanceIdService;import com.saholic.profittill.Constants.ProfitTillConstants;import com.saholic.profittill.Utils.UtilityFunctions;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.io.IOException;import java.util.ArrayList;/*** Created by rajender on 5/4/17.*/public class MyFirebaseInstanceIDService extends FirebaseInstanceIdService{private static final String TAG = "MyFirebaseIIDService";SharedPreferences apiData;SharedPreferences userData;SharedPreferences.Editor userDataEditor;SharedPreferences.Editor apiSettingsEditor;ArrayList<NameValuePair> nameValuePairsGcm;@Overridepublic void onTokenRefresh() {apiData = getApplicationContext().getSharedPreferences("API_Data", MODE_PRIVATE);userData = getApplicationContext().getSharedPreferences("User_Data", MODE_PRIVATE);userDataEditor = userData.edit();apiSettingsEditor = apiData.edit();//Getting registration tokenString refreshedToken = FirebaseInstanceId.getInstance().getToken();userDataEditor.putString("fcm_token_sent", "false");userDataEditor.commit();//Displaying token on logcatLog.d(TAG, "Refreshed token: " + refreshedToken);try {if(userData.getString("id", "").equals("")){Log.d(TAG, "Refreshed token: " + refreshedToken);}else {sendRegistrationToServer(refreshedToken);}}catch (IOException e) {e.printStackTrace();}}private void sendRegistrationToServer(String token) throws IOException {try{HttpClient httpclient = new DefaultHttpClient();HttpPost httppost = new HttpPost(apiData.getString("gcm.push.url",null));nameValuePairsGcm = new ArrayList<>();TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);nameValuePairsGcm.add(new BasicNameValuePair("gcm_regid",token));nameValuePairsGcm.add(new BasicNameValuePair("imeinumber",telephonyManager.getDeviceId()));nameValuePairsGcm.add(new BasicNameValuePair("user_id",userData.getString("id", null)));nameValuePairsGcm.add(new BasicNameValuePair("device_message","Device registered"));nameValuePairsGcm.add(new BasicNameValuePair("notification_type","fcm"));nameValuePairsGcm.add(new BasicNameValuePair("androidid", UtilityFunctions.androidId(MyFirebaseInstanceIDService.this)));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){userDataEditor.putString("fcm_token_sent", "true");userDataEditor.commit();Log.d("ResponseCode GCM ",status+"");} else {Log.d("ResponseCode GCM ",status+"");}nameValuePairsGcm.clear();Log.e("pass 1", "connection success ");}catch (Exception e) {Log.e("Fail 1", e.toString());}}}