Advertisement
Guest User

Untitled

a guest
Jun 30th, 2016
218
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 36.91 KB | None | 0 0
  1. package com.prompt.memberin;
  2.  
  3. import android.app.Activity;
  4. import android.app.AlertDialog;
  5. import android.app.ProgressDialog;
  6. import android.content.Context;
  7. import android.content.DialogInterface;
  8. import android.content.Intent;
  9. import android.content.SharedPreferences;
  10. import android.content.pm.PackageInfo;
  11. import android.content.pm.PackageManager;
  12. import android.content.pm.Signature;
  13. import android.graphics.Typeface;
  14. import android.os.AsyncTask;
  15. import android.os.Bundle;
  16. import android.util.Base64;
  17. import android.util.Log;
  18. import android.view.View;
  19. import android.widget.EditText;
  20. import android.widget.ImageView;
  21. import android.widget.TextView;
  22.  
  23. import com.facebook.AccessToken;
  24. import com.facebook.CallbackManager;
  25. import com.facebook.FacebookCallback;
  26. import com.facebook.FacebookException;
  27. import com.facebook.FacebookSdk;
  28. import com.facebook.GraphRequest;
  29. import com.facebook.GraphResponse;
  30. import com.facebook.HttpMethod;
  31. import com.facebook.appevents.AppEventsLogger;
  32. import com.facebook.login.LoginManager;
  33. import com.facebook.login.LoginResult;
  34. import com.facebook.login.widget.LoginButton;
  35. import com.google.gson.Gson;
  36. import com.prompt.datamodel.FacebookJSONObjectModel;
  37. import com.prompt.datamodel.RegisterModel;
  38. import com.prompt.datamodel.RegisterWithFacebook;
  39. import com.squareup.picasso.Picasso;
  40.  
  41. import org.json.JSONException;
  42. import org.json.JSONObject;
  43.  
  44. import java.io.IOException;
  45. import java.net.MalformedURLException;
  46. import java.net.URL;
  47. import java.security.MessageDigest;
  48. import java.security.NoSuchAlgorithmException;
  49. import java.util.Arrays;
  50. import java.util.List;
  51. import java.util.regex.Matcher;
  52. import java.util.regex.Pattern;
  53.  
  54. import de.hdodenhof.circleimageview.CircleImageView;
  55. import mehdi.sakout.fancybuttons.FancyButton;
  56. import okhttp3.FormBody;
  57. import okhttp3.OkHttpClient;
  58. import okhttp3.Request;
  59. import okhttp3.Response;
  60. import uk.co.chrisjenx.calligraphy.CalligraphyContextWrapper;
  61.  
  62. /**
  63. * Created by SN027 on 16/2/2559.
  64. */
  65. public class Login extends Activity {
  66. private String TAG = "Login";
  67.  
  68. UserData userData;
  69.  
  70. EditText edtEmail;
  71. EditText edtPassword;
  72. FancyButton btnSingin;
  73. FancyButton btnSinginWithFacebook;
  74.  
  75. CallbackManager callbackManager;
  76. LoginButton loginButton;
  77. Bundle bundleFacebookData;
  78. private FacebookJSONObjectModel facebookJSONObjectModel;
  79.  
  80. private CircleImageView imageLogo;
  81. private TextView tvRegisterNewUser;
  82. private TextView tvForgotPassword;
  83. private int imageSize_width;
  84. private int imgSize_height;
  85. private ImageView imgIcon;
  86. private int btnLogin_height;
  87. private int edt_login;
  88. String token_device;
  89. RegisterWithFacebook model;
  90.  
  91. @Override
  92. protected void onCreate(Bundle savedInstanceState) {
  93. super.onCreate(savedInstanceState);
  94. userData = new UserData(getApplicationContext());
  95.  
  96. SharedPreferences prefs = this.getSharedPreferences("mobile_token", Context.MODE_PRIVATE);
  97. token_device = prefs.getString("mobile_token", null);
  98. Log.e(TAG, "onCreateView: TokennnLogin ===> " + token_device);
  99.  
  100. FacebookSdk.sdkInitialize(this.getApplicationContext());
  101. checkLoginStatus();
  102.  
  103. callbackManager = CallbackManager.Factory.create();
  104.  
  105. imageSize_width = (int) (userData.getDpWidth() * 0.45);
  106. imageSize_width = (int) (imageSize_width * userData.getDeviceDensity());
  107.  
  108. imgSize_height = (int) (userData.getDpHeight() * 0.18);
  109. imgSize_height = (int) (imgSize_height * userData.getDeviceDensity());
  110.  
  111. edt_login = (int) (userData.getDpHeight() * 0.04);
  112. edt_login = (int) (edt_login * userData.getDeviceDensity());
  113.  
  114. btnLogin_height = (int) (userData.getDpHeight() * 0.03);
  115. btnLogin_height = (int) (btnLogin_height * userData.getDeviceDensity());
  116.  
  117.  
  118. setContentView(R.layout.activity_login);
  119.  
  120. printKeyHash(Login.this);
  121. bindWidget();
  122. eventWidget();
  123.  
  124. }
  125.  
  126. public static String printKeyHash(Activity context) {
  127. PackageInfo packageInfo;
  128. String key = null;
  129. try {
  130.  
  131. // getting application package name, as defined in manifest
  132. String packageName = context.getApplicationContext()
  133. .getPackageName();
  134.  
  135. // Retriving package info
  136. packageInfo = context.getPackageManager().getPackageInfo(
  137. packageName, PackageManager.GET_SIGNATURES);
  138.  
  139. Log.e("Package Name=", context.getApplicationContext()
  140. .getPackageName());
  141.  
  142. for (Signature signature : packageInfo.signatures) {
  143. MessageDigest md = MessageDigest.getInstance("SHA");
  144. md.update(signature.toByteArray());
  145. key = new String(Base64.encode(md.digest(), 0));
  146.  
  147. // String key = new String(Base64.encodeBytes(md.digest()));
  148. Log.e("Key Hash=", key);
  149.  
  150. }
  151. } catch (PackageManager.NameNotFoundException e1) {
  152. Log.e("Name not found", e1.toString());
  153. } catch (NoSuchAlgorithmException e) {
  154. Log.e("No such an algorithm", e.toString());
  155. } catch (Exception e) {
  156. Log.e("Exception", e.toString());
  157. }
  158.  
  159. return key;
  160. }
  161.  
  162. private void checkLoginStatus() {
  163. if (userData.isLoginEmail() || userData.isLoginFaceBook()) {
  164. Intent intent = new Intent(getApplicationContext(), MainActivity.class);
  165. startActivity(intent);
  166. finish();
  167. }
  168. }
  169.  
  170. @Override
  171. protected void attachBaseContext(Context newBase) {
  172. super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase));
  173. }
  174.  
  175. private void eventWidget() {
  176. btnSingin.setOnClickListener(new View.OnClickListener() {
  177. @Override
  178. public void onClick(View view) {
  179. Log.e(TAG, "btnSingin");
  180. int loginFromStatus = checkLoginForm();
  181. switch (loginFromStatus) {
  182. case 0:
  183. // Send data to server
  184. String mUrl = getResources().getString(R.string.MY_URL) + "login_email.php";
  185. Log.e(TAG, mUrl);
  186. Log.e(TAG, "post_U => " + edtEmail.getText().toString());
  187. Log.e(TAG, "post_P => " + edtPassword.getText().toString());
  188. new SingInAsyncTask(edtEmail.getText().toString(), edtPassword.getText().toString()).execute(mUrl);
  189.  
  190. break;
  191. case 1:
  192. alertMsg(Login.this, "Sign in", "Please enter your e-mail.");
  193. break;
  194. case 2:
  195. alertMsg(Login.this, "Sign in", "E-mail format is not valid");
  196. break;
  197. case 3:
  198. alertMsg(Login.this, "Sign in", "Please enter your password.");
  199. default:
  200. }
  201.  
  202. }
  203. });
  204. btnSinginWithFacebook.setOnClickListener(new View.OnClickListener() {
  205. @Override
  206. public void onClick(View view) {
  207. // Log.e(TAG, "btnRegister");
  208. // Log.e(TAG, "regist_email=> " + edtEmail.getText().toString());
  209. // Log.e(TAG, "regist_pass => " + edtPassword.getText().toString());
  210. // String mUrl = getResources().getString(R.string.MY_URL) + "register_email.php";
  211. // new RegisterNewUserByEmail(edtEmail.getText().toString(), edtPassword.getText().toString()).execute(mUrl);
  212.  
  213. myButtonLoginFacebook();
  214.  
  215. }
  216. });
  217.  
  218. // loginButton
  219. eventLoginButton();
  220.  
  221. tvRegisterNewUser.setOnClickListener(new View.OnClickListener() {
  222. @Override
  223. public void onClick(View view) {
  224. Intent intent = new Intent(getApplicationContext(), RegisterNewUser.class);
  225. startActivity(intent);
  226. }
  227. });
  228.  
  229. tvForgotPassword.setOnClickListener(new View.OnClickListener() {
  230. @Override
  231. public void onClick(View view) {
  232. Intent intent = new Intent(getApplicationContext(), ForgotPassword.class);
  233. startActivity(intent);
  234. }
  235. });
  236. }
  237.  
  238. private void myButtonLoginFacebook() {
  239. loginButton.callOnClick();
  240. }
  241.  
  242. private class RegisterNewUserByEmail extends AsyncTask<String, Void, Integer> {
  243.  
  244. private final String email;
  245. private final String password;
  246.  
  247. public RegisterNewUserByEmail(String email, String password) {
  248. this.email = email;
  249. this.password = password;
  250. }
  251.  
  252. @Override
  253. protected Integer doInBackground(String... strings) {
  254.  
  255. // 1. connect server with okHttp
  256. OkHttpClient okHttpClient = new OkHttpClient();
  257.  
  258. // 2. assign post data
  259. FormBody postData = new FormBody.Builder()
  260. .add("email", email)
  261. .add("password", password)
  262. .add("token_device", token_device)
  263. .build();
  264.  
  265. Request request = new Request.Builder()
  266. .post(postData)
  267. .url(strings[0])
  268. .build();
  269.  
  270. Response response = null;
  271. String jsonString = "";
  272. try {
  273. response = okHttpClient.newCall(request).execute();
  274. jsonString = response.body().string();
  275. } catch (IOException e) {
  276. e.printStackTrace();
  277. Log.e(TAG, "okHttpError => " + e.getMessage());
  278. return 0;
  279. }
  280.  
  281. if (!jsonString.equals("")) {
  282. Log.e(TAG, "jsonString => " + jsonString);
  283.  
  284. // Gson gson = new Gson();
  285. // RegisterModel model = gson.fromJson(jsonString, RegisterModel.class);
  286. // List<RegisterModel.DataRegisterPostEntity> dataRegisterPost = model.getData_register_post();
  287. //
  288. // Log.e(TAG, "gson => " + dataRegisterPost.get(0).getError());
  289. // Log.e(TAG, "gson => " + dataRegisterPost.get(0).getMessage());
  290. // Log.e(TAG, "gson => " + dataRegisterPost.get(0).getMember_id());
  291.  
  292. // if (dataRegisterPost.get(0).getError().equals("0")) {
  293. // UserData userData = new UserData(getApplicationContext());
  294. // userData.setMemberId(dataRegisterPost.get(0).getMember_id());
  295. // Log.e(TAG, "userData.MemberId => " + userData.getMemberId());
  296. // userData.setIsLoginEmail(true);
  297. // return 1;
  298. // }
  299. return 1;
  300. }
  301. return 0;
  302. }
  303.  
  304. @Override
  305. protected void onPreExecute() {
  306. super.onPreExecute();
  307. }
  308.  
  309. @Override
  310. protected void onPostExecute(Integer s) {
  311. super.onPostExecute(s);
  312.  
  313. switch (s) {
  314. case 0:
  315. alertMsg(Login.this, "Sign in", "Please try again.");
  316. break;
  317. case 1:
  318. Log.e(TAG, "Register => success");
  319. // login success
  320. // Intent intent = new Intent(getApplicationContext(), MainActivity.class);
  321. // startActivity(intent);
  322. // finish();
  323. break;
  324. default:
  325.  
  326. }
  327.  
  328. }
  329. }
  330.  
  331. private void bindWidget() {
  332. imgIcon = (ImageView) findViewById(R.id.imgIcon);
  333. //imgIcon.getLayoutParams().height = imgSize_height;
  334.  
  335. edtEmail = (EditText) findViewById(R.id.edt_email);
  336. edtPassword = (EditText) findViewById(R.id.edt_password);
  337.  
  338. //edtEmail.getLayoutParams().height = btnLogin_height;
  339. //edtPassword.getLayoutParams().height = btnLogin_height;
  340.  
  341. loginButton = (LoginButton) findViewById(R.id.login_button);
  342.  
  343. btnSingin = (FancyButton) findViewById(R.id.btn_singin);
  344. btnSinginWithFacebook = (FancyButton) findViewById(R.id.btn_singin_with_facebook);
  345. btnSingin.setCustomTextFont("supermarket.ttf");
  346. btnSinginWithFacebook.setCustomTextFont("supermarket.ttf");
  347.  
  348. // edtEmail.setText("momokosaa@gmail.com");
  349. // edtPassword.setText("password");
  350.  
  351. // imageLogo = (CircleImageView) findViewById(R.id.image_logo);
  352. //
  353. // Picasso.with(Login.this)
  354. // .load(R.drawable.logox350)
  355. // .placeholder(R.drawable.logox350)
  356. // .error(R.drawable.logox350)
  357. // .into(imageLogo);
  358. tvRegisterNewUser = (TextView) findViewById(R.id.tv_register_new_user);
  359. tvForgotPassword = (TextView) findViewById(R.id.tv_forgot);
  360. }
  361.  
  362. private void eventLoginButton() {
  363. // loginButton.setReadPermissions("public_profile", "email",
  364. // "user_birthday");
  365. loginButton.setReadPermissions("public_profile", "email");
  366. // Other app specific specialization
  367.  
  368. // Callback registration
  369. loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
  370. @Override
  371. public void onSuccess(LoginResult loginResult) {
  372. // App code
  373. Log.e(TAG, "facebook => onSuccess");
  374.  
  375. GraphRequest request = GraphRequest.newMeRequest(loginResult.getAccessToken(), new GraphRequest.GraphJSONObjectCallback() {
  376.  
  377. @Override
  378. public void onCompleted(JSONObject object, GraphResponse response) {
  379. Log.e(TAG, "facebook JSONObject => " + object.toString());
  380. Log.e(TAG, "facebook response => " + response.toString());
  381.  
  382. bundleFacebookData = getFacebookData(object);
  383.  
  384. Log.e(TAG, "facebook gender => " + bundleFacebookData.getString("gender"));
  385. Log.e(TAG, "facebook profile_pic => " + bundleFacebookData.getString("profile_pic"));
  386. Log.e(TAG, "facebook first_name => " + bundleFacebookData.getString("first_name"));
  387. Log.e(TAG, "facebook last_name => " + bundleFacebookData.getString("last_name"));
  388. Log.e(TAG, "facebook email => " + bundleFacebookData.getString("email"));
  389. Log.e(TAG, "facebook age_range => " + bundleFacebookData.getString("age_range"));
  390. // Log.e(TAG, "facebook birthday => " + bundleFacebookData.getString("birthday"));
  391.  
  392. // Gson gson = new Gson();
  393. // facebookJSONObjectModel = gson.fromJson(object.toString(), FacebookJSONObjectModel.class);
  394. // if (!facebookJSONObjectModel.getId().isEmpty()) {
  395. // Log.e(TAG, "facebook gender => " + facebookJSONObjectModel.getGender());
  396. // Log.e(TAG, "facebook profile_pic => " + "https://graph.facebook.com/" + facebookJSONObjectModel.getId() + "/picture?width=200&height=150");
  397. // Log.e(TAG, "facebook first_name => " + facebookJSONObjectModel.getFirst_name());
  398. // Log.e(TAG, "facebook last_name => " + facebookJSONObjectModel.getLast_name());
  399. // Log.e(TAG, "facebook last_name => " + facebookJSONObjectModel.getAge_range().getMin());
  400. // }
  401.  
  402. userData.setFacebookId(bundleFacebookData.getString("idFacebook"));
  403. userData.setProfileImageUrl(bundleFacebookData.getString("profile_pic"));
  404. userData.setEmail(bundleFacebookData.getString("email"));
  405. userData.setFirstName(bundleFacebookData.getString("first_name"));
  406. userData.setLastName(bundleFacebookData.getString("last_name"));
  407. userData.setGender(bundleFacebookData.getString("gender"));
  408. userData.setAge_range(bundleFacebookData.getString("age_range"));
  409. //bundleFacebookData.get(mobile_token);
  410.  
  411. // userData.setBirthDay(bundleFacebookData.getString("birthday"));
  412.  
  413. Log.e(TAG, "userData facebookId => " + userData.getFacebookId());
  414. Log.e(TAG, "userData profile_pic => " + userData.getProfileImageUrl());
  415. Log.e(TAG, "userData email => " + userData.getEmail());
  416. Log.e(TAG, "userData first_name => " + userData.getFirstName());
  417. Log.e(TAG, "userData last_name => " + userData.getLastName());
  418. Log.e(TAG, "userData gender => " + userData.getGender());
  419. Log.e(TAG, "userData age_range => " + userData.getAge_range());
  420. // Log.e(TAG, "userData birthday => " + userData.getBirthDay());
  421.  
  422. String mUrl = getResources().getString(R.string.MY_URL) + "login_facebook.php";
  423. new SinginWithFacebookAsyncTask().execute(mUrl);
  424. }
  425. });
  426.  
  427. Bundle parameters = new Bundle();
  428. // parameters.putString("fields", "id, first_name, last_name, email,gender, birthday, location, age_range"); // Parámetros que pedimos a facebook
  429. // parameters.putString("fields", "id, first_name, last_name, email, birthday"); // Parámetros que pedimos a facebook
  430.  
  431. // parameters.putString("fields", "id,first_name, last_name, gender, email, birthday, age_range");
  432. parameters.putString("fields", "id,first_name, last_name, gender, email, age_range");
  433. //parameters.putString("token_device", token_device);
  434. request.setParameters(parameters);
  435. request.executeAsync();
  436. }
  437.  
  438. @Override
  439. public void onCancel() {
  440. // App code
  441. Log.e(TAG, "facebook => onCancel");
  442. }
  443.  
  444. @Override
  445. public void onError(FacebookException exception) {
  446. // App code
  447. Log.e(TAG, "facebook => onError: " + exception.getMessage());
  448. }
  449. });
  450. }
  451.  
  452. public Bundle getFacebookData(JSONObject object) {
  453. Bundle bundle = new Bundle();
  454. try {
  455. String id = object.getString("id");
  456. try {
  457. URL profile_pic = new URL("https://graph.facebook.com/" + id + "/picture?width=200&height=150");
  458. Log.i("profile_pic", profile_pic + "");
  459. bundle.putString("profile_pic", profile_pic.toString());
  460.  
  461. } catch (MalformedURLException e) {
  462. e.printStackTrace();
  463. return null;
  464. }
  465.  
  466. bundle.putString("idFacebook", id);
  467.  
  468.  
  469. if (object.has("first_name")) {
  470. Log.e(TAG, "bundle first_name =>"+ object.getString("first_name"));
  471. bundle.putString("first_name", object.getString("first_name"));
  472. } else {
  473. bundle.putString("first_name", "");
  474. Log.e(TAG, "bundle first_name =>" + "this is NULL");
  475. }
  476. if (object.has("last_name")) {
  477. Log.e(TAG, "bundle last_name =>"+ object.getString("last_name"));
  478. bundle.putString("last_name", object.getString("last_name"));
  479. } else {
  480. bundle.putString("last_name", "");
  481. Log.e(TAG, "bundle last_name =>" + "this is NULL");
  482. }
  483. if (object.has("email")) {
  484. Log.e(TAG, "bundle email =>"+ object.getString("email"));
  485. bundle.putString("email", object.getString("email"));
  486. } else {
  487. bundle.putString("email", "");
  488. Log.e(TAG, "bundle email =>" + "this is NULL");
  489. }
  490. if (object.has("gender")) {
  491. Log.e(TAG, "bundle gender =>"+ object.getString("gender"));
  492. bundle.putString("gender", object.getString("gender"));
  493. } else {
  494. bundle.putString("gender", "");
  495. Log.e(TAG, "bundle gender =>" + "this is NULL");
  496. }
  497. if (object.has("birthday")) {
  498. Log.e(TAG, "bundle birthday =>"+ object.getString("birthday"));
  499. bundle.putString("birthday", object.getString("birthday"));
  500. } else {
  501. bundle.putString("birthday", "");
  502. Log.e(TAG, "bundle birthday =>" + "this is NULL");
  503. }
  504. if (object.has("age_range")) {
  505. Log.e(TAG, "bundle age_range =>"+ object.getString("age_range"));
  506. bundle.putString("age_range", object.getString("age_range"));
  507. }else {
  508. bundle.putString("age_range", "");
  509. Log.e(TAG, "bundle age_range =>" + "this is NULL");
  510. }
  511.  
  512. Log.e("facebook", bundle.getString("email"));
  513. Log.e("facebook", bundle.getString("first_name"));
  514. Log.e("facebook", bundle.getString("last_name"));
  515. Log.e("facebook", bundle.getString("gender"));
  516. Log.e("facebook", bundle.getString("birthday"));
  517. Log.e("facebook", bundle.getString("age_range"));
  518. // Log.e("facebook", bundle.getString("location"));
  519.  
  520. return bundle;
  521. } catch (JSONException e) {
  522. e.printStackTrace();
  523. }
  524.  
  525. return bundle;
  526. }
  527.  
  528.  
  529. /**
  530. * method is used for checking valid email id format.
  531. *
  532. * @param email
  533. * @return boolean true for valid false for invalid
  534. */
  535. public boolean isEmailValid(String email) {
  536. boolean isValid = false;
  537.  
  538. String expression = "^[\\w\\.-]+@([\\w\\-]+\\.)+[A-Z]{2,4}$";
  539. CharSequence inputStr = email;
  540.  
  541. Pattern pattern = Pattern.compile(expression, Pattern.CASE_INSENSITIVE);
  542. Matcher matcher = pattern.matcher(inputStr);
  543. if (matcher.matches()) {
  544. isValid = true;
  545. }
  546. return isValid;
  547. }
  548.  
  549. private void alertMsg(Context context, String title, String msg) {
  550. final AlertDialog.Builder builder = new AlertDialog.Builder(context);
  551.  
  552. disconnectFromFacebook();
  553.  
  554. builder.setTitle(title);
  555. builder.setMessage(msg);
  556. builder.setCancelable(false);
  557. builder.setNegativeButton("Close", new DialogInterface.OnClickListener() {
  558. @Override
  559. public void onClick(DialogInterface dialogInterface, int i) {
  560. Log.e(TAG, "alertMsg Close");
  561. }
  562. });
  563. builder.show();
  564. }
  565.  
  566. private int checkLoginForm() {
  567.  
  568. if (edtEmail.getText().toString().equals("")) {
  569. return 1;
  570. }
  571. if (!isEmailValid(edtEmail.getText().toString())) {
  572. Log.e(TAG, "e-mail format => No");
  573. return 2;
  574. }
  575. if (edtPassword.getText().toString().equals("")) {
  576. return 3;
  577. }
  578. return 0;
  579. }
  580.  
  581. public class SingInAsyncTask extends AsyncTask<String, Void, Integer> {
  582.  
  583. private final String email;
  584. private final String password;
  585. private ProgressDialog progDailog;
  586.  
  587. public SingInAsyncTask(String email, String password) {
  588. this.email = email;
  589. this.password = password;
  590. }
  591. @Override
  592. protected void onPreExecute() {
  593. super.onPreExecute();
  594. progDailog = new ProgressDialog(Login.this);
  595. progDailog.setMessage("Loading...");
  596. progDailog.setIndeterminate(false);
  597. progDailog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
  598. progDailog.setCancelable(true);
  599. progDailog.show();
  600. }
  601. @Override
  602. protected Integer doInBackground(String... strings) {
  603.  
  604. // 1. connect server with okHttp
  605. OkHttpClient okHttpClient = new OkHttpClient();
  606.  
  607. // 2. assign post data
  608. FormBody postData = new FormBody.Builder()
  609. .add("email", email)
  610. .add("password", password)
  611. .add("mobile_token", token_device)
  612. .build();
  613.  
  614. Request request = new Request.Builder()
  615. .post(postData)
  616. .url(strings[0])
  617. .build();
  618.  
  619. Response response = null;
  620. String jsonString = "";
  621. try {
  622. response = okHttpClient.newCall(request).execute();
  623. jsonString = response.body().string();
  624. } catch (IOException e) {
  625. e.printStackTrace();
  626. Log.e(TAG, "okHttpError => " + e.getMessage());
  627. return 0;
  628. }
  629.  
  630. if (!jsonString.equals("")) {
  631. Log.e(TAG, "jsonString => " + jsonString);
  632.  
  633. Gson gson = new Gson();
  634. RegisterModel model = gson.fromJson(jsonString, RegisterModel.class);
  635.  
  636. Log.e(TAG, "gson => " + model.getData_register_post().get(0).getError());
  637. Log.e(TAG, "gson => " + model.getData_register_post().get(0).getMessage());
  638. Log.e(TAG, "gson => " + model.getData_register_post().get(0).getMember_id());
  639.  
  640. if (model.getData_register_post().get(0).getError().equals("0")) {
  641. UserData userData = new UserData(getApplicationContext());
  642.  
  643. userData.setMemberId(model.getData_register_post().get(0).getMember_id());
  644. userData.setFacebookId(model.getData_register_post().get(0).getFacebook_id());
  645. userData.setFacebookName(model.getData_register_post().get(0).getFacebook_name());
  646.  
  647. userData.setFirstName(model.getData_register_post().get(0).getFirstname());
  648. userData.setLastName(model.getData_register_post().get(0).getLastname());
  649.  
  650. userData.setBirthDay(model.getData_register_post().get(0).getBirthday());
  651. if (model.getData_register_post().get(0).getGender().equals("1")){
  652. userData.setGender("male");
  653. }
  654. if (model.getData_register_post().get(0).getGender().equals("2")){
  655. userData.setGender("female");
  656. }
  657. userData.setEmail(model.getData_register_post().get(0).getEmail());
  658.  
  659. userData.setMobile(model.getData_register_post().get(0).getMobile());
  660.  
  661. if (model.getData_register_post().get(0).getStatus_update().equals("1")){
  662. userData.setIsRequestProfileAlready(true);
  663. }
  664.  
  665. // userData.setFirstName();
  666.  
  667. // userData.setFirstName(model.getData_register_post().get(0).getFirstname());
  668. // userData.setLastName(model.getData_register_post().get(0).getLastname());
  669. // userData.setBirthDay(model.getData_register_post().get(0).getBirthday());
  670.  
  671.  
  672. userData.setIsLoginEmail(true);
  673. Log.e(TAG, "userData.MemberId => " + userData.getMemberId());
  674. //userData.setIsLoginEmail(true);
  675. return 1;
  676. }else if (model.getData_register_post().get(0).getError().equals("500")){
  677. return 2;
  678. }else if(model.getData_register_post().get(0).getError().equals("501")){
  679. return 3;
  680. }
  681. return 0;
  682. }
  683. return 0;
  684. }
  685.  
  686. @Override
  687. protected void onPostExecute(Integer s) {
  688. super.onPostExecute(s);
  689. if (progDailog.isShowing()) {
  690. progDailog.dismiss();
  691. }
  692. switch (s) {
  693. case 0:
  694. alertMsg(Login.this, "Sign in", "Please try again.");
  695. break;
  696. case 1:
  697. // login success
  698.  
  699. Intent intent = new Intent(getApplicationContext(), MainActivity.class);
  700. startActivity(intent);
  701. finish();
  702.  
  703. break;
  704. case 2:
  705. alertMsg(Login.this, "Sign in", "Your e-mail or password is incorrect.");
  706. break;
  707. case 3:
  708. alertMsg(Login.this, "Sign in", "Email is not Activated, Please Check your email.");
  709. break;
  710. default:
  711. }
  712.  
  713. }
  714. }
  715. class SinginWithFacebookAsyncTask extends AsyncTask<String, Void, Integer> {
  716. String jsonString = "";
  717. private ProgressDialog progDailog;
  718.  
  719. @Override
  720. protected Integer doInBackground(String... strings) {
  721.  
  722. Log.e(TAG, "SinginWithFacebookAsyncTask facebookId => " + userData.getFacebookId());
  723. Log.e(TAG, "SinginWithFacebookAsyncTask profile_pic => " + userData.getProfileImageUrl());
  724. Log.e(TAG, "SinginWithFacebookAsyncTask email => " + userData.getEmail());
  725. Log.e(TAG, "SinginWithFacebookAsyncTask first_name => " + userData.getFirstName());
  726. Log.e(TAG, "SinginWithFacebookAsyncTask last_name => " + userData.getLastName());
  727. Log.e(TAG, "SinginWithFacebookAsyncTask gender => " + userData.getGender());
  728. Log.e(TAG, "SinginWithFacebookAsyncTask age_range => " + userData.getAge_range());
  729. // Log.e(TAG, "SinginWithFacebookAsyncTask birthday => " + userData.getBirthDay());
  730. Log.e(TAG, "doInBackground: Token iiiiiiiiiiiiii ===> " + token_device );
  731. // 1. connect server with okHttp
  732. OkHttpClient okHttpClient = new OkHttpClient();
  733.  
  734. // 2. assign post data
  735. FormBody postData = new FormBody.Builder()
  736. .add("email", userData.getEmail() )//
  737. .add("facebook_id", userData.getFacebookId())//
  738. .add("first_name", userData.getFirstName())//
  739. .add("last_name", userData.getLastName())//
  740. .add("gender", userData.getGender())//
  741. .add("age_range", userData.getAge_range())
  742. .add("mobile_token", token_device)//
  743. .add("platform", "android")//
  744. .build();
  745.  
  746. // userData.setLastName(bundleFacebookData.getString("last_name"));
  747. // userData.setGender(bundleFacebookData.getString("gender"));
  748.  
  749. Request request = new Request.Builder()
  750. .post(postData)
  751. .url(strings[0])
  752. .build();
  753.  
  754. Response response = null;
  755.  
  756. try {
  757. response = okHttpClient.newCall(request).execute();
  758. jsonString = response.body().string();
  759. Log.e(TAG, "jsonResult 555 => " + jsonString);
  760. } catch (IOException e) {
  761. e.printStackTrace();
  762. Log.e(TAG, "okHttpError => " + e.getMessage());
  763. return 0;
  764. }
  765.  
  766. if (!jsonString.equals("")) {
  767. Log.e(TAG, "jsonString => " + jsonString);
  768.  
  769. Gson gson = new Gson();
  770. model = gson.fromJson(jsonString, RegisterWithFacebook.class);
  771.  
  772. Log.e(TAG, "gson => " + model.getData_register_post().get(0).getError());
  773. Log.e(TAG, "gson => " + model.getData_register_post().get(0).getMessage());
  774. Log.e(TAG, "gson => " + model.getData_register_post().get(0).getMember_id());
  775. Log.e(TAG, "gson => " + model.getData_register_post().get(0).getStatus_update());
  776. Log.e(TAG, "doInBackground: Json Login ====> " + model.getData_register_post().get(0).getMessage() );
  777. Log.e(TAG, "doInBackground: Facebook ID == >" + model.getData_register_post().get(0).getFacebook_id() );
  778.  
  779.  
  780. if (model.getData_register_post().get(0).getError().equals("0")&&model.getData_register_post().get(0).getStatus_update().equals("0")) {
  781. UserData userData = new UserData(getApplicationContext());
  782. userData.setMemberId(model.getData_register_post().get(0).getMember_id());
  783. userData.setFacebookId(model.getData_register_post().get(0).getFacebook_id());
  784. userData.setIsLoginFaceBook(true);
  785.  
  786. return 1;
  787. }else if (model.getData_register_post().get(0).getError().equals("0")&&model.getData_register_post().get(0).getStatus_update().equals("1")){
  788. UserData userData = new UserData(getApplicationContext());
  789. userData.setMemberId(model.getData_register_post().get(0).getMember_id());
  790. userData.setIsLoginFaceBook(true);
  791.  
  792. userData.setFirstName(model.getData_register_post().get(0).getFirstname());
  793. userData.setLastName(model.getData_register_post().get(0).getLastname());
  794. userData.setBirthDay(model.getData_register_post().get(0).getBirthday());
  795.  
  796. if(model.getData_register_post().get(0).getGender().equals("1")){
  797. userData.setGender("male");
  798. }else {
  799. userData.setGender("female");
  800. }
  801.  
  802. userData.setMobile(model.getData_register_post().get(0).getMobile());
  803. userData.setEmail(model.getData_register_post().get(0).getEmail());
  804. userData.setIsRequestProfileAlready(true);
  805.  
  806. return 1;
  807. }
  808. // List<RegisterModel.DataRegisterPostEntity> dataRegisterPost = model.getData_register_post();
  809. //
  810. // Log.e(TAG, "gson => " + dataRegisterPost.get(0).getError());
  811. // Log.e(TAG, "gson => " + dataRegisterPost.get(0).getMessage());
  812. // Log.e(TAG, "gson => " + dataRegisterPost.get(0).getMember_id());
  813. //
  814. // if (dataRegisterPost.get(0).getError().equals("0")) {
  815. // UserData userData = new UserData(getApplicationContext());
  816. // userData.setMemberId(dataRegisterPost.get(0).getMember_id());
  817. // Log.e(TAG, "userData.MemberId => " + userData.getMemberId());
  818. // userData.setIsLoginEmail(true);
  819. // return 1;
  820. // }
  821. return 0; //0
  822. }
  823. return 0; //0
  824. }
  825.  
  826. @Override
  827. protected void onPreExecute() {
  828. super.onPreExecute();
  829. progDailog = new ProgressDialog(Login.this);
  830. progDailog.setMessage("Loading...");
  831. progDailog.setIndeterminate(false);
  832. progDailog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
  833. progDailog.setCancelable(true);
  834. progDailog.show();
  835. }
  836.  
  837. @Override
  838. protected void onPostExecute(Integer s) {
  839. super.onPostExecute(s);
  840. if (progDailog.isShowing()) {
  841. progDailog.dismiss();
  842. }
  843.  
  844. switch (s) {
  845. case 0:
  846. /* Intent intent2 = new Intent(getApplicationContext(), MainActivity.class);
  847.  
  848. startActivity(intent2);
  849. finish();*/
  850. alertMsg(Login.this, "Sign in", "Please try again.");
  851. break;
  852. case 1:
  853. // login success
  854. Intent intent = new Intent(getApplicationContext(), MainActivity.class);
  855. startActivity(intent);
  856. finish();
  857. break;
  858. default:
  859. }
  860.  
  861. }
  862. }
  863.  
  864. @Override
  865. protected void onResume() {
  866. super.onResume();
  867.  
  868. // Logs 'install' and 'app activate' App Events.
  869. AppEventsLogger.activateApp(this);
  870. }
  871.  
  872. @Override
  873. protected void onPause() {
  874. super.onPause();
  875.  
  876. // Logs 'app deactivate' App Event.
  877. AppEventsLogger.deactivateApp(this);
  878. }
  879.  
  880. @Override
  881. protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  882. super.onActivityResult(requestCode, resultCode, data);
  883. callbackManager.onActivityResult(requestCode, resultCode, data);
  884. }
  885.  
  886. public void disconnectFromFacebook() {
  887.  
  888. if (AccessToken.getCurrentAccessToken() == null) {
  889. return; // already logged out
  890. }
  891.  
  892. new GraphRequest(AccessToken.getCurrentAccessToken(), "/me/permissions/", null, HttpMethod.DELETE, new GraphRequest
  893. .Callback() {
  894. @Override
  895. public void onCompleted(GraphResponse graphResponse) {
  896.  
  897. LoginManager.getInstance().logOut();
  898.  
  899. }
  900. }).executeAsync();
  901. }
  902. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement