Subversion Repositories SmartDukaan

Rev

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

Rev 21480 Rev 22132
Line 1... Line 1...
1
package com.saholic.profittill.main;
1
package com.saholic.profittill.main;
2
 
-
 
3
import android.Manifest;
2
import android.Manifest;
-
 
3
import android.annotation.TargetApi;
4
import android.app.AlarmManager;
4
import android.app.AlarmManager;
-
 
5
import android.app.AlertDialog;
5
import android.app.Fragment;
6
import android.app.Fragment;
6
import android.app.FragmentManager;
7
import android.app.FragmentManager;
7
import android.app.PendingIntent;
8
import android.app.PendingIntent;
8
import android.content.Context;
9
import android.content.Context;
-
 
10
import android.content.DialogInterface;
9
import android.content.Intent;
11
import android.content.Intent;
10
import android.content.SharedPreferences;
12
import android.content.SharedPreferences;
11
import android.content.pm.PackageManager;
13
import android.content.pm.PackageManager;
12
import android.content.res.Configuration;
14
import android.content.res.Configuration;
13
import android.graphics.Color;
15
import android.graphics.Color;
-
 
16
import android.graphics.PorterDuff;
14
import android.graphics.drawable.ColorDrawable;
17
import android.graphics.drawable.ColorDrawable;
-
 
18
import android.graphics.drawable.Drawable;
15
import android.net.ConnectivityManager;
19
import android.net.ConnectivityManager;
16
import android.net.Uri;
20
import android.net.Uri;
17
import android.os.AsyncTask;
21
import android.os.AsyncTask;
-
 
22
import android.os.Build;
18
import android.os.Bundle;
23
import android.os.Bundle;
19
import android.os.PersistableBundle;
24
import android.os.PersistableBundle;
20
import android.os.SystemClock;
25
import android.os.SystemClock;
21
import android.support.v4.app.ActionBarDrawerToggle;
26
import android.support.v4.app.ActionBarDrawerToggle;
22
import android.support.v4.app.ActivityCompat;
27
import android.support.v4.app.ActivityCompat;
Line 25... Line 30...
25
import android.support.v7.app.ActionBarActivity;
30
import android.support.v7.app.ActionBarActivity;
26
import android.util.Log;
31
import android.util.Log;
27
import android.view.KeyEvent;
32
import android.view.KeyEvent;
28
import android.view.Menu;
33
import android.view.Menu;
29
import android.view.MenuItem;
34
import android.view.MenuItem;
30
import android.view.View;
-
 
31
import android.view.ViewConfiguration;
35
import android.view.ViewConfiguration;
32
import android.view.Window;
36
import android.view.Window;
33
import android.webkit.CookieManager;
37
import android.webkit.CookieManager;
34
import android.webkit.CookieSyncManager;
38
import android.webkit.CookieSyncManager;
35
import android.widget.ExpandableListView;
39
import android.widget.ExpandableListView;
36
import android.widget.ImageView;
-
 
37
import android.widget.LinearLayout;
40
import android.widget.LinearLayout;
38
import android.widget.RelativeLayout;
-
 
39
import android.widget.TextView;
-
 
40
 
41
 
41
import com.google.android.gms.analytics.HitBuilders;
42
import com.google.android.gms.analytics.HitBuilders;
42
import com.google.android.gms.analytics.Tracker;
43
import com.google.android.gms.analytics.Tracker;
43
import com.google.android.gms.common.ConnectionResult;
44
import com.google.android.gms.common.ConnectionResult;
44
import com.google.android.gms.common.api.GoogleApiClient;
45
import com.google.android.gms.common.api.GoogleApiClient;
Line 52... Line 53...
52
import com.saholic.profittill.Utils.DESEncrypter;
53
import com.saholic.profittill.Utils.DESEncrypter;
53
import com.saholic.profittill.Utils.UtilityFunctions;
54
import com.saholic.profittill.Utils.UtilityFunctions;
54
import com.saholic.profittill.Volley.Analytics;
55
import com.saholic.profittill.Volley.Analytics;
55
import com.saholic.profittill.Volley.AnalyticsErrorResponse;
56
import com.saholic.profittill.Volley.AnalyticsErrorResponse;
56
import com.saholic.profittill.Volley.AnalyticsJsonResponse;
57
import com.saholic.profittill.Volley.AnalyticsJsonResponse;
57
import com.saholic.profittill.navigationdrawer.ExpandableNavigationAdapter;
-
 
58
import com.saholic.profittill.navigationdrawer.ExpandableNavigationItem;
-
 
-
 
58
 
59
import com.testin.agent.TestinAgent;
59
import com.testin.agent.TestinAgent;
60
 
60
 
61
import org.apache.http.HttpEntity;
61
import org.apache.http.HttpEntity;
62
import org.apache.http.HttpResponse;
62
import org.apache.http.HttpResponse;
63
import org.apache.http.NameValuePair;
63
import org.apache.http.NameValuePair;
Line 70... Line 70...
70
import org.json.JSONObject;
70
import org.json.JSONObject;
71
 
71
 
72
import java.lang.reflect.Field;
72
import java.lang.reflect.Field;
73
import java.lang.reflect.Method;
73
import java.lang.reflect.Method;
74
import java.util.ArrayList;
74
import java.util.ArrayList;
75
import java.util.Arrays;
-
 
