Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
14792 manas 1
package com.saholic.profittill.main;
2
 
3
 
15356 manas 4
import android.app.Fragment;
5
import android.app.FragmentManager;
14792 manas 6
import android.content.Context;
7
import android.content.Intent;
8
import android.content.SharedPreferences;
15356 manas 9
import android.content.res.Configuration;
10
import android.content.res.TypedArray;
14792 manas 11
import android.graphics.Color;
12
import android.graphics.drawable.ColorDrawable;
13
import android.net.ConnectivityManager;
14
import android.os.AsyncTask;
15356 manas 15
import android.os.Bundle;
14792 manas 16
import android.os.PersistableBundle;
15356 manas 17
import android.support.v4.app.ActionBarDrawerToggle;
18
import android.support.v4.widget.DrawerLayout;
14792 manas 19
import android.support.v7.app.ActionBarActivity;
15356 manas 20
import android.util.Log;
14792 manas 21
import android.view.KeyEvent;
22
import android.view.Menu;
23
import android.view.MenuItem;
24
import android.view.View;
25
import android.view.ViewConfiguration;
26
import android.view.Window;
27
import android.widget.AdapterView;
28
import android.widget.ListView;
29
import android.widget.Toast;
15356 manas 30
 
14792 manas 31
import com.facebook.Session;
32
import com.google.android.gms.analytics.HitBuilders;
33
import com.google.android.gms.analytics.Tracker;
34
import com.google.android.gms.common.ConnectionResult;
35
import com.google.android.gms.common.api.GoogleApiClient;
36
import com.google.android.gms.plus.Plus;
37
import com.mixpanel.android.mpmetrics.MixpanelAPI;
38
import com.saholic.profittill.Constants.ProfitTillConstants;
15356 manas 39
import com.saholic.profittill.R;
16278 manas 40
import com.saholic.profittill.Utils.AnalyticsUtility;
15356 manas 41
import com.saholic.profittill.Utils.UtilityFunctions;
16278 manas 42
import com.saholic.profittill.Volley.Analytics;
43
import com.saholic.profittill.Volley.AnalyticsErrorResponse;
44
import com.saholic.profittill.Volley.AnalyticsJsonResponse;
14792 manas 45
import com.saholic.profittill.navigationdrawer.NavDrawerItem;
46
import com.saholic.profittill.navigationdrawer.NavDrawerListAdapter;
47
import com.testin.agent.TestinAgent;
48
 
49
import org.apache.http.HttpEntity;
50
import org.apache.http.HttpResponse;
51
import org.apache.http.NameValuePair;
52
import org.apache.http.client.HttpClient;
53
import org.apache.http.client.entity.UrlEncodedFormEntity;
54
import org.apache.http.client.methods.HttpPost;
55
import org.apache.http.impl.client.DefaultHttpClient;
56
import org.apache.http.message.BasicNameValuePair;
57
import org.json.JSONException;
58
import org.json.JSONObject;
59
 
60
import java.lang.reflect.Field;
61
import java.lang.reflect.Method;
62
import java.text.SimpleDateFormat;
63
import java.util.ArrayList;
64
import java.util.Date;
65
 
66
 
