Subversion Repositories SmartDukaan

Rev

Rev 16278 | Rev 18082 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 16278 Rev 17057
Line 19... Line 19...
19
 
19
 
20
import com.google.android.gms.analytics.HitBuilders;
20
import com.google.android.gms.analytics.HitBuilders;
21
import com.google.android.gms.analytics.Tracker;
21
import com.google.android.gms.analytics.Tracker;
22
import com.google.android.gms.gcm.GoogleCloudMessaging;
22
import com.google.android.gms.gcm.GoogleCloudMessaging;
23
import com.saholic.profittill.Constants.ProfitTillConstants;
23
import com.saholic.profittill.Constants.ProfitTillConstants;
24
import com.saholic.profittill.Utils.AnalyticsUtility;
-
 
25
import com.saholic.profittill.Utils.UtilityFunctions;
24
import com.saholic.profittill.Utils.UtilityFunctions;
26
import com.saholic.profittill.Volley.Analytics;
-
 
27
import com.saholic.profittill.Volley.AnalyticsErrorResponse;
-
 
28
import com.saholic.profittill.Volley.AnalyticsJsonResponse;
-
 
29
import com.saholic.profittill.main.GoogleAnalyticsTracker;
25
import com.saholic.profittill.main.GoogleAnalyticsTracker;
30
import com.saholic.profittill.main.LoginActivity;
26
import com.saholic.profittill.main.LoginActivity;
31
import com.saholic.profittill.main.MainActivity;
27
import com.saholic.profittill.main.MainActivity;
32
import com.saholic.profittill.main.MobileNumber;
28
import com.saholic.profittill.main.MobileNumber;
33
import com.saholic.profittill.main.ReferrerActivity;
29
import com.saholic.profittill.main.ReferrerActivity;
Line 70... Line 66...
70
        apkData = getApplicationContext().getSharedPreferences("APK_Data", MODE_PRIVATE);
66
        apkData = getApplicationContext().getSharedPreferences("APK_Data", MODE_PRIVATE);
71
        apiData = getApplicationContext().getSharedPreferences("API_Data", MODE_PRIVATE);
67
        apiData = getApplicationContext().getSharedPreferences("API_Data", MODE_PRIVATE);
72
        apkDataEditor = apkData.edit();
68
        apkDataEditor = apkData.edit();
73
        userEditor = userData.edit();
69
        userEditor = userData.edit();
74
        apiEditor = apiData.edit();
70
        apiEditor = apiData.edit();
-
 
71
        String url="";
75
        Tracker t = ((GoogleAnalyticsTracker) getApplicationContext()).getTracker(
72
        Tracker t = ((GoogleAnalyticsTracker) getApplicationContext()).getTracker(
76
                GoogleAnalyticsTracker.TrackerName.APP_TRACKER);
73
                GoogleAnalyticsTracker.TrackerName.APP_TRACKER);
77
        t.setScreenName("Splash Screen");
74
        t.setScreenName("Splash Screen");
78
        t.send(new HitBuilders.ScreenViewBuilder().build());
75
        t.send(new HitBuilders.ScreenViewBuilder().build());