76
import java.util.Date;
75
import java.util.Date;
77
import java.util.HashMap;
76
import java.util.HashMap;
78
import java.util.List;
77
import java.util.List;
79
import java.util.Map;
78
import java.util.Map;
80
 
79
 
Line 88... Line 87...
88
    SharedPreferences.Editor apiSettingsEditor;
87
    SharedPreferences.Editor apiSettingsEditor;
89
    SharedPreferences.Editor inviteDataEditor;
88
    SharedPreferences.Editor inviteDataEditor;
90
    SharedPreferences inviteData;
89
    SharedPreferences inviteData;
91
    String type1;
90
    String type1;
92
    int flag;
91
    int flag;
-
 
92
    Context context;
93
    boolean shouldGoInvisible;
93
    boolean shouldGoInvisible;
94
    int titleVisible;
94
    int titleVisible;
95
    String redirectUrl;
95
    String redirectUrl;
96
    MixpanelAPI mixpanel;
96
    MixpanelAPI mixpanel;
97
    String notificationURL;
97
    String notificationURL;
98
    ArrayList<NameValuePair> nameValuePairsGcm;
98
    ArrayList<NameValuePair> nameValuePairsGcm;
99
 
-
 
100
    private DrawerLayout mDrawerLayout;
99
    private DrawerLayout mDrawerLayout;
101
    private ExpandableListView mDrawerList;
100
    private ExpandableListView mDrawerList;
102
    private LinearLayout navDrawerView;
101
    private LinearLayout navDrawerView;
103
    ExpandableNavigationAdapter customAdapter;
102
    //ExpandableNavigationAdapter customAdapter;
104
    private ActionBarDrawerToggle mDrawerToggle;
103
    private ActionBarDrawerToggle mDrawerToggle;
105
    private CharSequence mDrawerTitle;
104
    private CharSequence mDrawerTitle;
106
    private CharSequence mTitle;
105
    private CharSequence mTitle;
107
    private String[] mPlanetTitles;
106
    private String[] mPlanetTitles;
108
    private String[] mHelpTtiles;
107
    private String[] mHelpTtiles;
109
    private int selectedPosition;
108
    private int selectedPosition;
110
    List<ExpandableNavigationItem> listParent;
109
    //List<ExpandableNavigationItem> listParent;
111
    HashMap<String, List<String>> listDataChild;
110
    HashMap<String, List<String>> listDataChild;
112
    public static final int SMS_RECIEVE_PERMISSION = 100;
111
    public static final int SMS_RECIEVE_PERMISSION = 100;
-
 
112
    public static final int CAMERA_PERMISSION = 101;
-
 
113
    public static final int Storage_permission=102;
113
    private boolean PermissionIngranted=false;
114
    private boolean PermissionIngranted=false;
114
 
115
 
115
 
116
 
116
    @Override
117
    @Override
117
    protected void onCreate(Bundle savedInstanceState) {
118
    protected void onCreate(Bundle savedInstanceState) {
118
        super.onCreate(savedInstanceState);
119
        super.onCreate(savedInstanceState);
119
        setContentView(R.layout.activity_main);
120
        setContentView(R.layout.activity_main);
120
        TestinAgent.init(this);
121
        TestinAgent.init(this);
121
 
122
 
-
 
123
        getSupportActionBar().hide();
122
        userData = getApplicationContext().getSharedPreferences("User_Data", MODE_PRIVATE);
124
        userData = getApplicationContext().getSharedPreferences("User_Data", MODE_PRIVATE);
123
        apiData = getApplicationContext().getSharedPreferences("API_Data", MODE_PRIVATE);
125
        apiData = getApplicationContext().getSharedPreferences("API_Data", MODE_PRIVATE);
124
        userDataEditor = userData.edit();
126
        userDataEditor = userData.edit();
125
        apiSettingsEditor = apiData.edit();
127
        apiSettingsEditor = apiData.edit();
126
        if(userData.getString("registered","").equalsIgnoreCase("false")){
-
 
127
            requestReceivemessag();
128
        checkPermission();
128
        }
-
 
129
 
-
 
130
        inviteData = getApplicationContext().getSharedPreferences("Invite_Data", Context.MODE_PRIVATE);
129
        inviteData = getApplicationContext().getSharedPreferences("Invite_Data", Context.MODE_PRIVATE);
131
        inviteDataEditor = inviteData.edit();
130
        inviteDataEditor = inviteData.edit();
132
        TestinAgent.setUserInfo(userData.getString("id",""));
131
        TestinAgent.setUserInfo(userData.getString("id",""));
133
        mixpanel = MixpanelAPI.getInstance(getApplicationContext(), ProfitTillConstants.MIX_PANEL_TOKEN);
132
        mixpanel = MixpanelAPI.getInstance(getApplicationContext(), ProfitTillConstants.MIX_PANEL_TOKEN);
134
        type1 = userData.getString("type",null);
133
        type1 = userData.getString("type",null);
Line 273... Line 272...
273
                    flag=6;
272
                    flag=6;
274
                }
273
                }