67
public class MainActivity extends ActionBarActivity implements GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener {
68
    private DrawerLayout mDrawerLayout;
69
    private ListView mDrawerList;
70
    private ActionBarDrawerToggle mDrawerToggle;
71
    public GoogleApiClient mGoogleApiClient;
72
    SharedPreferences userData;
73
    SharedPreferences apiData;
74
    boolean glogout;
75
    SharedPreferences.Editor userDataEditor;
76
    SharedPreferences.Editor apiSettingsEditor;
77
    SharedPreferences.Editor inviteDataEditor;
78
    SharedPreferences inviteData;
79
    private String[] navMenuTitles;
80
    private TypedArray navMenuIcons;
81
    String type1;
82
    private ArrayList<NavDrawerItem> navDrawerItems;
83
    private NavDrawerListAdapter adapter;
84
    int flag;
85
    boolean shouldGoInvisible;
86
    int titleVisible;
87
    StringBuilder subtag,sb;
88
    String userIdAffliate;
89
    Date dateAffliate;
90
    String stringDateAffliate;
91
    SimpleDateFormat dateFormatAffliate;
92
    String redirectUrl;
93
    MixpanelAPI mixpanel;
94
    String notificationURL;
95
    ArrayList<NameValuePair> nameValuePairsGcm;
96
    @Override
97
    protected void onCreate(Bundle savedInstanceState) {
98
        super.onCreate(savedInstanceState);
99
        setContentView(R.layout.activity_main);
100
        TestinAgent.init(this);
101
        userData = getApplicationContext().getSharedPreferences("User_Data", MODE_PRIVATE);
102
        apiData = getApplicationContext().getSharedPreferences("API_Data", MODE_PRIVATE);
103
        userDataEditor = userData.edit();
104
        apiSettingsEditor = apiData.edit();
105
        inviteData = getApplicationContext().getSharedPreferences("Invite_Data", Context.MODE_PRIVATE);
106
        inviteDataEditor = inviteData.edit();
107
        TestinAgent.setUserInfo(userData.getString("id",""));
108
        mixpanel = MixpanelAPI.getInstance(getApplicationContext(), ProfitTillConstants.MIX_PANEL_TOKEN);
109
        type1 = userData.getString("type",null);
110
 
111
        if(getIntent().getAction()=="20"){
15588 manas 112
            Tracker t = ((GoogleAnalyticsTracker) getApplicationContext()).getTracker(
113
                    GoogleAnalyticsTracker.TrackerName.APP_TRACKER);
114
            t.send(new HitBuilders.EventBuilder()
115
                    .setCategory("Notification")
116
                    .setAction("Notification Opened ")
117
                    .setLabel("For User Id " + userData.getString("id","0"))
118
                    .build());
14792 manas 119
            flag=20;
120
            notificationURL = String.valueOf(getIntent().getData());
121
            nameValuePairsGcm = new ArrayList<>();
122
            nameValuePairsGcm.add(new BasicNameValuePair("user_id",userData.getString("id","")));
123
            nameValuePairsGcm.add(new BasicNameValuePair("cid",getIntent().getExtras().getString("cid")));
15356 manas 124
            nameValuePairsGcm.add(new BasicNameValuePair("timestamp", UtilityFunctions.notificationDate()));
14792 manas 125
            nameValuePairsGcm.add(new BasicNameValuePair("result","opened"));
126
            getIntent().getExtras().remove("cid");
127
            new NotificationOpenedData().execute(nameValuePairsGcm);
128
        }else if(getIntent().getAction()=="15"){
15588 manas 129
            Tracker t = ((GoogleAnalyticsTracker) getApplicationContext()).getTracker(
130
                    GoogleAnalyticsTracker.TrackerName.APP_TRACKER);
131
            t.send(new HitBuilders.EventBuilder()
132
                    .setCategory("Notification")
133
                    .setAction("Notification Opened ")
134
                    .setLabel("For User Id " + userData.getString("id","0"))
135
                    .build());
14792 manas 136
            flag=15;
137
            nameValuePairsGcm = new ArrayList<>();
138
            nameValuePairsGcm.add(new BasicNameValuePair("user_id",userData.getString("id","")));
139
            nameValuePairsGcm.add(new BasicNameValuePair("cid",getIntent().getExtras().getString("cid")));
15356 manas 140
            nameValuePairsGcm.add(new BasicNameValuePair("timestamp",UtilityFunctions.notificationDate()));
14792 manas 141
            nameValuePairsGcm.add(new BasicNameValuePair("result","opened"));
142
            getIntent().getExtras().remove("cid");
143
            new NotificationOpenedData().execute(nameValuePairsGcm);
144
        }else if(getIntent().getAction()=="7"){
15588 manas 145
            Tracker t = ((GoogleAnalyticsTracker) getApplicationContext()).getTracker(
146
                    GoogleAnalyticsTracker.TrackerName.APP_TRACKER);
147
            t.send(new HitBuilders.EventBuilder()
148
                    .setCategory("Notification")
149
                    .setAction("Notification Opened ")
150
                    .setLabel("For User Id " + userData.getString("id","0"))
151
                    .build());
14792 manas 152
            flag=7;
153
            nameValuePairsGcm = new ArrayList<>();
154
            nameValuePairsGcm.add(new BasicNameValuePair("user_id",userData.getString("id","")));
155
            nameValuePairsGcm.add(new BasicNameValuePair("cid",getIntent().getExtras().getString("cid")));
15356 manas 156
            nameValuePairsGcm.add(new BasicNameValuePair("timestamp",UtilityFunctions.notificationDate()));
14792 manas 157
            nameValuePairsGcm.add(new BasicNameValuePair("result","opened"));
158
            getIntent().getExtras().remove("cid");
159
            new NotificationOpenedData().execute(nameValuePairsGcm);
160
        }else if(getIntent().getAction()=="6"){
15588 manas 161
            Tracker t = ((GoogleAnalyticsTracker) getApplicationContext()).getTracker(
162
                    GoogleAnalyticsTracker.TrackerName.APP_TRACKER);
163
            t.send(new HitBuilders.EventBuilder()
164
                    .setCategory("Notification")
165
                    .setAction("Notification Opened ")
166
                    .setLabel("For User Id " + userData.getString("id","0"))
167
                    .build());
14792 manas 168
            flag=6;
169
            nameValuePairsGcm = new ArrayList<>();
170
            nameValuePairsGcm.add(new BasicNameValuePair("user_id",userData.getString("id","")));
171
            nameValuePairsGcm.add(new BasicNameValuePair("cid",getIntent().getExtras().getString("cid")));
15356 manas 172
            nameValuePairsGcm.add(new BasicNameValuePair("timestamp",UtilityFunctions.notificationDate()));
14792 manas 173
            nameValuePairsGcm.add(new BasicNameValuePair("result","opened"));
174
            getIntent().getExtras().remove("cid");
175
            new NotificationOpenedData().execute(nameValuePairsGcm);
16080 manas 176
        }else if(getIntent().getAction()=="31"){
177
            Tracker t = ((GoogleAnalyticsTracker) getApplicationContext()).getTracker(
178
                    GoogleAnalyticsTracker.TrackerName.APP_TRACKER);
179
            t.send(new HitBuilders.EventBuilder()
180
                    .setCategory("Email Url Opener")
181
                    .setAction("Email Url Opened ")
182
                    .setLabel("For User Id " + userData.getString("id","0"))
183
                    .build());
184
            flag=20;
185
            String emailURL= String.valueOf(getIntent().getData());
186
            notificationURL =new UtilityFunctions().getEmailUrlFromMap(getApplicationContext(), emailURL,apiData.getString("mobile.website.url",""))+"?user_id="+userData.getString("id","");
14792 manas 187
        }else {
188
            Bundle i = getIntent().getExtras();
189
            if (i != null) {
190
                flag = Integer.parseInt(i.getString("displayView"));
191
                if (flag == 31) {
192
                    redirectUrl = i.getString("redirectUrl");
193
                }
194
            }
195
        }
196
 
197
 
198
 
199
        getSupportActionBar().setBackgroundDrawable(new ColorDrawable(Color.WHITE));
200
        getSupportActionBar().setIcon(R.drawable.logo_cirlce_1);
201
        getSupportActionBar().setDisplayShowCustomEnabled(true);
202
        getSupportActionBar().setDisplayShowTitleEnabled(false);
203
 
204
        try {
205
            ViewConfiguration config = ViewConfiguration.get(this);
206
            Field menuKeyField = ViewConfiguration.class
207
                    .getDeclaredField("sHasPermanentMenuKey");
208
            if (menuKeyField != null) {
209
                menuKeyField.setAccessible(true);
210
                menuKeyField.setBoolean(config, false);
211
            }
212
        } catch (Exception ex) {
213
            Log.d("Exception","Message"+ex);
214
        }
215
 
216
        if(type1!=null && type1.equalsIgnoreCase("google")) {
217
            mGoogleApiClient = new GoogleApiClient.Builder(this)
218
                    .addConnectionCallbacks(this)
219
                    .addOnConnectionFailedListener(this).addApi(Plus.API)
220
                    .addScope(Plus.SCOPE_PLUS_LOGIN).build();
221
            mGoogleApiClient.connect();
222
        }
223
 
224
        /*mTitle = mDrawerTitle = getTitle();*/
225
        // load slide menu items
226
        navMenuTitles = getResources().getStringArray(R.array.nav_drawer_items);
227
 
228
        // nav drawer icons from resources
229
        navMenuIcons = getResources()
230
                .obtainTypedArray(R.array.nav_drawer_icons);
231
 
232
        mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
233
        mDrawerList = (ListView) findViewById(R.id.list_slidermenu);
234
        mDrawerLayout.setBackgroundColor(getResources().getColor(R.color.White));
235
        navDrawerItems = new ArrayList<NavDrawerItem>();
236
 
237
 
238
 
239
        navDrawerItems.add(new NavDrawerItem(navMenuTitles[0], navMenuIcons.getResourceId(0, -1)));
240
        navDrawerItems.add(new NavDrawerItem(navMenuTitles[1], navMenuIcons.getResourceId(1, 0)));
241
        navDrawerItems.add(new NavDrawerItem(navMenuTitles[2], navMenuIcons.getResourceId(2, -1)));
242
        navDrawerItems.add(new NavDrawerItem(navMenuTitles[3], navMenuIcons.getResourceId(3, -1)));
243
        navDrawerItems.add(new NavDrawerItem(navMenuTitles[4], navMenuIcons.getResourceId(4, -1)));
244
        navDrawerItems.add(new NavDrawerItem(navMenuTitles[5], navMenuIcons.getResourceId(5, -1)));
245
        navDrawerItems.add(new NavDrawerItem(navMenuTitles[6], navMenuIcons.getResourceId(6, -1)));
246
        navDrawerItems.add(new NavDrawerItem(navMenuTitles[7], navMenuIcons.getResourceId(7, -1)));
247
        navDrawerItems.add(new NavDrawerItem(navMenuTitles[8], navMenuIcons.getResourceId(8, -1)));
16080 manas 248
/*        navDrawerItems.add(new NavDrawerItem(navMenuTitles[9], navMenuIcons.getResourceId(9, -1)));*/
14792 manas 249
        navMenuIcons.recycle();
250
 
251
        mDrawerList.setOnItemClickListener(new SlideMenuClickListener());
252
 
253
        // setting the nav drawer list adapter
254
        adapter = new NavDrawerListAdapter(getApplicationContext(),navDrawerItems);
255
        mDrawerList.setAdapter(adapter);
256
 
257
        // enabling action bar app icon and behaving it as toggle button
258
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
259
        getSupportActionBar().setHomeButtonEnabled(true);
260
 
261
        mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout,
16080 manas 262
                R.drawable.menu_button_2, //nav menu toggle icon
14792 manas 263
                R.string.hello_world, // nav drawer open - description for accessibility
264
                R.string.hello_world// nav drawer close - description for accessibility
265
        ) {
266
            public void onDrawerClosed(View view) {
267
                if(titleVisible!=0) {
268
                    if(titleVisible==1)
269
                        getSupportActionBar().setCustomView(R.layout.actionbarmyfavorites);
270
 
271
                    if(titleVisible==2)
272
                        getSupportActionBar().setCustomView(R.layout.actionbarprefernces);
273
 
274
                    if(titleVisible==3)
275
                        getSupportActionBar().setCustomView(R.layout.actionbarmywallet);
276
 
277
                    if(titleVisible==4)
278
                        getSupportActionBar().setCustomView(R.layout.actionbarmyorders);
279
 
280
                    if(titleVisible==5)
281
                        getSupportActionBar().setCustomView(R.layout.actionbarpendingcashback);
282
 
283
                    if(titleVisible==6)
284
                        getSupportActionBar().setCustomView(R.layout.actionbarmyprofile);
285
 
286
 
287
                }
288
                else{
289
                    if (getTitle().equals("Deals")) {
290
                        getSupportActionBar().setCustomView(R.layout.actionbardeals);
291
                    }
292
                    if (getTitle().equals("Saholic") || getTitle().equals("Flipkart") || getTitle().equals("Snapdeal") || getTitle().equals("Amazon")) {
293
                        getSupportActionBar().setCustomView(R.layout.actionbarprofittill);
294
                    }
295
                    if (getTitle().equals("FAQ")) {
296
                        getSupportActionBar().setCustomView(R.layout.actionbaraboutus);
297
                    }
298
                    if (getTitle().equals("Contact Us")) {
299
                        getSupportActionBar().setCustomView(R.layout.actionbarcontactus);
300
                    }
301
                    if (getTitle().equals("Search")) {
302
                        getSupportActionBar().setCustomView(R.layout.actionbarsearch);
303
                    }
304
                    if (getTitle().equals("How It Works")) {
305
                        getSupportActionBar().setCustomView(R.layout.actionbarhowitworks);
306
                    }
307
                }
308
                shouldGoInvisible = false;
309
                invalidateOptionsMenu();
310
            }
311
 
312
            public void onDrawerOpened(View drawerView) {
313
                getSupportActionBar().setCustomView(R.layout.actionbarprofittill);
314
                shouldGoInvisible = true;
315
                invalidateOptionsMenu();
316
            }
317
            @Override
318
            public void onDrawerSlide(View drawerView, float slideOffset) {
319
 
320
 
321
            }
322
 
323
        };
324
        mDrawerLayout.setDrawerListener(mDrawerToggle);
325
 
326
        if (savedInstanceState == null) {
327
 
328
                if (flag == 7) {
329
                    getSupportActionBar().setCustomView(R.layout.actionbarhowitworks);
330
                    displayView(flag);
331
                } else if (flag == 6) {
332
                    getSupportActionBar().setCustomView(R.layout.actionbarcontactus);
333
                    displayView(flag);
334
                } else if (flag == 15) {
335
                    getSupportActionBar().setCustomView(R.layout.actionbarmyprofile);
336
                    MyProfile myProfile = new MyProfile();
337
                    this.getFragmentManager().beginTransaction()
338
                            .replace(R.id.frame_container, myProfile, "Mike")
339
                            .addToBackStack(null)
340
                            .commit();
341
                }else if (flag == 20) {
342
                    getSupportActionBar().setCustomView(R.layout.actionbardeals);
343
                    JSONObject propsNotification = new JSONObject();
344
                    try {
345
                        mixpanel.identify(userData.getString("id",null));
346
                        propsNotification.put("Screen", "Notification Url opened");
347
                        mixpanel.track("Notification Opened", propsNotification);
348
                    } catch (JSONException e) {
349
                        e.printStackTrace();
350
                    }
351
                    Bundle args = new Bundle();
352
                    DealsHomeFragment notifcationFragment = new DealsHomeFragment();
353
                    args.putString("key", notificationURL);
354
                    this.getFragmentManager().beginTransaction()
355
                            .replace(R.id.frame_container, notifcationFragment, "Mike")
356
                            .addToBackStack(null)
357
                            .commit();
358
                    notifcationFragment.setArguments(args);
359
                }else if (flag == 31) {
360
                    getSupportActionBar().setCustomView(R.layout.actionbardeals);
361
                    Bundle args = new Bundle();
362
                    DealsHomeFragment redirectUrlFragment = new DealsHomeFragment();
363
                    args.putString("key", redirectUrl);
364
                    this.getFragmentManager().beginTransaction()
365
                            .replace(R.id.frame_container, redirectUrlFragment, "Mike")
366
                            .addToBackStack(null)
367
                            .commit();
368
                    redirectUrlFragment.setArguments(args);
369
                }else {
370
                    getSupportActionBar().setCustomView(R.layout.actionbardeals);
371
                    displayView(0);
372
                }
373
 
374
        }
375
    }