79
        try {
76
        try {
Line 81... Line 78...
81
            String apkVersionName = apkData.getString("versionName","");
78
            String apkVersionName = apkData.getString("versionName","");
82
            if(userData.getString("id","").isEmpty()) {
79
            if(userData.getString("id","").isEmpty()) {
83
 
80
 
84
            }else {
81
            }else {
85
                if (apkVersionCode.isEmpty()) {
82
                if (apkVersionCode.isEmpty()) {
-
 
83
                    /*PackageManager manager = this.getPackageManager();
-
 
84
                    PackageInfo info = manager.getPackageInfo(this.getPackageName(), 0);
-
 
85
                    TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
-
 
86
                    apkDataListValue = new ArrayList<>();
-
 
87
                    apkDataListValue.add(new BasicNameValuePair("user_id",userData.getString("id","")));
-
 
88
                    apkDataListValue.add(new BasicNameValuePair("versioncode",info.versionCode+""));
-
 
89
                    apkDataListValue.add(new BasicNameValuePair("versionname",info.versionName+""));
-
 
90
                    apkDataListValue.add(new BasicNameValuePair("osversion",android.os.Build.VERSION.SDK_INT+""));
-
 
91
                    apkDataListValue.add(new BasicNameValuePair("imeinumber",telephonyManager.getDeviceId()));
-
 
92
                    apkDataListValue.add(new BasicNameValuePair("manufacturer",Build.MANUFACTURER));
-
 
93
                    apkDataListValue.add(new BasicNameValuePair("model",Build.MODEL));
-
 
94
                    apkDataListValue.add(new BasicNameValuePair("brand",Build.BRAND));
-
 
95
                    apkDataEditor.putString("versionCode", info.versionCode + "");
-
 
96
                    apkDataEditor.putString("versionName", info.versionName);
-
 
97
                    apkDataEditor.putString("osVersion",android.os.Build.VERSION.SDK_INT+"");
-
 
98
                    apkDataEditor.putString("imeiNumber",telephonyManager.getDeviceId());*/
86
                    utilityFunctions=new UtilityFunctions();
99
                    utilityFunctions=new UtilityFunctions();
87
                    apkDataListValue = utilityFunctions.getDeviceInformation(this);
100
                    apkDataListValue = utilityFunctions.getDeviceInformation(this);
88
 
101
 
89
                    if(isInternetOn()) {
102
                    if(isInternetOn()) {
90
                        new Analytics(ProfitTillConstants.ANALYTICS_URL,
-
 
91
                                AnalyticsUtility.getAnalyticsRequest(SplashScreen.this, userData.getString("id", ""), "Screen", "Splash", "Splash Screen"),
-
 
92
                                AnalyticsJsonResponse.getAnalyticsRequestInstance(),
-
 
93
                                AnalyticsErrorResponse.getAnalyitcsResponseInstance()).anlyticsRequest(SplashScreen.this);
-
 
94
                        new pushApkData().execute();
103
                        new pushApkData().execute();
95
                    }
104
                    }
96
                } else if (!(apkData.getString("checkId","blank").equalsIgnoreCase(userData.getString("id","blank")))) {
105
                } else if (!(apkData.getString("checkId","blank").equalsIgnoreCase(userData.getString("id","blank")))) {
97
                    utilityFunctions=new UtilityFunctions();
106
                    utilityFunctions=new UtilityFunctions();
98
                    apkDataListValue = utilityFunctions.getDeviceInformation(this);
107
                    apkDataListValue = utilityFunctions.getDeviceInformation(this);
99
                    if(isInternetOn()) {
108
                    if(isInternetOn()) {
100
                        new Analytics(ProfitTillConstants.ANALYTICS_URL,
-
 
101
                                AnalyticsUtility.getAnalyticsRequest(SplashScreen.this, userData.getString("id", ""), "Screen", "Splash", "Splash Screen"),
-
 
102
                                AnalyticsJsonResponse.getAnalyticsRequestInstance(),
-
 
103
                                AnalyticsErrorResponse.getAnalyitcsResponseInstance()).anlyticsRequest(SplashScreen.this);
-
 
104
                        new pushApkData().execute();
109
                        new pushApkData().execute();
105
                    }
110
                    }
106
                } else if (Integer.parseInt(apkVersionCode) == getPackageManager().getPackageInfo(getPackageName(), 0).versionCode) {
111
                } else if (Integer.parseInt(apkVersionCode) == getPackageManager().getPackageInfo(getPackageName(), 0).versionCode) {
107
 
112
 
108
                }  else {
113
                }  else {
109
                    utilityFunctions=new UtilityFunctions();
114
                    utilityFunctions=new UtilityFunctions();
110
                    apkDataListValue = utilityFunctions.getDeviceInformation(this);
115
                    apkDataListValue = utilityFunctions.getDeviceInformation(this);
111
                    if(isInternetOn()) {
116
                    if(isInternetOn()) {
112
                        new Analytics(ProfitTillConstants.ANALYTICS_URL,
-
 
113
                                AnalyticsUtility.getAnalyticsRequest(SplashScreen.this, userData.getString("id", ""), "Screen", "Splash", "Splash Screen"),
-
 
114
                                AnalyticsJsonResponse.getAnalyticsRequestInstance(),
-
 
115
                                AnalyticsErrorResponse.getAnalyitcsResponseInstance()).anlyticsRequest(SplashScreen.this);
-
 
116
                        new pushApkData().execute();
117
                        new pushApkData().execute();
117
                    }
118
                    }
118
                }
119
                }
119
            }
120
            }
120
        }catch (Exception e){
121
        }catch (Exception e){
Line 166... Line 167...
166
        return true;
167
        return true;
167
    }
168
    }