275
                else if(desEncrypter.decrypt(url.getQueryParameter("key")).equalsIgnoreCase("tutorial")){
274
                else if(desEncrypter.decrypt(url.getQueryParameter("key")).equalsIgnoreCase("tutorial")){
276
                    flag=7;
275
                    flag=7;
277
                }else{
276
                }else{
-
 
277
                    String dealsUrl=apiData.getString("Web_Uri","http://pm.shop2020.in/entry-point");
278
                    String dealsUrl= ProfitTillConstants.Web_Uri+"entry-point";
278
                    //String dealsUrl=ProfitTillConstants.Web_Uri;
279
                    flag=20;
279
                    flag=20;
280
                    notificationURL =dealsUrl;
280
                    notificationURL =dealsUrl;
281
                }
281
                }
282
            }else if (url.getQueryParameter("intent_type").equalsIgnoreCase("update")){
282
            }else if (url.getQueryParameter("intent_type").equalsIgnoreCase("update")){
283
                String campaignId = url.getQueryParameter("campaign");
283
                String campaignId = url.getQueryParameter("campaign");
Line 308... Line 308...
308
                    intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=" + getApplicationContext().getPackageName()));
308
                    intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=" + getApplicationContext().getPackageName()));
309
                }
309
                }
310
                startActivity(intent);
310
                startActivity(intent);
311
            }
311
            }
312
            else{
312
            else{
-
 
313
                String dealsUrl=apiData.getString("Web_Uri","http://pm.shop2020.in/entry-point");
313
                String dealsUrl= ProfitTillConstants.Web_Uri+"entry-point";
314
                //String dealsUrl=ProfitTillConstants.Web_Uri;
314
                flag=20;
315
                flag=20;
315
                notificationURL =dealsUrl;
316
                notificationURL =dealsUrl;
316
            }
317
            }
317
        }
318
        }
318
        else if(getIntent().getAction()=="11"){
319
        else if(getIntent().getAction()=="11"){
319
            flag=11;
320
            flag=11;
320
        }else {
321
        }else {
321
            Bundle i = getIntent().getExtras();
322
            Bundle i = getIntent().getExtras();
322
            try{
323
            try{
323
            if (i != null) {
324
                if (i != null) {
324
                flag = Integer.parseInt(i.getString("displayView"));
325
                    flag = Integer.parseInt(i.getString("displayView"));
325
                if (flag == 31) {
326
                    if (flag == 31) {
326
                    redirectUrl = i.getString("redirectUrl");
327
                        redirectUrl = i.getString("redirectUrl");
327
                }
328
                    }
328
            }}
329
                }}
329
            catch (Exception e){
330
            catch (Exception e){
330
                e.printStackTrace();
331
                e.printStackTrace();
331
            }
332
            }
332
        }
333
        }
333
 
334
 
334
        getSupportActionBar().setBackgroundDrawable(new ColorDrawable(Color.WHITE));
335
       /* getSupportActionBar().setBackgroundDrawable(new ColorDrawable(Color.WHITE));
335
        getSupportActionBar().setIcon(R.drawable.logo_cirlce_1);
336
        //getSupportActionBar().setIcon(R.drawable.backarrow);
336
        getSupportActionBar().setDisplayShowCustomEnabled(true);
337
        getSupportActionBar().setDisplayShowCustomEnabled(true);
337
        getSupportActionBar().setDisplayShowTitleEnabled(false);
338
        getSupportActionBar().setDisplayShowTitleEnabled(false);
-
 
339
        final Drawable upArrow = getResources().getDrawable(R.drawable.abc_ic_ab_back_mtrl_am_alpha);
-
 
340
        upArrow.setColorFilter(getResources().getColor(R.color.grey_black), PorterDuff.Mode.SRC_ATOP);
-
 
341
        getSupportActionBar().setHomeAsUpIndicator(upArrow);
-
 
342
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
-
 
343
        getSupportActionBar().setHomeButtonEnabled(true);
-
 
344
        getSupportActionBar().setCustomView(R.layout.actionbarprofittill);*/
338
 
345
 
339
        try {
346
        try {
340
            ViewConfiguration config = ViewConfiguration.get(this);
347
            ViewConfiguration config = ViewConfiguration.get(this);
341
            Field menuKeyField = ViewConfiguration.class
348
            Field menuKeyField = ViewConfiguration.class
342
                    .getDeclaredField("sHasPermanentMenuKey");
349
                    .getDeclaredField("sHasPermanentMenuKey");
Line 356... Line 363...
356
            mGoogleApiClient.connect();
363
            mGoogleApiClient.connect();
357
        }
364
        }
358
 
365
 
359
        mTitle = mDrawerTitle = getTitle();
366
        mTitle = mDrawerTitle = getTitle();
360
 
367
 
361
        navDrawerView = (LinearLayout) findViewById(R.id.navDrawerView);
368
        /*navDrawerView = (LinearLayout) findViewById(R.id.navDrawerView);
362
        mPlanetTitles = getResources().getStringArray(R.array.stores_array);
369
        mPlanetTitles = getResources().getStringArray(R.array.stores_array);
363
        mHelpTtiles= getResources().getStringArray(R.array.help_array);
370
        mHelpTtiles= getResources().getStringArray(R.array.help_array);
364
        mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
371
        mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
365
        mDrawerList = (ExpandableListView) findViewById(R.id.nav_left_drawer);
372
        mDrawerList = (ExpandableListView) findViewById(R.id.nav_left_drawer);*/