376
 
377
    /**
378
     * Slide menu item click listener
379
     * */
380
    private class SlideMenuClickListener implements
381
            ListView.OnItemClickListener {
382
        @Override
383
        public void onItemClick(AdapterView<?> parent, View view, int position,
384
                                long id) {
385
            // display view for selected nav drawer item
386
            displayView(position);
387
        }
388
    }
389
 
390
    @Override
391
    public boolean onCreateOptionsMenu(Menu menu) {
392
        mainMenu=menu;
393
        super.onCreateOptionsMenu(menu);
394
        getMenuInflater().inflate(R.menu.menu_main, menu);
395
 
396
        return true;
397
    }
398
 
399
    @Override
400
    public boolean onOptionsItemSelected(MenuItem item) {
401
        Fragment menuFragment= null;
402
        JSONObject props = new JSONObject();
403
        Bundle args = new Bundle();
404
        String id = userData.getString("id",null);
405
        if (mDrawerToggle.onOptionsItemSelected(item)) {
406
            return true;
407
        }
408
        getSupportActionBar().setDisplayShowCustomEnabled(true);
409
        switch (item.getItemId()) {
410
            case R.id.action_settings:
411
                android.webkit.CookieManager cookieManager = android.webkit.CookieManager.getInstance();
412
                android.webkit.CookieSyncManager.createInstance(this);
413
                cookieManager.removeAllCookie();
414
                try {
415
                    mixpanel.identify(userData.getString("id",null));
416
                    props.put("Screen", "Signing Out");
417
                    mixpanel.track("Signing Out", props);
418
                } catch (JSONException e) {
419
                    e.printStackTrace();
420
                }
16278 manas 421
                new Analytics(ProfitTillConstants.ANALYTICS_URL,
422
                        AnalyticsUtility.getAnalyticsRequest(MainActivity.this,userData.getString("id",""),"Menu","Sign Out","Sign Out Clicked"),
423
                        AnalyticsJsonResponse.getAnalyticsRequestInstance(),
424
                        AnalyticsErrorResponse.getAnalyitcsResponseInstance()).anlyticsRequest(MainActivity.this);
14792 manas 425
                try{
426
                    if (mGoogleApiClient.isConnected()) {
427
                        Plus.AccountApi.clearDefaultAccount(mGoogleApiClient);
428
                        mGoogleApiClient.disconnect();
429
                        mGoogleApiClient.connect();
430
                        userDataEditor.clear().commit();
431
                        inviteDataEditor.clear().commit();
432
                        startActivity(new Intent(MainActivity.this, LoginActivity.class));
433
                    }
434
                    else if(Session.getActiveSession() != null){
435
                        Session.getActiveSession().closeAndClearTokenInformation();
436
                        Session.setActiveSession(null);
437
                        userDataEditor.clear().commit();
438
                        inviteDataEditor.clear().commit();
439
                        startActivity(new Intent(MainActivity.this, LoginActivity.class));
440
                    }
441
                    else{
442
                        if(!mGoogleApiClient.isConnected() || Session.getActiveSession()==null){
443
                            userDataEditor.clear().commit();
444
                            inviteDataEditor.clear().commit();
445
                            startActivity(new Intent(MainActivity.this, LoginActivity.class));
446
                        }
447
 
448
 
449
                    }
450
                }catch (Exception e){
451
                    userDataEditor.clear().commit();
452
                    startActivity(new Intent(MainActivity.this, LoginActivity.class));
453
                }
454
                return true;
455
 
456
            case R.id.my_wallet:
457
                titleVisible=3;
458
                getSupportActionBar().setCustomView(R.layout.actionbarmywallet);
459
                try {
460
                    mixpanel.identify(userData.getString("id",null));
461
                    props.put("Screen", "My Wallet");
462
                    mixpanel.track("My Wallet", props);
463
                } catch (JSONException e) {
464
                    e.printStackTrace();
465
                }
16278 manas 466
                new Analytics(ProfitTillConstants.ANALYTICS_URL,
467
                        AnalyticsUtility.getAnalyticsRequest(MainActivity.this,userData.getString("id",""),"Menu","My Wallet","My Wallet Clicked"),
468
                        AnalyticsJsonResponse.getAnalyticsRequestInstance(),
469
                        AnalyticsErrorResponse.getAnalyitcsResponseInstance()).anlyticsRequest(MainActivity.this);
14792 manas 470
                MyWallet myWallet= new MyWallet();
471
                this.getFragmentManager().beginTransaction()
472
                        .replace(R.id.frame_container, myWallet,"Mike")
473
                        .addToBackStack(null)
474
                        .commit();
475
                return true;
476
            case R.id.pending_cashback:
477
                titleVisible=5;
478
                getSupportActionBar().setCustomView(R.layout.actionbarpendingcashback);
479
                try {
480
                    mixpanel.identify(userData.getString("id",null));
481
                    props.put("Screen", "Cashback Status");
482
                    mixpanel.track("Cashback Status", props);
483
                } catch (JSONException e) {
484
                    e.printStackTrace();
485
                }
16278 manas 486
                new Analytics(ProfitTillConstants.ANALYTICS_URL,
487
                        AnalyticsUtility.getAnalyticsRequest(MainActivity.this,userData.getString("id",""),"Menu","Cashback Status","Cashback Status Clicked"),
488
                        AnalyticsJsonResponse.getAnalyticsRequestInstance(),
489
                        AnalyticsErrorResponse.getAnalyitcsResponseInstance()).anlyticsRequest(MainActivity.this);
16080 manas 490
                args.putString("key", apiData.getString("pendingcashback.url",null)+"?user_id="+id);
491
                DealsHomeFragment orderFragment= new DealsHomeFragment();
492
                this.getFragmentManager().beginTransaction()
493
                        .replace(R.id.frame_container, orderFragment,"Mike")
494
                        .addToBackStack(null)
14792 manas 495
                        .commit();
16080 manas 496
                orderFragment.setArguments(args);
497
 
14792 manas 498
                return true;
499
            case R.id.my_favorites:
500
                titleVisible=1;
501
                getSupportActionBar().setCustomView(R.layout.actionbarmyfavorites);
502
                try {
503
                    mixpanel.identify(userData.getString("id",null));
504
                    props.put("Screen", "My Favorites");
505
                    mixpanel.track("My Favorites", props);
506
                } catch (JSONException e) {
507
                    e.printStackTrace();
508
                }
16278 manas 509
                new Analytics(ProfitTillConstants.ANALYTICS_URL,
510
                        AnalyticsUtility.getAnalyticsRequest(MainActivity.this,userData.getString("id",""),"Menu","My Favorites","My Favorites Clicked"),
511
                        AnalyticsJsonResponse.getAnalyticsRequestInstance(),
512
                        AnalyticsErrorResponse.getAnalyitcsResponseInstance()).anlyticsRequest(MainActivity.this);
14792 manas 513
                args.putString("key", apiData.getString("myfavourite.url",null)+"?user_id="+id);
514
                DealsHomeFragment favoritesFragment= new DealsHomeFragment();
515
                this.getFragmentManager().beginTransaction()
516
                        .replace(R.id.frame_container, favoritesFragment,"Mike")
517
                        .addToBackStack(null)
518
                        .commit();
519
                favoritesFragment.setArguments(args);
520
                return true;
521
            case R.id.my_profile:
522
                titleVisible=6;
523
                getSupportActionBar().setCustomView(R.layout.actionbarmyprofile);
524
                try {
525
                    mixpanel.identify(userData.getString("id",null));
526
                    props.put("Screen", "My Profile");
527
                    mixpanel.track("My profile", props);
528
                } catch (JSONException e) {
529
                    e.printStackTrace();
530
                }
16278 manas 531
                new Analytics(ProfitTillConstants.ANALYTICS_URL,
532
                        AnalyticsUtility.getAnalyticsRequest(MainActivity.this,userData.getString("id",""),"Menu","My Profile","My Profile Clicked"),
533
                        AnalyticsJsonResponse.getAnalyticsRequestInstance(),
534
                        AnalyticsErrorResponse.getAnalyitcsResponseInstance()).anlyticsRequest(MainActivity.this);
14792 manas 535
                MyProfile myProfile= new MyProfile();
536
                this.getFragmentManager().beginTransaction()
537
                        .replace(R.id.frame_container, myProfile,"Mike")
538
                        .addToBackStack(null)
539
                        .commit();
540
                return true;
541
            case R.id.my_order:
542
                titleVisible=4;
543
                getSupportActionBar().setCustomView(R.layout.actionbarmyorders);
544
                try {
545
                    mixpanel.identify(userData.getString("id",null));
546
                    props.put("Screen", "My Orders");
547
                    mixpanel.track("My Orders", props);
548
                } catch (JSONException e) {
549
                    e.printStackTrace();
550
                }
16278 manas 551
                new Analytics(ProfitTillConstants.ANALYTICS_URL,
552
                        AnalyticsUtility.getAnalyticsRequest(MainActivity.this,userData.getString("id",""),"Menu","My Orders","My Orders Clicked"),
553
                        AnalyticsJsonResponse.getAnalyticsRequestInstance(),
554
                        AnalyticsErrorResponse.getAnalyitcsResponseInstance()).anlyticsRequest(MainActivity.this);
14792 manas 555
                args.putString("key", apiData.getString("myorders.url",null)+"?user_id="+id);
16080 manas 556
                DealsHomeFragment preferenceFragment= new DealsHomeFragment();
14792 manas 557
                this.getFragmentManager().beginTransaction()
16080 manas 558
                        .replace(R.id.frame_container, preferenceFragment,"Mike")
14792 manas 559
                        .addToBackStack(null)
560
                        .commit();
16080 manas 561
                preferenceFragment.setArguments(args);
14792 manas 562
 
563
                return true;
564
            case R.id.my_preferences:
565
                titleVisible=2;
566
                getSupportActionBar().setCustomView(R.layout.actionbarprefernces);
567
                try {
568
                    mixpanel.identify(userData.getString("id",null));
569
                    props.put("Screen", "My Preferences");
570
                    mixpanel.track("My Preferences", props);
571
                } catch (JSONException e) {
572
                    e.printStackTrace();
573
                }
16080 manas 574
                userDataEditor.remove("preferences").commit();
16278 manas 575
                new Analytics(ProfitTillConstants.ANALYTICS_URL,
576
                        AnalyticsUtility.getAnalyticsRequest(MainActivity.this,userData.getString("id",""),"Menu","My Preferences","My Preferences Clicked"),
577
                        AnalyticsJsonResponse.getAnalyticsRequestInstance(),
578
                        AnalyticsErrorResponse.getAnalyitcsResponseInstance()).anlyticsRequest(MainActivity.this);
14792 manas 579
                PreferencesFragment my_preferences = new PreferencesFragment();
580
                this.getFragmentManager().beginTransaction()
581
                        .replace(R.id.frame_container, my_preferences,"Mike")
582
                        .addToBackStack(null)
583
                        .commit();
584
 
585
                return true;
586
           default:
587
                return super.onOptionsItemSelected(item);
588
        }
589
 
590
 
591
    }
