Subversion Repositories SmartDukaan

Rev

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

Rev 19653 Rev 21170
Line 1... Line 1...
1
package com.saholic.profittill.main;
1
package com.saholic.profittill.main;
2
 
2
 
-
 
3
import android.Manifest;
-
 
4
import android.annotation.TargetApi;
-
 
5
import android.app.Activity;
3
import android.app.AlertDialog;
6
import android.app.AlertDialog;
4
import android.app.ProgressDialog;
7
import android.app.ProgressDialog;
5
import android.content.Context;
8
import android.content.Context;
6
import android.content.DialogInterface;
9
import android.content.DialogInterface;
7
import android.content.Intent;
10
import android.content.Intent;
Line 11... Line 14...
11
import android.content.pm.PackageManager;
14
import android.content.pm.PackageManager;
12
import android.content.res.Configuration;
15
import android.content.res.Configuration;
13
import android.net.ConnectivityManager;
16
import android.net.ConnectivityManager;
14
import android.net.Uri;
17
import android.net.Uri;
15
import android.os.AsyncTask;
18
import android.os.AsyncTask;
-
 
19
import android.os.Build;
16
import android.os.Bundle;
20
import android.os.Bundle;
-
 
21
import android.support.annotation.NonNull;
-
 
22
import android.support.v4.app.ActivityCompat;
-
 
23
import android.support.v4.content.ContextCompat;
17
import android.support.v7.app.ActionBarActivity;
24
import android.support.v7.app.ActionBarActivity;
-
 
25
import android.support.v7.app.AppCompatActivity;
18
import android.telephony.TelephonyManager;
26
import android.telephony.TelephonyManager;
19
import android.text.TextUtils;
27
import android.text.TextUtils;
20
import android.util.Log;
28
import android.util.Log;
21
import android.view.Menu;
29
import android.view.Menu;
22
import android.view.MenuItem;
30
import android.view.MenuItem;
Line 28... Line 36...
28
import com.facebook.Request;
36
import com.facebook.Request;
29
import com.facebook.RequestAsyncTask;
37
import com.facebook.RequestAsyncTask;
30
import com.facebook.Response;
38
import com.facebook.Response;
31
import com.facebook.Session;
39
import com.facebook.Session;
32
import com.facebook.SessionState;
40
import com.facebook.SessionState;
-
 
41
import com.facebook.Settings;
33
import com.facebook.UiLifecycleHelper;
42
import com.facebook.UiLifecycleHelper;
34
import com.facebook.model.GraphUser;
43
import com.facebook.model.GraphUser;
35
import com.facebook.widget.LoginButton;
44
import com.facebook.widget.LoginButton;
36
import com.google.android.gms.analytics.HitBuilders;
45
import com.google.android.gms.analytics.HitBuilders;
37
import com.google.android.gms.analytics.Tracker;
46
import com.google.android.gms.analytics.Tracker;
Line 42... Line 51...
42
import com.google.android.gms.common.GooglePlayServicesUtil;
51
import com.google.android.gms.common.GooglePlayServicesUtil;
43
import com.google.android.gms.common.Scopes;
52
import com.google.android.gms.common.Scopes;
44
import com.google.android.gms.common.api.GoogleApiClient;
53
import com.google.android.gms.common.api.GoogleApiClient;
45
import com.google.android.gms.common.api.ResultCallback;
54
import com.google.android.gms.common.api.ResultCallback;
46
import com.google.android.gms.common.api.Status;
55
import com.google.android.gms.common.api.Status;
47
import com.google.android.gms.gcm.GoogleCloudMessaging;
-
 
48
import com.google.android.gms.plus.Plus;
56
import com.google.android.gms.plus.Plus;
49
import com.google.android.gms.plus.model.people.Person;
57
import com.google.android.gms.plus.model.people.Person;
-
 