366
       /* if(userData.getString("registered","").equalsIgnoreCase("false")){
373
               /* if(userData.getString("registered","").equalsIgnoreCase("false")){
367
            getSupportActionBar().hide();
374
            getSupportActionBar().hide();
368
             mDrawerLayout.setVisibility(View.INVISIBLE);
375
             mDrawerLayout.setVisibility(View.INVISIBLE);
369
 
376
 
370
        }*/
377
        }*/
371
        listParent = new ArrayList<ExpandableNavigationItem>();
378
      /*  listParent = new ArrayList<ExpandableNavigationItem>();
372
        listDataChild = new HashMap<String, List<String>>();
379
        listDataChild = new HashMap<String, List<String>>();
373
        listParent.add(new ExpandableNavigationItem(getString(R.string.Deals)));
380
        listParent.add(new ExpandableNavigationItem(getString(R.string.Deals)));
374
        listParent.add(new ExpandableNavigationItem(getString(R.string.Search)));
381
        listParent.add(new ExpandableNavigationItem(getString(R.string.Search)));
375
        listParent.add(new ExpandableNavigationItem(getString(R.string.Stores)));
382
        listParent.add(new ExpandableNavigationItem(getString(R.string.Stores)));
376
        listParent.add(new ExpandableNavigationItem(getString(R.string.Help)));
383
        listParent.add(new ExpandableNavigationItem(getString(R.string.Help)));
Line 380... Line 387...
380
        listDataChild.put(getString(R.string.Help), Arrays.asList(mHelpTtiles));
387
        listDataChild.put(getString(R.string.Help), Arrays.asList(mHelpTtiles));
381
 
388
 
382
        customAdapter = new ExpandableNavigationAdapter(this, listParent, listDataChild);
389
        customAdapter = new ExpandableNavigationAdapter(this, listParent, listDataChild);
383
 
390
 
384
        mDrawerList.setAdapter(customAdapter);
391
        mDrawerList.setAdapter(customAdapter);
385
        mDrawerList.setChoiceMode(ExpandableListView.CHOICE_MODE_SINGLE);
392
        mDrawerList.setChoiceMode(ExpandableListView.CHOICE_MODE_SINGLE);*/
386
 
393
 
387
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
394
        // getSupportActionBar().setDisplayHomeAsUpEnabled(true);
388
        getSupportActionBar().setHomeButtonEnabled(true);
395
        //getSupportActionBar().setHomeButtonEnabled(true);
389
        mDrawerList.setOnChildClickListener(new ExpandableListViewChildClick());
396
       /* mDrawerList.setOnChildClickListener(new ExpandableListViewChildClick());
390
        mDrawerList.setOnGroupExpandListener(new ExpandableGroupExpandListener());
397
        mDrawerList.setOnGroupExpandListener(new ExpandableGroupExpandListener());
391
 
398
 
392
        mDrawerList.setOnGroupClickListener(new ExpandableListView.OnGroupClickListener() {
399
        mDrawerList.setOnGroupClickListener(new ExpandableListView.OnGroupClickListener() {
393
            @Override
400
            @Override
394
            public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition, long id) {
401
            public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition, long id) {
Line 496... Line 503...
496
                redirectUrlFragment.setArguments(args);
503
                redirectUrlFragment.setArguments(args);
497
            }else {
504
            }else {
498
                getSupportActionBar().setCustomView(R.layout.actionbardeals);
505
                getSupportActionBar().setCustomView(R.layout.actionbardeals);
499
                displayView(0);
506
                displayView(0);
500
            }
507
            }
501
        }
508
        }*/
-
 
509
        displayView(0);
502
    }
510
    }
503
    public void requestReceivemessag(){
-
 
504
 
511
 
505
        if (ContextCompat.checkSelfPermission(MainActivity.this,
-
 
506
                Manifest.permission.RECEIVE_SMS)
-
 
507
                != PackageManager.PERMISSION_GRANTED) {
-
 
508
            if (ActivityCompat.shouldShowRequestPermissionRationale(MainActivity.this,
-
 
509
                    Manifest.permission.RECEIVE_SMS)) {
-
 
510
 
512
 
511
            } else {
-
 
512
                ActivityCompat.requestPermissions(MainActivity.this,
-
 
513
                        new String[]{Manifest.permission.RECEIVE_SMS},
-
 
514
                        SMS_RECIEVE_PERMISSION);
-
 
515
            }
-
 
516
            return;
-
 
517
        }
-
 
518
    }
-
 
519
 
513
 
-
 
514
 
-
 
515
 