592
    public void signOutFromGplus() {
593
 
594
 
595
        if (mGoogleApiClient.isConnected()) {
596
            Plus.AccountApi.clearDefaultAccount(mGoogleApiClient);
597
            mGoogleApiClient.disconnect();
598
            mGoogleApiClient.connect();
599
            glogout=true;
600
            userDataEditor.remove("id");
601
            userDataEditor.remove("type");
602
            userDataEditor.remove("email");
603
            userDataEditor.commit();
604
        } else {
605
            glogout=false;
606
            }
607
    }
608
 
609
    @Override
610
    public void onConnected(Bundle bundle) {
611
 
612
    }
613
 
614
    @Override
615
    public void onConnectionSuspended(int i) {
616
 
617
    }
618
 
619
    @Override
620
    public void onConnectionFailed(ConnectionResult connectionResult) {
621
 
622
    }
623
 
624
    @Override
625
    public void onSaveInstanceState(Bundle outState, PersistableBundle outPersistentState) {
626
        super.onSaveInstanceState(outState, outPersistentState);
627
    }
628
    @Override
629
    protected void onRestoreInstanceState(Bundle savedInstanceState) {
630
        super.onRestoreInstanceState(savedInstanceState);
16080 manas 631
        Intent i= new Intent(MainActivity.this,MainActivity.class);
14792 manas 632
        i.putExtra("displayView","0");
633
        startActivity(i);
634
    }
