Subversion Repositories SmartDukaan

Rev

Rev 21480 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
21480 rajender 1
package com.saholic.profittill;
2
 
3
import android.content.Context;
4
import android.content.SharedPreferences;
5
import android.telephony.TelephonyManager;
6
import android.util.Log;
7
 
8
import com.google.firebase.iid.FirebaseInstanceId;
9
import com.google.firebase.iid.FirebaseInstanceIdService;
10
import com.saholic.profittill.Constants.ProfitTillConstants;
11
import com.saholic.profittill.Utils.UtilityFunctions;
12
 
13
import org.apache.http.HttpEntity;
14
import org.apache.http.HttpResponse;
15
import org.apache.http.NameValuePair;
16
import org.apache.http.client.HttpClient;
17
import org.apache.http.client.entity.UrlEncodedFormEntity;
18
import org.apache.http.client.methods.HttpPost;
19
import org.apache.http.impl.client.DefaultHttpClient;
20
import org.apache.http.message.BasicNameValuePair;
21
 
22
import java.io.IOException;
23
import java.util.ArrayList;
24
 
25
/**
26
 * Created by rajender on 5/4/17.
27
 */
28
public class MyFirebaseInstanceIDService extends FirebaseInstanceIdService{
29
        private static final String TAG = "MyFirebaseIIDService";
30
    SharedPreferences apiData;
31
    SharedPreferences userData;
32
    SharedPreferences.Editor userDataEditor;
33
    SharedPreferences.Editor apiSettingsEditor;
34
    ArrayList<NameValuePair> nameValuePairsGcm;
35
 
36
        @Override
37
        public void onTokenRefresh() {
38
            apiData = getApplicationContext().getSharedPreferences("API_Data", MODE_PRIVATE);
39
            userData = getApplicationContext().getSharedPreferences("User_Data", MODE_PRIVATE);
40
            userDataEditor = userData.edit();
41
            apiSettingsEditor = apiData.edit();
42
            //Getting registration token
43
 
44
            String refreshedToken = FirebaseInstanceId.getInstance().getToken();
45
            userDataEditor.putString("fcm_token_sent", "false");
46
            userDataEditor.commit();
47
 
48
            //Displaying token on logcat
49
            Log.d(TAG, "Refreshed token: " + refreshedToken);
50
            try {
51
             if(userData.getString("id", "").equals("")){
52
                 Log.d(TAG, "Refreshed token: " + refreshedToken);
53
             }
54
             else {
55
                 sendRegistrationToServer(refreshedToken);
56
             }
57
            }
58
            catch (IOException e) {
59
                e.printStackTrace();
60
            }
61
 
62
        }
63
 
64
        private void sendRegistrationToServer(String token) throws IOException {
65
            try{
66
            HttpClient httpclient = new DefaultHttpClient();
67
            HttpPost httppost = new HttpPost(apiData.getString("gcm.push.url",null));
22381 rajender 68
            //HttpPost httppost = new HttpPost(ProfitTillConstants.gcm_url);
21480 rajender 69
            nameValuePairsGcm = new ArrayList<>();
70
                TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
71
                nameValuePairsGcm.add(new BasicNameValuePair("gcm_regid",token));
72
                nameValuePairsGcm.add(new BasicNameValuePair("imeinumber",telephonyManager.getDeviceId()));
73
                nameValuePairsGcm.add(new BasicNameValuePair("user_id",userData.getString("id", null)));
74
                nameValuePairsGcm.add(new BasicNameValuePair("device_message","Device registered"));
75
                nameValuePairsGcm.add(new BasicNameValuePair("notification_type","fcm"));
76
                nameValuePairsGcm.add(new BasicNameValuePair("androidid", UtilityFunctions.androidId(MyFirebaseInstanceIDService.this)));
77
            httppost.setHeader("Authorization", ProfitTillConstants.BASIC_AUTH);
78
            httppost.setEntity(new UrlEncodedFormEntity(nameValuePairsGcm));
79
            HttpResponse response = httpclient.execute(httppost);
80
            HttpEntity entity = response.getEntity();
81
            int status = response.getStatusLine().getStatusCode();
82
 
83
            if(status == 200){
84
                userDataEditor.putString("fcm_token_sent", "true");
85
                userDataEditor.commit();
86
                Log.d("ResponseCode GCM ",status+"");
87
            } else {
88
                Log.d("ResponseCode GCM ",status+"");
89
            }
90
 
91
            nameValuePairsGcm.clear();
92
            Log.e("pass 1", "connection success ");
93
        }
94
            catch (Exception e) {
95
        Log.e("Fail 1", e.toString());
96
 
97
    }
98
}
99
 
100
}