520
    private class ExpandableGroupExpandListener implements ExpandableListView.OnGroupExpandListener {
516
   /* private class ExpandableGroupExpandListener implements ExpandableListView.OnGroupExpandListener {
521
        @Override
517
        @Override
522
        public void onGroupExpand(int groupPosition) {
518
        public void onGroupExpand(int groupPosition) {
523
            int len = customAdapter.getGroupCount();
519
            int len = customAdapter.getGroupCount();
524
            int index = mDrawerList.getFlatListPosition(ExpandableListView.getPackedPositionForGroup(groupPosition));
520
            int index = mDrawerList.getFlatListPosition(ExpandableListView.getPackedPositionForGroup(groupPosition));
525
            mDrawerList.setItemChecked(index, true);
521
            mDrawerList.setItemChecked(index, true);
Line 598... Line 594...
598
                t.send(new HitBuilders.EventBuilder()
594
                t.send(new HitBuilders.EventBuilder()
599
                        .setCategory("Menu")
595
                        .setCategory("Menu")
600
                        .setAction("Tutorials ")
596
                        .setAction("Tutorials ")
601
                        .setLabel("Tutorials Clicked")
597
                        .setLabel("Tutorials Clicked")
602
                        .build());
598
                        .build());
603
                fragment = new HowItWorksFragment();
-
 
-
 
599
 
604
                break;
600
                break;
605
            case 2:
601
            case 2:
606
                JSONObject propsAboutUs = new JSONObject();
602
                JSONObject propsAboutUs = new JSONObject();
607
                try {
603
                try {
608
                    mixpanel.identify(userData.getString("id",null));
604
                    mixpanel.identify(userData.getString("id",null));
Line 626... Line 622...
626
            fragmentManager.beginTransaction().replace(R.id.frame_container, fragment).commit();
622
            fragmentManager.beginTransaction().replace(R.id.frame_container, fragment).commit();
627
 
623
 
628
        } else {
624
        } else {
629
            Log.e("MainActivity", "Error in creating fragment");
625
            Log.e("MainActivity", "Error in creating fragment");
630
        }*/
626
        }*/