635
 
636
    @Override
637
    public boolean onMenuOpened(int featureId, Menu menu)
638
    {
639
        if(featureId == Window.FEATURE_ACTION_BAR && menu != null){
640
            if(menu.getClass().getSimpleName().equals("MenuBuilder")){
641
                try{
642
                    Method m = menu.getClass().getDeclaredMethod(
643
                            "setOptionalIconsVisible", Boolean.TYPE);
644
                    m.setAccessible(true);
645
                    m.invoke(menu, true);
646
 
647
                }
648
                catch(Exception e){
649
                    throw new RuntimeException(e);
650
                }
651
            }
652
        }
653
        return super.onMenuOpened(featureId, menu);
654
    }
655
 
656
    private void displayView(int position) {
657
        titleVisible=0;
16278 manas 658
 
14792 manas 659
        Bundle args = new Bundle();
660
        Tracker t = ((GoogleAnalyticsTracker) getApplicationContext()).getTracker(
661
                GoogleAnalyticsTracker.TrackerName.APP_TRACKER);
662
        String id = userData.getString("id",null);
663
        Fragment fragment = null;
664
        switch (position) {
665
            case 0:
666
                JSONObject props = new JSONObject();
667
                try {
668
                    mixpanel.getPeople().set( "$last_login",new Date());
669
                    mixpanel.identify(userData.getString("id",null));
670
                    props.put("Screen", "Deals Screen");
671
                    mixpanel.track("Deals", props);
672
                } catch (JSONException e) {
673
                    e.printStackTrace();
674
                }
675
 
676
                t.send(new HitBuilders.EventBuilder()
677
                        .setCategory("Menu")
678
                        .setAction("Deals ")
679
                        .setLabel("Deals Clicked")
680
                        .build());
16278 manas 681
                new Analytics(ProfitTillConstants.ANALYTICS_URL,
682
                        AnalyticsUtility.getAnalyticsRequest(MainActivity.this,userData.getString("id",""),"Menu","Deals","Deals Clicked"),
683
                        AnalyticsJsonResponse.getAnalyticsRequestInstance(),
684
                        AnalyticsErrorResponse.getAnalyitcsResponseInstance()).anlyticsRequest(MainActivity.this);
14792 manas 685
                args.putString("key", apiData.getString("mobile.website.url","")+"?user_id="+id);
686
                fragment = new DealsHomeFragment();
687
                fragment.setArguments(args);
688
                break;
689
            case 1:
690
                JSONObject props1 = new JSONObject();
691
                try {
692
                    mixpanel.identify(userData.getString("id",null));
693
                    props1.put("Screen", "Search");
694
                    mixpanel.track("Search", props1);
695
                } catch (JSONException e) {
696
                    e.printStackTrace();
697
                }
698
                t.send(new HitBuilders.EventBuilder()
699
                        .setCategory("Menu")
700
                        .setAction("Search ")
701
                        .setLabel("Search Clicked")
702
                        .build());
16278 manas 703
                new Analytics(ProfitTillConstants.ANALYTICS_URL,
704
                        AnalyticsUtility.getAnalyticsRequest(MainActivity.this,userData.getString("id",""),"Menu","Search","Search Clicked"),
705
                        AnalyticsJsonResponse.getAnalyticsRequestInstance(),
706
                        AnalyticsErrorResponse.getAnalyitcsResponseInstance()).anlyticsRequest(MainActivity.this);
14792 manas 707
                args.putString("key", apiData.getString("search.url",null)+"?user_id="+id);
708
                fragment = new DealsHomeFragment();
709
                fragment.setArguments(args);
710
                break;
711
            case 2:
712
                JSONObject propsAmazon = new JSONObject();
713
                try {
714
                    mixpanel.identify(userData.getString("id",null));
715
                    propsAmazon.put("Screen", "Amazon");
716
                    mixpanel.track("Amazon", propsAmazon);
717
                } catch (JSONException e) {
718
                    e.printStackTrace();
719
                }
720
                t.send(new HitBuilders.EventBuilder()
721
                        .setCategory("Menu")
722
                        .setAction("Amazon ")
723
                        .setLabel("Amazon Clicked")
724
                        .build());
16278 manas 725
                new Analytics(ProfitTillConstants.ANALYTICS_URL,
726
                        AnalyticsUtility.getAnalyticsRequest(MainActivity.this,userData.getString("id",""),"Menu","Amazon","Amazon Clicked"),
727
                        AnalyticsJsonResponse.getAnalyticsRequestInstance(),
728
                        AnalyticsErrorResponse.getAnalyitcsResponseInstance()).anlyticsRequest(MainActivity.this);
16080 manas 729
                args.putString("key", apiData.getString("affiliate.url.redirect","")+"?user_id="+userData.getString("id","")+"&store_id="+UtilityFunctions.getNewStoreId(UtilityFunctions.generateStoreMap(apiData.getString("stores.code","amazon=1,flipkart=2,snapdeal=3,spice=4,shopclues=5,")),ProfitTillConstants.AMAZON));
14792 manas 730
                fragment = new DealsHomeFragment();
731
                fragment.setArguments(args);
732
                break;
733
            case 3:
734
                JSONObject propsFlipkart = new JSONObject();
735
                try {
736
                    mixpanel.identify(userData.getString("id",null));
737
                    propsFlipkart.put("Screen", "Flipkart");
738
                    mixpanel.track("Flipkart", propsFlipkart);
739
                } catch (JSONException e) {
740
                    e.printStackTrace();
741
                }
742
                t.send(new HitBuilders.EventBuilder()
743
                        .setCategory("Menu")
744
                        .setAction("Flipkart ")
745
                        .setLabel("Flipkart Clicked")
746
                        .build());
16278 manas 747
 
748
                new Analytics(ProfitTillConstants.ANALYTICS_URL,
749
                        AnalyticsUtility.getAnalyticsRequest(MainActivity.this,userData.getString("id",""),"Menu","Flipkart","Flipkart Clicked"),
750
                        AnalyticsJsonResponse.getAnalyticsRequestInstance(),
751
                        AnalyticsErrorResponse.getAnalyitcsResponseInstance()).anlyticsRequest(MainActivity.this);
16080 manas 752
                args.putString("key", apiData.getString("affiliate.url.redirect","")+"?user_id="+userData.getString("id","")+"&store_id="+UtilityFunctions.getNewStoreId(UtilityFunctions.generateStoreMap(apiData.getString("stores.code","amazon=1,flipkart=2,snapdeal=3,spice=4,shopclues=5,")),ProfitTillConstants.FLIPKART));
14792 manas 753
                fragment = new DealsHomeFragment();
754
                fragment.setArguments(args);
755
                break;
756
            case 4:
757
                JSONObject propsSaholic = new JSONObject();
758
                try {
759
                    mixpanel.identify(userData.getString("id",null));
760
                    propsSaholic.put("Screen", "Saholic");
761
                    mixpanel.track("Saholic", propsSaholic);
762
                } catch (JSONException e) {
763
                    e.printStackTrace();
764
                }
765
                t.send(new HitBuilders.EventBuilder()
766
                        .setCategory("Menu")
767
                        .setAction("Saholic ")
768
                        .setLabel("Saholic Clicked")
769
                        .build());
16278 manas 770
                new Analytics(ProfitTillConstants.ANALYTICS_URL,
771
                        AnalyticsUtility.getAnalyticsRequest(MainActivity.this,userData.getString("id",""),"Menu","Saholic","Saholic Clicked"),
772
                        AnalyticsJsonResponse.getAnalyticsRequestInstance(),
773
                        AnalyticsErrorResponse.getAnalyitcsResponseInstance()).anlyticsRequest(MainActivity.this);
14792 manas 774
                args.putString("key", apiData.getString("saholic.autologin.url","")+"?user_id="+userData.getString("id",""));
775
                fragment = new DealsHomeFragment();
776
                fragment.setArguments(args);
777
                break;
16080 manas 778
            /*case 5:
779
                JSONObject propsShopclues = new JSONObject();
780
                try {
781
                    mixpanel.identify(userData.getString("id",null));
782
                    propsShopclues.put("Screen", "Shopclues");
783
                    mixpanel.track("Shopclues", propsShopclues);
784
                } catch (JSONException e) {
785
                    e.printStackTrace();
786
                }
787
                t.send(new HitBuilders.EventBuilder()
788
                        .setCategory("Menu")
789
                        .setAction("Shopclues ")
790
                        .setLabel("Shopclues Clicked")
791
                        .build());
792
                //args.putString("key", apiData.getString("affiliate.url.redirect","")+"?user_id="+userData.getString("id","")+"&store_id="+apiData.getString("store.code.snapdeal",""));
793
                String url=apiData.getString("affiliate.url.redirect","")+"?user_id="+userData.getString("id","")+"&store_id="+UtilityFunctions.getNewStoreId(UtilityFunctions.generateStoreMap(apiData.getString("stores.code","amazon=1,flipkart=2,snapdeal=3,spice=4,shopclues=5,")),"shopclues");
794
                args.putString("key", url);
795
                CookieSyncManager.createInstance(getApplicationContext());
796
                CookieManager cookieManager = CookieManager.getInstance();
797
                cookieManager.setCookie(url, "token=" + userData.getString("token", ""));
798
                cookieManager.setCookie(url, "walletAuthentication=true");
799
                cookieManager.setCookie(url, "shopcluesActive=true");
800
                fragment = new DealsHomeFragment();
801
                fragment.setArguments(args);
802
                break;*/
14792 manas 803
            case 5:
804
                JSONObject propsSnapdeal = new JSONObject();
805
                try {
806
                    mixpanel.identify(userData.getString("id",null));
807
                    propsSnapdeal.put("Screen", "Snapdeal");
808
                    mixpanel.track("Snapdeal", propsSnapdeal);
809
                } catch (JSONException e) {
810
                    e.printStackTrace();
811
                }
812
                t.send(new HitBuilders.EventBuilder()
813
                        .setCategory("Menu")
814
                        .setAction("Snapdeal ")
815
                        .setLabel("Snapdeal Clicked")
816
                        .build());
16278 manas 817
                new Analytics(ProfitTillConstants.ANALYTICS_URL,
818
                        AnalyticsUtility.getAnalyticsRequest(MainActivity.this,userData.getString("id",""),"Menu","Snapdeal","Snapdeal Clicked"),
819
                        AnalyticsJsonResponse.getAnalyticsRequestInstance(),
820
                        AnalyticsErrorResponse.getAnalyitcsResponseInstance()).anlyticsRequest(MainActivity.this);
16080 manas 821
                args.putString("key", apiData.getString("affiliate.url.redirect","")+"?user_id="+userData.getString("id","")+"&store_id="+UtilityFunctions.getNewStoreId(UtilityFunctions.generateStoreMap(apiData.getString("stores.code","amazon=1,flipkart=2,snapdeal=3,spice=4,shopclues=5,")),ProfitTillConstants.SNAPDEAL));
14792 manas 822
                fragment = new DealsHomeFragment();
823
                fragment.setArguments(args);
824
                break;
825
            case 6:
826
                JSONObject propsContactUs = new JSONObject();
827
                try {
828
                    mixpanel.identify(userData.getString("id",null));
829
                    propsContactUs.put("Screen", "Contact Us");
830
                    mixpanel.track("Contact Us", propsContactUs);
831
                } catch (JSONException e) {
832
                    e.printStackTrace();
833
                }
834
                t.send(new HitBuilders.EventBuilder()
835
                        .setCategory("Menu")
836
                        .setAction("Contact Us ")
837
                        .setLabel("Contact us Clicked")
838
                        .build());
16278 manas 839
                new Analytics(ProfitTillConstants.ANALYTICS_URL,
840
                        AnalyticsUtility.getAnalyticsRequest(MainActivity.this,userData.getString("id",""),"Menu","Contact Us","Contact Us Clicked"),
841
                        AnalyticsJsonResponse.getAnalyticsRequestInstance(),
842
                        AnalyticsErrorResponse.getAnalyitcsResponseInstance()).anlyticsRequest(MainActivity.this);
14792 manas 843
                fragment = new ContactUsFragment();
844
                break;
845
            case 7:
846
                JSONObject propsHowItWorks = new JSONObject();
847
                try {
848
                    mixpanel.identify(userData.getString("id",null));
849
                    propsHowItWorks.put("Screen", "How it Works");
850
                    mixpanel.track("How it Works", propsHowItWorks);
851
                } catch (JSONException e) {
852
                    e.printStackTrace();
853
                }
854
                t.send(new HitBuilders.EventBuilder()
855
                        .setCategory("Menu")
856
                        .setAction("Tutorials ")
857
                        .setLabel("Tutorials Clicked")
858
                        .build());
16278 manas 859
                new Analytics(ProfitTillConstants.ANALYTICS_URL,
860
                        AnalyticsUtility.getAnalyticsRequest(MainActivity.this,userData.getString("id",""),"Menu","How it Works","How it works Clicked"),
861
                        AnalyticsJsonResponse.getAnalyticsRequestInstance(),
862
                        AnalyticsErrorResponse.getAnalyitcsResponseInstance()).anlyticsRequest(MainActivity.this);
14792 manas 863
                fragment = new HowItWorksFragment();
864
                break;
865
            case 8:
866
                JSONObject propsAboutUs = new JSONObject();
867
                try {
868
                    mixpanel.identify(userData.getString("id",null));
869
                    propsAboutUs.put("Screen", "About Us");
870
                    mixpanel.track("About Us", propsAboutUs);
871
                } catch (JSONException e) {
872
                    e.printStackTrace();
873
                }
874
                t.send(new HitBuilders.EventBuilder()
875
                        .setCategory("Menu")
876
                        .setAction("About Us ")
877
                        .setLabel("About us Clicked")
878
                        .build());
16278 manas 879
                new Analytics(ProfitTillConstants.ANALYTICS_URL,
880
                        AnalyticsUtility.getAnalyticsRequest(MainActivity.this,userData.getString("id",""),"Menu","About Us","About Us Clicked"),
881
                        AnalyticsJsonResponse.getAnalyticsRequestInstance(),
882
                        AnalyticsErrorResponse.getAnalyitcsResponseInstance()).anlyticsRequest(MainActivity.this);
14792 manas 883
                fragment = new AboutUsFragment();
884
                break;
885
            default:
886
                break;
887
        }
888
        if (fragment != null) {
889
            FragmentManager fragmentManager = getFragmentManager();
890
            fragmentManager.beginTransaction().replace(R.id.frame_container, fragment).commit();
891
            mDrawerList.setItemChecked(position, true);
892
            mDrawerList.setSelection(position);
893
            setTitle(navMenuTitles[position]);
894
            mDrawerLayout.closeDrawer(mDrawerList);
895
        }
896
    }