58
import com.google.firebase.iid.FirebaseInstanceId;
50
import com.mixpanel.android.mpmetrics.MixpanelAPI;
59
import com.mixpanel.android.mpmetrics.MixpanelAPI;
51
import com.saholic.profittill.Constants.ProfitTillConstants;
60
import com.saholic.profittill.Constants.ProfitTillConstants;
52
import com.saholic.profittill.R;
61
import com.saholic.profittill.R;
53
import com.saholic.profittill.Utils.UtilityFunctions;
62
import com.saholic.profittill.Utils.UtilityFunctions;
54
import com.testin.agent.TestinAgent;
63
import com.testin.agent.TestinAgent;
Line 94... Line 103...
94
    SharedPreferences.Editor inviteDEditor;
103
    SharedPreferences.Editor inviteDEditor;
95
    LoginButton fb_button;
104
    LoginButton fb_button;
96
    ImageButton facebookLogin,googlelogin;
105
    ImageButton facebookLogin,googlelogin;
97
    String mobile;
106
    String mobile;
98
    MixpanelAPI mixpanel;
107
    MixpanelAPI mixpanel;
99
    GoogleCloudMessaging gcm;
108
    FirebaseInstanceId fcm;
100
    Context context;
109
    Context context;
101
    String regId;
110
    String regId;
102
    String msg = "";
111
    String msg = "";
-
 
112
    public static final int   READ_Token_PERMISSION=101;
103
    public static final String REG_ID = "regId";
113
    public static final String REG_ID = "regId";
104
    private static final String APP_VERSION = "appVersion";
114
    private static final String APP_VERSION = "appVersion";
105
    static final String TAG = "Register Activity";
115
    static final String TAG = "Register Activity";
-
 
116
    private boolean PermissionIngranted=false;
106
    @Override
117
    @Override
107
 
118
 