631
        if (fragment != null) {
627
      /*  if (fragment != null) {
632
            FragmentManager fragmentManager = getFragmentManager();
628
            FragmentManager fragmentManager = getFragmentManager();
633
            fragmentManager.popBackStack(fragment.toString(),FragmentManager.POP_BACK_STACK_INCLUSIVE);
629
            fragmentManager.popBackStack(fragment.toString(),FragmentManager.POP_BACK_STACK_INCLUSIVE);
634
            fragmentManager.beginTransaction().replace(R.id.frame_container, fragment).addToBackStack(fragment.toString()).commit();
630
            fragmentManager.beginTransaction().replace(R.id.frame_container, fragment).addToBackStack(fragment.toString()).commit();
635
            System.gc();
631
            System.gc();
636
        } else {
632
        } else {
637
            Log.e("MainActivity", "Error in creating fragment");
633
            Log.e("MainActivity", "Error in creating fragment");
638
        }
634
        }
639
 
635
 
640
    }
636
    }*/
-
 
637
 
-
 
638
    @TargetApi(Build.VERSION_CODES.M)
-
 
639
    private void checkPermission() {
-
 
640
        if (ContextCompat.checkSelfPermission(MainActivity.this,
-
 
641
                Manifest.permission.READ_EXTERNAL_STORAGE) + ContextCompat
-
 
642
                .checkSelfPermission(MainActivity.this,
-
 
643
                        Manifest.permission.CAMERA) + ContextCompat
-
 
644
                .checkSelfPermission(MainActivity.this,Manifest.permission.RECEIVE_SMS)
-
 
645
                != PackageManager.PERMISSION_GRANTED) {
-
 
646
 
-
 
647
            if (ActivityCompat.shouldShowRequestPermissionRationale
-
 
648
                    (MainActivity.this, Manifest.permission.READ_EXTERNAL_STORAGE) ||
-
 
649
                    ActivityCompat.shouldShowRequestPermissionRationale
-
 
650
                            (MainActivity.this, Manifest.permission.CAMERA)|| ActivityCompat.shouldShowRequestPermissionRationale
-
 
651
                    (MainActivity.this, Manifest.permission.RECEIVE_SMS)) {
-
 
652
 
-
 
653
                requestPermissions(
-
 
654
                        new String[]{Manifest.permission
-
 
655
                                .READ_EXTERNAL_STORAGE, Manifest.permission.CAMERA,Manifest.permission
-
 
656
                                .RECEIVE_SMS},
-
 
657
                        123);
641
 
658
 
-
 
659
            } else {
-
 
660
                requestPermissions(
-
 
661
                        new String[]{Manifest.permission
-
 
662
                                .READ_EXTERNAL_STORAGE, Manifest.permission.CAMERA,Manifest.permission.RECEIVE_SMS},
-
 
663
                        123);
-
 
664
            }
-
 
665
        } else {
-
 
666
            // write your logic code if permission already granted
-
 
667
        }
-
 
668
    }
642
    @Override
669
    @Override
643
    public boolean onCreateOptionsMenu(Menu menu) {
670
    public boolean onCreateOptionsMenu(Menu menu) {
644
        mainMenu=menu;
671
        mainMenu=menu;
645
        super.onCreateOptionsMenu(menu);
672
        super.onCreateOptionsMenu(menu);
646
        getMenuInflater().inflate(R.menu.menu_main, menu);
673
        getMenuInflater().inflate(R.menu.menu_main, menu);
647
        RelativeLayout badgeLayout = (RelativeLayout) mainMenu.findItem(R.id.action_notifications).getActionView();
674
       /* RelativeLayout badgeLayout = (RelativeLayout) mainMenu.findItem(R.id.action_notifications).getActionView();
648
        ImageView k = (ImageView) badgeLayout.findViewById(R.id.inAppNotificationImage);
675
        ImageView k = (ImageView) badgeLayout.findViewById(R.id.inAppNotificationImage);
649
        TextView notifciationCount = (TextView) badgeLayout.findViewById(R.id.inAppNotificationText);
676
        TextView notifciationCount = (TextView) badgeLayout.findViewById(R.id.inAppNotificationText);
650
        k.setOnClickListener(new View.OnClickListener() {
677
        k.setOnClickListener(new View.OnClickListener() {
651
            @Override
678
            @Override
652
            public void onClick(View v) {
679
            public void onClick(View v) {
653
                Bundle args = new Bundle();
680
                Bundle args = new Bundle();
654
                args.putString("key", apiData.getString("notification.page.url", "http://api.profittill.com/users/usernotification") + "?user_id=" + userData.getString("id", "") + "&android_id=" + UtilityFunctions.androidId(MainActivity.this));
681
                args.putString("key", apiData.getString("notification.page.url", "http://staging.profittill.com/users/usernotification") + "?user_id=" + userData.getString("id", "") + "&android_id=" + UtilityFunctions.androidId(MainActivity.this));
655
                new Analytics(ProfitTillConstants.ANALYTICS_URL,
682
                new Analytics(ProfitTillConstants.ANALYTICS_URL,
656
                        AnalyticsUtility.getAnalyticsRequest(MainActivity.this,userData.getString("id",""),"Notification","Notification Icon","Notification Icon Clicked"),
683
                        AnalyticsUtility.getAnalyticsRequest(MainActivity.this,userData.getString("id",""),"Notification","Notification Icon","Notification Icon Clicked"),
657
                        AnalyticsJsonResponse.getAnalyticsRequestInstance(),
684
                        AnalyticsJsonResponse.getAnalyticsRequestInstance(),
658
                        AnalyticsErrorResponse.getAnalyitcsResponseInstance()).anlyticsRequest(MainActivity.this);
685
                        AnalyticsErrorResponse.getAnalyitcsResponseInstance()).anlyticsRequest(MainActivity.this);
659
 
686
 
Line 676... Line 703...
676
        if(userData.getInt("notification_count",0)!=0) {
703
        if(userData.getInt("notification_count",0)!=0) {
677
            notifciationCount.setVisibility(View.VISIBLE);
704
            notifciationCount.setVisibility(View.VISIBLE);
678
            notifciationCount.setText(userData.getInt("notification_count",0)+"");
705
            notifciationCount.setText(userData.getInt("notification_count",0)+"");
679
        }else{
706
        }else{
680
            notifciationCount.setVisibility(View.GONE);
707
            notifciationCount.setVisibility(View.GONE);
681
        }
708
        }*/
682
        return true;
709
        return true;
683
    }
710
    }
684
 
711
 
685
    @Override
712
    @Override
686
    public boolean onOptionsItemSelected(MenuItem item) {
713
    public boolean onOptionsItemSelected(MenuItem item) {
687
        Fragment menuFragment= null;
714
        Fragment menuFragment= null;
688
        JSONObject props = new JSONObject();
715
        JSONObject props = new JSONObject();
689
        Bundle args = new Bundle();
716
        Bundle args = new Bundle();
690
        String id = userData.getString("id",null);
717
        String id = userData.getString("id",null);
691
        if (mDrawerToggle.onOptionsItemSelected(item)) {
718
        /*if (mDrawerToggle.onOptionsItemSelected(item)) {
692
            return true;
719
            return true;
693
        }
720
        }
694
        getSupportActionBar().setDisplayShowCustomEnabled(true);
-
 
-
 
721
*/
695
        switch (item.getItemId()) {
722
        switch (item.getItemId()) {
-
 
723
            // Respond to the action bar's Up/Home button
-
 
724
            case android.R.id.home:
-
 
725
                new AlertDialog.Builder(this)
-
 
726
                        .setIcon(android.R.drawable.ic_dialog_alert)
-
 
727
                        .setTitle("Exit!")
-
 
728
                        .setMessage("Are you sure you want to close?")
-
 
729
                        .setPositiveButton("Yes", new DialogInterface.OnClickListener()
-
 
730
                        {
-
 
731
                            @Override
-
 
732
                            public void onClick(DialogInterface dialog, int which) {
-
 
733
                                Intent startMain = new Intent(Intent.ACTION_MAIN);
-
 
734
                                startMain.addCategory(Intent.CATEGORY_HOME);
-
 
735
                                startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-
 
736
                                startActivity(startMain);
-
 
737
                            }
-
 
738
                        })
-
 
739
                        .setNegativeButton("No", null)
-
 
740
                        .show();
-
 
741
        }
-
 
742
        return super.onOptionsItemSelected(item);
-
 
743
 
696
            case R.id.action_settings:
744
           /* case R.id.action_settings:
697
                AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
745
                AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
698
                Intent i = new Intent(this, PollingService.class);
746
                Intent i = new Intent(this, PollingService.class);
699
                PendingIntent pi = PendingIntent.getService(this, 0, i, 0);
747
                PendingIntent pi = PendingIntent.getService(this, 0, i, 0);
700
                am.cancel(pi);
748
                am.cancel(pi);
701
                userDataEditor.putString("alarm_set","false").commit();
749
                userDataEditor.putString("alarm_set","false").commit();
Line 725... Line 773...
725
                    else{
773
                    else{
726
                        if(!mGoogleApiClient.isConnected()){
774
                        if(!mGoogleApiClient.isConnected()){
727
                            userDataEditor.clear().commit();
775
                            userDataEditor.clear().commit();
728
                            inviteDataEditor.clear().commit();
776
                            inviteDataEditor.clear().commit();
729
                            startActivity(new Intent(MainActivity.this, LoginActivity.class));
777
                            startActivity(new Intent(MainActivity.this, LoginActivity.class));
730
                        }
778
                        }}
731
 
-
 
732
 
-
 
733
                    }
779
                }
734
                }catch (Exception e){
780
                catch (Exception e){
735
                    userDataEditor.clear().commit();
781
                    userDataEditor.clear().commit();
736
                    startActivity(new Intent(MainActivity.this, LoginActivity.class));
782
                    startActivity(new Intent(MainActivity.this, LoginActivity.class));
737
                }
783
                }
738
                return true;
784
                return true;*/
739
 
785
 
740
            case R.id.my_wallet:
786
          /*  case R.id.my_wallet:
741
                titleVisible=3;
787
                titleVisible=3;
742
                getSupportActionBar().setCustomView(R.layout.actionbarmywallet);
788
                getSupportActionBar().setCustomView(R.layout.actionbarmywallet);
743
                try {
789
                try {
744
                    mixpanel.identify(userData.getString("id",null));
790
                    mixpanel.identify(userData.getString("id",null));
745
                    props.put("Screen", "My Wallet");
791
                    props.put("Screen", "My Wallet");
Line 864... Line 910...
864
                this.getFragmentManager().beginTransaction()
910
                this.getFragmentManager().beginTransaction()
865
                        .replace(R.id.frame_container, my_preferences,"Mike")
911
                        .replace(R.id.frame_container, my_preferences,"Mike")
866
                        .addToBackStack(null)
912
                        .addToBackStack(null)
867
                        .commit();
913
                        .commit();
868
 
914
 
869
                return true;
915
                return true;*/
870
           default:
916
          /* default:*/
871
                return super.onOptionsItemSelected(item);
917
        // return super.onOptionsItemSelected(item);
872
        }
918
    }
-
 
919
 
873
 
920
 
874
 
921
 
875
    }
-
 
876
 
922
 
877
    @Override
923
    @Override
878
    public void onConnected(Bundle bundle) {
924
    public void onConnected(Bundle bundle) {
879
 
925
 
880
    }
926
    }
Line 948... Line 994...
948
                        .build());
994
                        .build());