897
 
898
 
899
 
900
    @Override
901
    protected void onPostCreate(Bundle savedInstanceState) {
902
        super.onPostCreate(savedInstanceState);
903
        mDrawerToggle.syncState();
904
    }
905
 
906
    @Override
907
    public boolean onPrepareOptionsMenu(Menu menu) {
908
        boolean drawerOpen = shouldGoInvisible;
909
        hideMenuItems(menu, !drawerOpen);
910
        return super.onPrepareOptionsMenu(menu);
911
    }
912
    private void hideMenuItems(Menu menu, boolean visible)
913
    {
914
       for(int i = 0; i < menu.size(); i++){
915
        menu.getItem(i).setVisible(visible);
916
       }
917
    }
918
    @Override
919
    public void onConfigurationChanged(Configuration newConfig) {
920
        super.onConfigurationChanged(newConfig);
921
        mDrawerToggle.onConfigurationChanged(newConfig);
922
    }
923
    @Override
924
    public boolean onKeyUp(int keycode, KeyEvent e) {
925
        switch(keycode) {
926
            case KeyEvent.KEYCODE_MENU:
927
 
928
                if (mainMenu !=null) {
929
                    mainMenu.performIdentifierAction(R.id.overflowMenu,0);
930
                }
931
        }
932
 
933
        return super.onKeyUp(keycode, e);
934
    }