168
 
169
 
169
    @Override
170
    @Override
170
    public boolean onOptionsItemSelected(MenuItem item) {
171
    public boolean onOptionsItemSelected(MenuItem item) {
-
 
172
        // Handle action bar item clicks here. The action bar will
-
 
173
        // automatically handle clicks on the Home/Up button, so long
-
 
174
        // as you specify a parent activity in AndroidManifest.xml.
171
        int id = item.getItemId();
175
        int id = item.getItemId();
-
 
176
 
-
 
177
        //noinspection SimplifiableIfStatement
172
        if (id == R.id.action_settings) {
178
        if (id == R.id.action_settings) {
173
            return true;
179
            return true;
174
        }
180
        }
175
 
181
 
176
        return super.onOptionsItemSelected(item);
182
        return super.onOptionsItemSelected(item);
Line 187... Line 193...
187
        protected JSONObject doInBackground(String... arg0) {
193
        protected JSONObject doInBackground(String... arg0) {
188
            try {
194
            try {
189
                TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
195
                TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
190
                HttpClient httpclient = new DefaultHttpClient();
196
                HttpClient httpclient = new DefaultHttpClient();
191
                String url = ProfitTillConstants.MOBILE_API+"?t="+apkData.getString("timestamp","0")+"&imeinumber="+telephonyManager.getDeviceId();
197
                String url = ProfitTillConstants.MOBILE_API+"?t="+apkData.getString("timestamp","0")+"&imeinumber="+telephonyManager.getDeviceId();
-
 
198
                //HttpPost httppost = new HttpPost(ProfitTillConstants.MOBILE_API+"?t="+apkData.getString("timestamp","0"));
192
                HttpPost httppost=new HttpPost(url);
199
                HttpPost httppost=new HttpPost(url);
193
                httppost.setHeader("Authorization", ProfitTillConstants.BASIC_AUTH);
200
                httppost.setHeader("Authorization", ProfitTillConstants.BASIC_AUTH);
194
                HttpResponse response = httpclient.execute(httppost);
201
                HttpResponse response = httpclient.execute(httppost);
195
                HttpEntity entity = response.getEntity();
202
                HttpEntity entity = response.getEntity();
196
                JSONObject jObjGmail = new JSONObject(EntityUtils.toString(entity));
203
                JSONObject jObjGmail = new JSONObject(EntityUtils.toString(entity));
Line 214... Line 221...
214
                    System.out.println("Null settings array");
221
                    System.out.println("Null settings array");
215
                }else {
222
                }else {
216
                    for (int i = 0; i < objects.length(); i++) {
223
                    for (int i = 0; i < objects.length(); i++) {
217
                        JSONObject jsonObject = objects.getJSONObject(i);
224
                        JSONObject jsonObject = objects.getJSONObject(i);
218
                        JSONObject j = jsonObject.getJSONObject("Mobileappsetting");
225
                        JSONObject j = jsonObject.getJSONObject("Mobileappsetting");
219
                        System.out.println("Setting " + j.getString("setting"));
-
 
220
                        System.out.println("Value " + j.getString("value"));
-
 
221
                        apiEditor.remove(j.getString("setting"));
226
                        apiEditor.remove(j.getString("setting"));
222
                        apiEditor.commit();
227
                        apiEditor.commit();
223
                        apiEditor.putString(j.getString("setting"), j.getString("value"));
228
                        apiEditor.putString(j.getString("setting"), j.getString("value"));
224
                        apiEditor.commit();
229
                        apiEditor.commit();
225
                    }
230
                    }
Line 227... Line 232...
227
                String timestamp=result.getString("t");
232
                String timestamp=result.getString("t");
228
                String failureCount=result.getString("failureCount");
233
                String failureCount=result.getString("failureCount");
229
                apkDataEditor.putString("timestamp",timestamp);
234
                apkDataEditor.putString("timestamp",timestamp);
230
                apkDataEditor.commit();
235
                apkDataEditor.commit();
231
                final String idCheck = userData.getString("id",null);
236
                final String idCheck = userData.getString("id",null);
-
 
237
                //String check = userData.getString("which screen needs to be displayed");
232
                if(Integer.parseInt(failureCount)<=0) {
238
                if(Integer.parseInt(failureCount)<=0) {
233
                    if (userData.getString("referralCodeRequired", "false").equalsIgnoreCase("true")) {
239
                    if (userData.getString("referralCodeRequired", "false").equalsIgnoreCase("true")) {
234
                        startActivity(new Intent(SplashScreen.this, ReferrerActivity.class));
240
                        startActivity(new Intent(SplashScreen.this, ReferrerActivity.class));
235
                    } else if (userData.getString("message", "false").equalsIgnoreCase("true")) {
241
                    } else if (userData.getString("message", "false").equalsIgnoreCase("true")) {
236
                        startActivity(new Intent(SplashScreen.this, MobileNumber.class));
242
                        startActivity(new Intent(SplashScreen.this, MobileNumber.class));
Line 326... Line 332...
326
        pDlg.show();
332
        pDlg.show();
327
    }
333
    }
328
 
334
 
329
    ProgressDialog pDlg;
335
    ProgressDialog pDlg;
330
 
336
 
-
 
337
/*
-
 
338
 
-
 
339
    @Override
-
 
340
    protected void onRestoreInstanceState(Bundle savedInstanceState) {
-
 
341
        Log.d("On Restore Instance","On Restore Instance");
-
 
342
        super.onRestoreInstanceState(savedInstanceState);
-
 
343
    }
-
 
344
 
-
 
345
    @Override
-
 
346
    protected void onRestart() {
-
 
347
        Log.d("On Restart","On Restart");
-
 
348
        super.onRestart();
-
 
349
 
-
 
350
        try {
-
 
351
            String apkVersionCode = apkData.getString("versionCode","");
-
 
352
            String apkVersionName = apkData.getString("versionName","");
-
 
353
            if(userData.getString("id","").isEmpty()) {
-
 
354
 
-
 
355
            }else {
-
 
356
                if (apkVersionCode.isEmpty()) {
-
 
357
                    apkDataListValue = getDeviceInformation();
-
 
358
 
-
 
359
                    if(isInternetOn()) {
-
 
360
                        new pushApkData().execute();
-
 
361
                    }
-
 
362
                } else if (!(apkData.getString("checkId","blank").equalsIgnoreCase(userData.getString("id","blank")))) {
-
 
363
                    apkDataListValue = getDeviceInformation();
-
 
364
                    if(isInternetOn()) {
-
 
365
                        new pushApkData().execute();
-
 
366
                    }
-
 
367
                } else if (Integer.parseInt(apkVersionCode) == getPackageManager().getPackageInfo(getPackageName(), 0).versionCode) {
-
 
368
 
-
 
369
                }  else {
-
 
370
                    apkDataListValue = getDeviceInformation();
-
 
371
                    if(isInternetOn()) {
-
 
372
                        new pushApkData().execute();
-
 
373
                    }
-
 
374
                }
-
 
375
            }
-
 
376
        }catch (Exception e){
-
 
377
            e.printStackTrace();
-
 
378
        }
-
 
379
 
-
 
380
        if(isInternetOn()){
-
 
381
            new fetchAPISettings().execute();
-
 
382
        }
-
 
383
        else{
-
 
384
            b= new AlertDialog.Builder(this);
-
 
385
            b.setMessage("No internet connection. Please try again.");
-
 
386
            b.setCancelable(false);
-
 
387
            b.setPositiveButton("Retry", new DialogInterface.OnClickListener()
-
 
388
            {
-
 
389
                @Override
-
 
390
                public void onClick(DialogInterface dialog, int which) {
-
 
391
                    if(isInternetOn()){
-
 
392
                        new fetchAPISettings().execute();
-
 
393
                        dialog1.dismiss();
-
 
394
                    }
-
 
395
                    else{
-
 
396
                        dialog1 = b.create();
-
 
397
                        dialog1.show();
-
 
398
                    }
-
 
399
                }
-
 
400
 
-
 
401
            });
-
 
402
            b.setNegativeButton("No", new DialogInterface.OnClickListener() {
-
 
403
                @Override
-
 
404
                public void onClick(DialogInterface dialog, int which) {
-
 
405
                    finish();
-
 
406
 
-
 
407
                }
-
 
408
            });
-
 
409
            dialog1 = b.create();
-
 
410
            dialog1.show();
-
 
411
        }
-
 
412
 
-
 
413
    }
-
 
414
 
-
 
415
 
-
 
416
    public ArrayList<NameValuePair> getDeviceInformation(){
-
 
417
        ArrayList<NameValuePair> deviceDataList=null;
-
 
418
        try {
-
 
419
            PackageManager manager = this.getPackageManager();
-
 
420
            PackageInfo info = manager.getPackageInfo(this.getPackageName(), 0);
-
 
421
            TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
-
 
422
            deviceDataList = new ArrayList<>();
-
 
423
            deviceDataList.add(new BasicNameValuePair("user_id", userData.getString("id", "")));
-
 
424
            deviceDataList.add(new BasicNameValuePair("versioncode", info.versionCode + ""));
-
 
425
            deviceDataList.add(new BasicNameValuePair("versionname", info.versionName + ""));
-
 
426
            deviceDataList.add(new BasicNameValuePair("osversion", android.os.Build.VERSION.SDK_INT + ""));
-
 
427
            deviceDataList.add(new BasicNameValuePair("imeinumber", telephonyManager.getDeviceId()));
-
 
428
            deviceDataList.add(new BasicNameValuePair("manufacturer", Build.MANUFACTURER));
-
 
429
            deviceDataList.add(new BasicNameValuePair("model", Build.MODEL));
-
 
430
            deviceDataList.add(new BasicNameValuePair("brand", Build.BRAND));
-
 
431
            apkDataEditor.putString("versionCode", info.versionCode + "");
-
 
432
            apkDataEditor.putString("versionName", info.versionName);
-
 
433
            apkDataEditor.putString("osVersion", android.os.Build.VERSION.SDK_INT + "");
-
 
434
            apkDataEditor.putString("imeiNumber", telephonyManager.getDeviceId());
-
 
435
        }catch (Exception e){
-
 
436
            e.printStackTrace();
-
 
437
        }
-
 
438
        return deviceDataList;
-
 
439
    }
-
 
440
*/
-
 
441
 
-
 
442
    /*@Override
-
 
443
    protected void onPause() {
-
 
444
        Log.d("On Pause","On Pause");
-
 
445
        super.onPause();
-
 
446
    }*/
331
    public void registerGCM() {
447
    public void registerGCM() {
332
 
448
 
333
        gcm = GoogleCloudMessaging.getInstance(SplashScreen.this);
449
        gcm = GoogleCloudMessaging.getInstance(SplashScreen.this);
334
        registerInBackground();
450
        registerInBackground();
335
 
451
 
Line 371... Line 487...
371
        @Override
487
        @Override
372
        protected String doInBackground(String... arg0) {
488
        protected String doInBackground(String... arg0) {
373
            String id = null;
489
            String id = null;
374
            try {
490
            try {
375
                HttpClient httpclient = new DefaultHttpClient();
491
                HttpClient httpclient = new DefaultHttpClient();
376
                HttpPost httppost = new HttpPost(apiData.getString("gcm.push.url", "http://api.profittill.com/gcm_users/add"));
492
                HttpPost httppost = new HttpPost(apiData.getString("gcm.push.url", "http://staging.profittill.com/gcm_users/add"));
377
                nameValuePairsGcm = new ArrayList<>();
493
                nameValuePairsGcm = new ArrayList<>();
378
                TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
494
                TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
379
                nameValuePairsGcm.add(new BasicNameValuePair("gcm_regid", regId));
495
                nameValuePairsGcm.add(new BasicNameValuePair("gcm_regid", regId));
380
                nameValuePairsGcm.add(new BasicNameValuePair("imeinumber", telephonyManager.getDeviceId()));
496
                nameValuePairsGcm.add(new BasicNameValuePair("imeinumber", telephonyManager.getDeviceId()));
381
                nameValuePairsGcm.add(new BasicNameValuePair("user_id", userData.getString("id", null)));
497
                nameValuePairsGcm.add(new BasicNameValuePair("user_id", userData.getString("id", null)));
Line 421... Line 537...
421
            } else {
537
            } else {
422
                startActivity(new Intent(SplashScreen.this, LoginActivity.class));
538
                startActivity(new Intent(SplashScreen.this, LoginActivity.class));
423
            }
539
            }
424
        }
540
        }
425
    }
541
    }
426
}
542
}
427
 
-
 
428
543