108
    protected void onCreate(Bundle savedInstanceState) {
119
    protected void onCreate(Bundle savedInstanceState) {
109
 
120
 
110
        context = getApplicationContext();
121
        context = getApplicationContext();
Line 113... Line 124...
113
        uiHelper = new UiLifecycleHelper(this, statusCallback);
124
        uiHelper = new UiLifecycleHelper(this, statusCallback);
114
        uiHelper.onCreate(savedInstanceState);
125
        uiHelper.onCreate(savedInstanceState);
115
        setContentView(R.layout.activity_login);
126
        setContentView(R.layout.activity_login);
116
        TestinAgent.init(this);
127
        TestinAgent.init(this);
117
        getSupportActionBar().hide();
128
        getSupportActionBar().hide();
-
 
129
        Settings.sdkInitialize(getApplicationContext());
-
 
130
        requestToken();
118
        userData = getApplicationContext().getSharedPreferences("User_Data", MODE_PRIVATE);
131
        userData = getApplicationContext().getSharedPreferences("User_Data", MODE_PRIVATE);
119
        apiData = getApplicationContext().getSharedPreferences("API_Data", MODE_PRIVATE);
132
        apiData = getApplicationContext().getSharedPreferences("API_Data", MODE_PRIVATE);
120
        userDataEditor = userData.edit();
133
        userDataEditor = userData.edit();
121
        apiSettingsEditor = apiData.edit();
134
        apiSettingsEditor = apiData.edit();
122
        inviteData = context.getSharedPreferences("Invite_Data", Context.MODE_PRIVATE);
135
        inviteData = context.getSharedPreferences("Invite_Data", Context.MODE_PRIVATE);
123
        inviteDataEditor = inviteData.edit();
136
        inviteDataEditor = inviteData.edit();
124
        inviteD = getApplicationContext().getSharedPreferences("Invite", MODE_PRIVATE);
137
        inviteD = getApplicationContext().getSharedPreferences("Invite", MODE_PRIVATE);
125
        inviteDEditor = inviteD.edit();
138
        inviteDEditor = inviteD.edit();
126
        facebookLogin =(ImageButton)findViewById(R.id.facebook_login_button);
139
        facebookLogin =(ImageButton)findViewById(R.id.facebook_login_button);
127
        googlelogin =(ImageButton)findViewById(R.id.google_login_button);
140
        googlelogin =(ImageButton)findViewById(R.id.google_login_button);
128
 
-
 
129
        if(getIntent().getAction()=="Login"){
141
        if(getIntent().getAction()=="Login"){
130
            nameValuePairsGcm = new ArrayList<>();
142
            nameValuePairsGcm = new ArrayList<>();
131
            nameValuePairsGcm.add(new BasicNameValuePair("cid",getIntent().getExtras().getString("cid")));
143
            nameValuePairsGcm.add(new BasicNameValuePair("cid",getIntent().getExtras().getString("cid")));
132
            nameValuePairsGcm.add(new BasicNameValuePair("result","login"));
144
            nameValuePairsGcm.add(new BasicNameValuePair("result","login"));
133
            nameValuePairsGcm.add(new BasicNameValuePair("timestamp",UtilityFunctions.notificationDate()));
145
            nameValuePairsGcm.add(new BasicNameValuePair("timestamp",UtilityFunctions.notificationDate()));
Line 192... Line 204...
192
                        regId = registerGCM();
204
                        regId = registerGCM();
193
                    } else {
205
                    } else {
194
 
206
 
195
                    }
207
                    }
196
                    fb_button.performClick();
208
                    fb_button.performClick();
-
 
209
 
-
 
210
 
197
                    /*if(!(inviteData.getBoolean("inviteCodeRequired",true))) {
211
                    /*if(!(inviteData.getBoolean("inviteCodeRequired",true))) {
198
                        fb_button.performClick();
212
                        fb_button.performClick();
199
                    }else {
213
                    }else {
200
                        if (apiData.getString("profitmandi.invitation", "false").equalsIgnoreCase("true")) {
214
                        if (apiData.getString("profitmandi.invitation", "false").equalsIgnoreCase("true")) {
201
                            if (inviteD.getString("invite_added", "").equalsIgnoreCase("added")) {
215
                            if (inviteD.getString("invite_added", "").equalsIgnoreCase("added")) {
Line 296... Line 310...
296
 
310
 
297
        mGoogleApiClient = new GoogleApiClient.Builder(this)
311
        mGoogleApiClient = new GoogleApiClient.Builder(this)
298
                .addConnectionCallbacks(this)
312
                .addConnectionCallbacks(this)
299
                .addOnConnectionFailedListener(this).addApi(Plus.API)
313
                .addOnConnectionFailedListener(this).addApi(Plus.API)
300
                .addScope(Plus.SCOPE_PLUS_LOGIN).build();
314
                .addScope(Plus.SCOPE_PLUS_LOGIN).build();
-
 
315
 
301
    }
316
    }
-
 
317
 
-
 
318
 
-
 
319
    public void requestToken(){
302
    //
320
        try{
-
 
321
            if (Build.VERSION.SDK_INT > Build.VERSION_CODES.LOLLIPOP_MR1) {
-
 
322
                if (ContextCompat.checkSelfPermission(this,
-
 
323
                        Manifest.permission.GET_ACCOUNTS)
-
 
324
                        != PackageManager.PERMISSION_GRANTED) {
-
 
325
                    ActivityCompat.requestPermissions(LoginActivity.this,
-
 
326
                            new String[]{Manifest.permission.GET_ACCOUNTS},
-
 
327
                           READ_Token_PERMISSION);
-
 
328
                } else {
-
 
329
                  PermissionIngranted = true;
-
 
330
                }
-
 
331
            } else {
-
 
332
            PermissionIngranted = true;
303
    /**
333
            }
-
 
334
 
-
 
335
    }catch (Exception e){
304
     * Sign-in into google
336
            e.printStackTrace();
305
     * */
337
        }
-
 
338
    }
-
 
339
 
306
    private void signInWithGplus() {
340
    private void signInWithGplus() {
307
        if (!mGoogleApiClient.isConnecting()) {
341
        if (!mGoogleApiClient.isConnecting()) {
308
            mSignInClicked = true;
342
            mSignInClicked = true;
309
            resolveSignInError();
343
            resolveSignInError();
310
        }
344
        }
Line 483... Line 517...
483
 
517
 
484
    protected void onStop() {
518
    protected void onStop() {
485
        super.onStop();
519
        super.onStop();
486
        if (mGoogleApiClient.isConnected()) {
520
        if (mGoogleApiClient.isConnected()) {
487
            mGoogleApiClient.disconnect();
521
            mGoogleApiClient.disconnect();
-
 
522
 
488
        }
523
        }
489
    }
524
    }
490
 
525
 
491
    @Override
526
    @Override
492
    public void onConnectionFailed(ConnectionResult result) {
527
    public void onConnectionFailed(ConnectionResult result) {
Line 522... Line 557...
522
        }
557
        }
523
        uiHelper.onActivityResult(requestCode, responseCode, intent);
558
        uiHelper.onActivityResult(requestCode, responseCode, intent);
524
    }
559
    }