935
    @Override
936
    public boolean onKeyDown(int keyCode, KeyEvent event) {
937
 
938
        switch(keyCode) {
939
            case KeyEvent.KEYCODE_MENU:
940
                  if (mainMenu !=null) {
941
                  mainMenu.performIdentifierAction(R.id.overflowMenu,0);
942
                  }
943
        }
944
        return super.onKeyUp(keyCode, event);
945
    }
946
    private Menu mainMenu;
947
    public final boolean isInternetOn() {
948
 
949
        ConnectivityManager connec =
950
                (ConnectivityManager)getSystemService(this.getBaseContext().CONNECTIVITY_SERVICE);
951
 
952
        if ( connec.getNetworkInfo(0).getState() == android.net.NetworkInfo.State.CONNECTED ||
953
                connec.getNetworkInfo(0).getState() == android.net.NetworkInfo.State.CONNECTING ||
954
                connec.getNetworkInfo(1).getState() == android.net.NetworkInfo.State.CONNECTING ||
955
                connec.getNetworkInfo(1).getState() == android.net.NetworkInfo.State.CONNECTED ) {
956
 
957
            Toast.makeText(this, " Connected ", Toast.LENGTH_LONG).show();
958
            return true;
959
 
960
        } else if (
961
                connec.getNetworkInfo(0).getState() == android.net.NetworkInfo.State.DISCONNECTED ||
962
                        connec.getNetworkInfo(1).getState() == android.net.NetworkInfo.State.DISCONNECTED  ) {
963
 
964
            Toast.makeText(this, " Not Connected ", Toast.LENGTH_LONG).show();
965
            return false;
966
        }
967
        return false;
968
    }
