Subversion Repositories SmartDukaan

Rev

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