949
                new Analytics(ProfitTillConstants.ANALYTICS_URL,
995
                new Analytics(ProfitTillConstants.ANALYTICS_URL,
950
                        AnalyticsUtility.getAnalyticsRequest(MainActivity.this,userData.getString("id",""),"Menu","Deals","Deals Clicked"),
996
                        AnalyticsUtility.getAnalyticsRequest(MainActivity.this,userData.getString("id",""),"Menu","Deals","Deals Clicked"),
951
                        AnalyticsJsonResponse.getAnalyticsRequestInstance(),
997
                        AnalyticsJsonResponse.getAnalyticsRequestInstance(),
952
                        AnalyticsErrorResponse.getAnalyitcsResponseInstance()).anlyticsRequest(MainActivity.this);
998
                        AnalyticsErrorResponse.getAnalyitcsResponseInstance()).anlyticsRequest(MainActivity.this);
953
                //String dealsUrl= "http://api.profittill.com/deals"+"?user_id=30916"+"&email="+userData.getString("email","")+"&registered="+userData.getString("registered","");
999
                String dealsUrl=apiData.getString("Web_Uri","http://pm.shop2020.in/entry-point");
-
 
1000
                //String dealsUrl="http://192.168.120.96:4200/entry-point";
954
                String dealsUrl= ProfitTillConstants.Web_Uri+"entry-point";
1001
                //String dealsUrl=ProfitTillConstants.Web_Uri;
955
                args.putString("key",dealsUrl);
1002
                args.putString("key",dealsUrl);
956
                fragment = new DealsHomeFragment();
1003
                fragment = new DealsHomeFragment();
957
                fragment.setArguments(args);
1004
                fragment.setArguments(args);
958
                break;
1005
                break;
959
            case 1:
1006
            case 1:
Line 1177... Line 1224...
1177
            Log.e("MainActivity", "Error in creating fragment");
1224
            Log.e("MainActivity", "Error in creating fragment");
1178
        }
1225
        }
1179
    }
1226
    }
1180
 
1227
 
1181
 
1228
 