969
    class NotificationOpenedData extends AsyncTask<ArrayList<NameValuePair>, Integer, String> {
970
 
971
        @Override
972
        protected void onPreExecute() {
973
            super.onPreExecute();
974
 
975
        }
976
 
977
        @Override
978
        protected String doInBackground(ArrayList<NameValuePair>... arg0) {
979
 
980
            try {
981
                HttpClient httpclient = new DefaultHttpClient();
982
                HttpPost httppost = new HttpPost(apiData.getString("notification.data.url","http://api.profittill.com/pushnotifications/add"));
983
                httppost.setHeader("Authorization", ProfitTillConstants.BASIC_AUTH);
984
                httppost.setEntity(new UrlEncodedFormEntity(arg0[0]));
985
                HttpResponse response = httpclient.execute(httppost);
986
                HttpEntity entity = response.getEntity();
987
                int status = response.getStatusLine().getStatusCode();
988
 
989
                if(status == 200){
990
                    Log.d("Notification Opened","Notication opened and main activity page and sent successfully");
991
                    Log.d("ResponseCode GCM ",status+"");
992
                } else {
993
                    Log.d("ResponseCode GCM ",status+"");
994
                }
995
 
996
                nameValuePairsGcm.clear();
997
                Log.e("pass 1", "connection success ");
998
            } catch (Exception e) {
999
                Log.e("Fail 1", e.toString());
1000
 
1001
            }
1002
            return "success";
1003
        }
1004
 
1005
        @Override
1006
        protected void onPostExecute(String result) {
1007
            super.onPostExecute(result);
1008
            Log.d("Notification Opened","Notication opened and main activity page");
1009
        }
1010
    }
1011
}