525
 
560
 
526
    private void getAccessToken() {
561
    private void getAccessToken() {
527
        new getToken().execute();
562
   new getToken().execute();
528
 
563
 
529
    }
564
    }
530
 
565
 
531
    @Override
566
    @Override
532
    public void onConnectionSuspended(int arg0) {
567
    public void onConnectionSuspended(int arg0) {
533
        mGoogleApiClient.connect();
568
        mGoogleApiClient.connect();
534
    }
569
    }
535
    @Override
570
    @Override
536
    public void onConnected(Bundle arg0) {
571
    public void onConnected(Bundle arg0) {
537
        mSignInClicked = false;
572
     mSignInClicked=false;
538
        getAccessToken();
573
        getAccessToken();
539
 
-
 
540
    }
574
    }
541
    private void showProgressDialog()
575
    private void showProgressDialog()
542
    {
576
    {
543
        pDlg = new ProgressDialog(LoginActivity.this);
577
        pDlg = new ProgressDialog(LoginActivity.this);
544
        pDlg.setMessage("Logging In");
578
        pDlg.setMessage("Logging In");
Line 552... Line 586...
552
 
586
 
553
        @Override
587
        @Override
554
        protected void onPreExecute() {
588
        protected void onPreExecute() {
555
            showProgressDialog();
589
            showProgressDialog();
556
        }
590
        }
557
        @   Override
591
        @Override
558
        protected String doInBackground(String... params) {
592
        protected String doInBackground(String... params) {
559
            String id=null;
593
            String id=null;
560
 
-
 
561
 
-
 
562
            String token = null;
594
            String token = null;
563
            Bundle appActivities = new Bundle();
595
            Bundle appActivities = new Bundle();
564
            appActivities.putString(GoogleAuthUtil.KEY_REQUEST_VISIBLE_ACTIVITIES,"MainActivity");
596
            appActivities.putString(GoogleAuthUtil.KEY_REQUEST_VISIBLE_ACTIVITIES,"MainActivity");
565
            try {
597
            try {
566
                token = GoogleAuthUtil.getToken(
598
                token = GoogleAuthUtil.getToken(
Line 614... Line 646...
614
                    System.out.println("JSON object in Login " + jObjGmail.toString());
646
                    System.out.println("JSON object in Login " + jObjGmail.toString());
615
                    String success = jObjGmail.getString("success");
647
                    String success = jObjGmail.getString("success");
616
                    if(success.equalsIgnoreCase("true")){
648
                    if(success.equalsIgnoreCase("true")){
617
                        userDataEditor.putString("token",token);
649
                        userDataEditor.putString("token",token);
618
                        userDataEditor.putString("referralCodeRequired",jObjGmail.getString("referrerRequired"));
650
                        userDataEditor.putString("referralCodeRequired",jObjGmail.getString("referrerRequired"));
-
 
651
                        userDataEditor.putString("docsSubmitted",jObjGmail.getString("docsSubmitted"));
619
                        userDataEditor.putString("message",jObjGmail.getString("mobileRequired"));
652
                        userDataEditor.putString("message",jObjGmail.getString("mobileRequired"));
620
                        userDataEditor.putString("type","google");
653
                        userDataEditor.putString("type","google");
621
                        id= jObjGmail.getString("id");
654
                        id= jObjGmail.getString("id");
622
                        userDataEditor.putString("id",id);
655
                        userDataEditor.putString("id",id);
623
                    }
656
                    }
Line 724... Line 757...
724
                if(success.equalsIgnoreCase("true")){
757
                if(success.equalsIgnoreCase("true")){
725
                    id  = jObjGmail.getString("id");
758
                    id  = jObjGmail.getString("id");
726
                    userDataEditor.putString("type","facebook");
759
                    userDataEditor.putString("type","facebook");
727
                    userDataEditor.putString("id",id);
760
                    userDataEditor.putString("id",id);
728
                    userDataEditor.putString("token",Session.getActiveSession().getAccessToken());
761
                    userDataEditor.putString("token",Session.getActiveSession().getAccessToken());
-
 
762
                  userDataEditor.putString("docsSubmitted",jObjGmail.getString("docsSubmitted"));
729
                    userDataEditor.putString("referralCodeRequired",jObjGmail.getString("referrerRequired"));
763
                    userDataEditor.putString("referralCodeRequired",jObjGmail.getString("referrerRequired"));
730
                    userDataEditor.putString("message",jObjGmail.getString("mobileRequired"));
764
                    userDataEditor.putString("message",jObjGmail.getString("mobileRequired"));
731
                }
765
                }
732
                else{
766
                else{
733
                }
767
                }
Line 776... Line 810...
776
                        Intent startMain = new Intent(Intent.ACTION_MAIN);
810
                        Intent startMain = new Intent(Intent.ACTION_MAIN);
777
                        startMain.addCategory(Intent.CATEGORY_HOME);
811
                        startMain.addCategory(Intent.CATEGORY_HOME);
778
                        startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
812
                        startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
779
                        startActivity(startMain);
813
                        startActivity(startMain);
780
                    }
814
                    }
781
 
-
 
782
                })
815
                })
783
                .setNegativeButton("No", null)
816
                .setNegativeButton("No", null)
784
                .show();
817
                .show();
785
    }
818
    }