1182
    public void setActionBarTitlte(String parentTitle){
1229
   /* public void setActionBarTitlte(String parentTitle){
1183
        if (parentTitle.equals("Deals")) {
1230
        if (parentTitle.equals("Deals")) {
1184
            getSupportActionBar().setCustomView(R.layout.actionbardeals);
1231
            getSupportActionBar().setCustomView(R.layout.actionbardeals);
1185
        }
1232
        }
1186
        if (parentTitle.equalsIgnoreCase("Visit Other Stores")) {
1233
        if (parentTitle.equalsIgnoreCase("Visit Other Stores")) {
1187
            getSupportActionBar().setCustomView(R.layout.actionbarprofittill);
1234
            getSupportActionBar().setCustomView(R.layout.actionbarprofittill);
Line 1196... Line 1243...
1196
            getSupportActionBar().setCustomView(R.layout.actionbarsearch);
1243
            getSupportActionBar().setCustomView(R.layout.actionbarsearch);
1197
        }
1244
        }
1198
        if (parentTitle.equals("How it Works")) {
1245
        if (parentTitle.equals("How it Works")) {
1199
            getSupportActionBar().setCustomView(R.layout.actionbarhowitworks);
1246
            getSupportActionBar().setCustomView(R.layout.actionbarhowitworks);
1200
        }
1247
        }
1201
    }
1248
    }*/
1202
 
1249
 
1203
    @Override
1250
    @Override
1204
    protected void onPostCreate(Bundle savedInstanceState) {
1251
    protected void onPostCreate(Bundle savedInstanceState) {
1205
        super.onPostCreate(savedInstanceState);
1252
        super.onPostCreate(savedInstanceState);
1206
        mDrawerToggle.syncState();
1253
        // mDrawerToggle.syncState();
1207
    }
1254
    }
1208
 
1255
 
1209
    @Override
1256
    @Override
1210
    public boolean onPrepareOptionsMenu(Menu menu) {
1257
    public boolean onPrepareOptionsMenu(Menu menu) {
1211
        boolean drawerOpen = shouldGoInvisible;
1258
        boolean drawerOpen = shouldGoInvisible;
1212
        hideMenuItems(menu, !drawerOpen);
1259
        hideMenuItems(menu, !drawerOpen);
1213
        return super.onPrepareOptionsMenu(menu);
1260
        return super.onPrepareOptionsMenu(menu);
1214
    }
1261
    }
1215
    private void hideMenuItems(Menu menu, boolean visible)
1262
    private void hideMenuItems(Menu menu, boolean visible)
1216
    {
1263
    {
1217
       for(int i = 0; i < menu.size(); i++){
1264
        for(int i = 0; i < menu.size(); i++){
1218
        menu.getItem(i).setVisible(visible);
1265
            menu.getItem(i).setVisible(visible);
1219
       }
1266
        }
1220
    }
1267
    }
1221
    @Override
1268
    @Override
1222
    public void onConfigurationChanged(Configuration newConfig) {
1269
    public void onConfigurationChanged(Configuration newConfig) {
1223
        super.onConfigurationChanged(newConfig);
1270
        super.onConfigurationChanged(newConfig);
1224
        mDrawerToggle.onConfigurationChanged(newConfig);
1271
        mDrawerToggle.onConfigurationChanged(newConfig);
Line 1226... Line 1273...
1226
    @Override
1273
    @Override
1227
    public boolean onKeyUp(int keycode, KeyEvent e) {
1274
    public boolean onKeyUp(int keycode, KeyEvent e) {
1228
        switch(keycode) {
1275
        switch(keycode) {
1229
            case KeyEvent.KEYCODE_MENU:
1276
            case KeyEvent.KEYCODE_MENU:
1230
 
1277
 
1231
                if (mainMenu !=null) {
1278
            /*   if (mainMenu !=null) {
1232
                    mainMenu.performIdentifierAction(R.id.overflowMenu,0);
1279
                    mainMenu.performIdentifierAction(R.id.overflowMenu,0);
1233
                }
1280
                }*/
1234
        }
1281
        }
1235
 
1282
 
1236
        return super.onKeyUp(keycode, e);
1283
        return super.onKeyUp(keycode, e);
1237
    }
1284
    }
1238
    @Override
1285
    @Override
1239
    public boolean onKeyDown(int keyCode, KeyEvent event) {
1286
    public boolean onKeyDown(int keyCode, KeyEvent event) {
1240
 
1287
 
1241
        switch(keyCode) {
1288
        switch(keyCode) {
1242
            case KeyEvent.KEYCODE_MENU:
1289
            case KeyEvent.KEYCODE_MENU:
1243
                  if (mainMenu !=null) {
1290
               /*  if (mainMenu !=null) {
1244
                  mainMenu.performIdentifierAction(R.id.overflowMenu,0);
1291
                  mainMenu.performIdentifierAction(R.id.overflowMenu,0);
1245
                  }
1292
                  }*/
1246
        }
1293
        }
1247
        return super.onKeyUp(keyCode, event);
1294
        return super.onKeyUp(keyCode, event);
1248
    }
1295
    }
1249
    private Menu mainMenu;
1296
    private Menu mainMenu;
1250
    public final boolean isInternetOn() {
1297
    public final boolean isInternetOn() {
Line 1291... Line 1338...
1291
            return "success";
1338
            return "success";
1292
        }
1339
        }
1293
 
1340
 
1294
        @Override
1341
        @Override
1295
        protected void onPostExecute(String result) {
1342
        protected void onPostExecute(String result) {
-
 
1343
 
1296
            super.onPostExecute(result);
1344
            super.onPostExecute(result);
1297
        }
1345
        }
1298
    }
1346
    }
1299
    @Override
1347
    @Override
1300
    protected void onResume() {
1348
    protected void onResume() {