786
 
819
 
Line 797... Line 830...
797
    private void registerInBackground() {
830
    private void registerInBackground() {
798
        new AsyncTask<Void, Void, String>() {
831
        new AsyncTask<Void, Void, String>() {
799
            @Override
832
            @Override
800
            protected String doInBackground(Void... params) {
833
            protected String doInBackground(Void... params) {
801
 
834
 
802
                try {
-
 
803
                    if (gcm == null) {
835
                if (fcm == null) {
804
                        gcm = GoogleCloudMessaging.getInstance(context);
836
                   regId =FirebaseInstanceId.getInstance().getToken();
805
                    }
-
 
806
                    regId = gcm.register(ProfitTillConstants.GOOGLE_SENDER_ID);
-
 
807
                    Log.d("RegisterActivity", "registerInBackground - regId: "
837
                    Log.d("RegisterActivity", "registerInBackground - regId: "
808
                            + regId);
838
                            + regId);
809
                    msg = "Device registered";
839
                    msg = "Device registered";
810
 
-
 
811
                } catch (IOException ex) {
-
 
812
                    msg = "Error :" + ex.getMessage();
-
 
813
                    Log.d("RegisterActivity", "Error: " + msg);
-
 
814
                }
840
                }
815
                Log.d("RegisterActivity", "AsyncTask completed: " + msg);
841
                Log.d("RegisterActivity", "AsyncTask completed: " + msg);
816
                return msg;
842
                return msg;
817
            }
843
            }
818
 
844
 
Line 836... Line 862...
836
        editor.putInt(APP_VERSION, appVersion);
862
        editor.putInt(APP_VERSION, appVersion);
837
        editor.commit();
863
        editor.commit();
838
    }*/
864
    }*/
839
    public String registerGCM() {
865
    public String registerGCM() {
840
 
866
 
841
        gcm = GoogleCloudMessaging.getInstance(this);
867
       // gcm = GoogleCloudMessaging.getInstance(this);
842
        regId = getRegistrationId(context);
868
        regId = getRegistrationId(context);
843
        registerInBackground();
869
        registerInBackground();
844
        return regId;
870
        return regId;
845
    }
871
    }
846
 
872
 
Line 891... Line 917...
891
                nameValuePairsGcm = new ArrayList<>();
917
                nameValuePairsGcm = new ArrayList<>();
892
                TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
918
                TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
893
                nameValuePairsGcm.add(new BasicNameValuePair("gcm_regid",regId));
919
                nameValuePairsGcm.add(new BasicNameValuePair("gcm_regid",regId));
894
                nameValuePairsGcm.add(new BasicNameValuePair("imeinumber",telephonyManager.getDeviceId()));
920
                nameValuePairsGcm.add(new BasicNameValuePair("imeinumber",telephonyManager.getDeviceId()));
895
                nameValuePairsGcm.add(new BasicNameValuePair("user_id",userData.getString("id", null)));
921
                nameValuePairsGcm.add(new BasicNameValuePair("user_id",userData.getString("id", null)));
-
 
922
                nameValuePairsGcm.add(new BasicNameValuePair("notification_type","fcm"));
896
                nameValuePairsGcm.add(new BasicNameValuePair("device_message",arg0[0]));
923
                nameValuePairsGcm.add(new BasicNameValuePair("device_message",arg0[0]));
897
                nameValuePairsGcm.add(new BasicNameValuePair("androidid",UtilityFunctions.androidId(LoginActivity.this)));
924
                nameValuePairsGcm.add(new BasicNameValuePair("androidid",UtilityFunctions.androidId(LoginActivity.this)));
898
                httppost.setHeader("Authorization", ProfitTillConstants.BASIC_AUTH);
925
                httppost.setHeader("Authorization", ProfitTillConstants.BASIC_AUTH);
899
                httppost.setEntity(new UrlEncodedFormEntity(nameValuePairsGcm));
926
                httppost.setEntity(new UrlEncodedFormEntity(nameValuePairsGcm));
900
                HttpResponse response = httpclient.execute(httppost);
927
                HttpResponse response = httpclient.execute(httppost);
Line 922... Line 949...
922
            if(pDlg!=null){
949
            if(pDlg!=null){
923
                pDlg.dismiss();
950
                pDlg.dismiss();
924
            }
951
            }
925
            userDataEditor.putString("gcm_regid", regId);
952
            userDataEditor.putString("gcm_regid", regId);
926
            userDataEditor.commit();
953
            userDataEditor.commit();
-
 
954
 
927
            String check = userData.getString("message","");
955
            String check = userData.getString("message","");
928
            if(userData.getString("referralCodeRequired","").equalsIgnoreCase("true")){
956
             if(userData.getString("docsSubmitted","").equalsIgnoreCase("true")){
929
                Log.d("In if","in if" +inviteD.getString("referrerCode","").equalsIgnoreCase("") + inviteD  .getString("referrerCode","") );
-
 
930
                Intent i = new Intent(LoginActivity.this, ReferrerActivity.class);
957
                Intent i = new Intent(LoginActivity.this, PendingActivity.class);
931
                startActivity(i);
958
                startActivity(i);
932
            }
959
            }
-
 
960
            else  if(userData.getString("referralCodeRequired","").equalsIgnoreCase("true")){
-
 
961
                Log.d("In if","in if" +inviteD.getString("referrerCode","").equalsIgnoreCase("") + inviteD  .getString("referrerCode","") );
-
 
962
                Intent i = new Intent(LoginActivity.this, BasicInformation.class);
-
 
963
                 startActivity(i);
-
 
964
            }
933
            else if(check.equalsIgnoreCase("true")){
965
            else if(check.equalsIgnoreCase("true")){
934
                    Log.d("In if","in else");
966
                    Log.d("In if","in else");
935
                    Intent i = new Intent(LoginActivity.this, MobileNumber.class);
967
                    Intent i = new Intent(LoginActivity.this, MobileNumber.class);
936
                    i.putExtra("displayView", "7");
968
                    i.putExtra("displayView", "7");
937
                    startActivity(i);
969
                    startActivity(i);
Line 943... Line 975...
943
            }
975
            }
944
        }
976
        }
945
 
977
 
946
 
978
 
947
    }
979
    }
948
 
-
 
949
    public final boolean isInternetOn() {
980
    public final boolean isInternetOn() {
950
 
981
 
951
        ConnectivityManager connection =
982
        ConnectivityManager connection =
952
                (ConnectivityManager)getSystemService(this.getBaseContext().CONNECTIVITY_SERVICE);
983
                (ConnectivityManager)getSystemService(this.getBaseContext().CONNECTIVITY_SERVICE);
953
 
984