Advertisement
gust94

LoginMainPageFragment

Jan 19th, 2017
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.13 KB | None | 0 0
  1. package com.dss.invitup.vc.login;
  2. import android.content.Intent;
  3. import android.graphics.Typeface;
  4. import android.os.Build;
  5. import android.os.Bundle;
  6. import android.support.v4.app.Fragment;
  7. import android.util.Log;
  8. import android.view.LayoutInflater;
  9. import android.view.View;
  10. import android.view.ViewGroup;
  11. import android.widget.Button;
  12. import android.widget.FrameLayout;
  13. import com.dss.invitup.R;
  14. import com.dss.invitup.events.GetFacebookLoginFinishLoadedEvent;
  15. import com.dss.invitup.singleton.InterfaceManager;
  16. import com.dss.invitup.singleton.ServerManager;
  17. import com.dss.invitup.singleton.SettingsManager;
  18. import com.dss.invitup.vc.homePage.HomePageActivity;
  19. import com.dss.invitup.view.RobotoRegularTextView;
  20. import com.facebook.AccessToken;
  21. import com.facebook.CallbackManager;
  22. import com.facebook.FacebookCallback;
  23. import com.facebook.FacebookException;
  24. import com.facebook.FacebookSdk;
  25. import com.facebook.GraphRequest;
  26. import com.facebook.GraphResponse;
  27. import com.facebook.login.LoginManager;
  28. import com.facebook.login.LoginResult;
  29. import org.json.JSONObject;
  30. import de.greenrobot.event.EventBus;
  31. /**
  32. * Copyright © 2016 Dihardja Software Solutions. All rights reserved.
  33. */
  34. public class LoginMainPageFragment extends Fragment{
  35. Button signUpWithFacebookButton, signUpWithEmailButton;
  36. RobotoRegularTextView signInButton;
  37. LoginMainPageActivity loginMainPageActivity;
  38. CallbackManager callbackManager;
  39. FrameLayout rootFrameLayout;
  40. @Override
  41. public View onCreateView(LayoutInflater inflater, ViewGroup container,
  42. Bundle savedInstanceState) {
  43. View view = inflater.inflate(R.layout.fragment_login_main_page, container, false);
  44. if(!EventBus.getDefault().isRegistered(this)){
  45. EventBus.getDefault().register(this);
  46. }
  47. rootFrameLayout = (FrameLayout)view.findViewById(R.id.loginActivityRootFrameLayout);
  48. signInButton = (RobotoRegularTextView)view.findViewById(R.id.loginActivity_signInButtonTextView);
  49. signUpWithEmailButton = (Button)view.findViewById(R.id.loginActivity_signUpWithEmailButton);
  50. signUpWithFacebookButton = (Button)view.findViewById(R.id.loginActivity_signUpFacebookButton);
  51. return view;
  52. }
  53. @Override
  54. public void onViewCreated(View view, Bundle savedInstanceState) {
  55. super.onViewCreated(view, savedInstanceState);
  56. FacebookSdk.sdkInitialize(getActivity().getApplicationContext());
  57. loginMainPageActivity = new LoginMainPageActivity();
  58. Typeface font = Typeface.createFromAsset(getActivity().getAssets(), "fonts/Montserrat-Light.otf");
  59. signUpWithEmailButton.setTypeface(font);
  60. signUpWithFacebookButton.setTypeface(font);
  61. if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
  62. signUpWithEmailButton.setLetterSpacing(0.07f);
  63. signUpWithFacebookButton.setLetterSpacing(0.07f);
  64. }
  65. signInButton.setOnClickListener(signInButtonListener);
  66. signUpWithEmailButton.setOnClickListener(signUpWithEmailButtonListener);
  67. signUpWithFacebookButton.setOnClickListener(signUpWithFacebookButtonListener);
  68. }
  69. Button.OnClickListener signUpWithFacebookButtonListener = new View.OnClickListener() {
  70. @Override
  71. public void onClick(View v) {
  72. loginFacebook();
  73. }
  74. };
  75. Button.OnClickListener signUpWithEmailButtonListener = new View.OnClickListener() {
  76. @Override
  77. public void onClick(View v) {
  78. SettingsManager.getInstance().setCurrentFragment(loginMainPageActivity.SIGNUP_FRAGMENT);
  79. getActivity().getSupportFragmentManager().beginTransaction()
  80. .replace(R.id.loginContainerRootFrameLayout,new SignUpFragment())
  81. .commitAllowingStateLoss();
  82. }
  83. };
  84. RobotoRegularTextView.OnClickListener signInButtonListener = new View.OnClickListener() {
  85. @Override
  86. public void onClick(View v) {
  87. SettingsManager.getInstance().setCurrentFragment(loginMainPageActivity.SIGNIN_FRAGMENT);
  88. getActivity().getSupportFragmentManager().beginTransaction()
  89. .replace(R.id.loginContainerRootFrameLayout,new SignInFragment())
  90. .commitAllowingStateLoss();
  91. }
  92. };
  93. public void loginFacebook(){
  94. callbackManager = CallbackManager.Factory.create();
  95. LoginManager.getInstance().logInWithReadPermissions(this, SettingsManager.getInstance().facebookPermission());
  96. LoginManager.getInstance().registerCallback(callbackManager,
  97. new FacebookCallback<LoginResult>() {
  98. @Override
  99. public void onSuccess(LoginResult loginResult) {
  100. System.out.println("Success");
  101. GraphRequest.newMeRequest(
  102. loginResult.getAccessToken(), new GraphRequest.GraphJSONObjectCallback() {
  103. @Override
  104. public void onCompleted(JSONObject json, GraphResponse response) {
  105. if (response.getError() != null) {
  106. System.out.println("ERROR");
  107. } else {
  108. System.out.println("Success");
  109. String token = AccessToken.getCurrentAccessToken().getToken();
  110. Log.v("facebook-token", token);
  111. InterfaceManager.sharedInstance().showLoading(rootFrameLayout,getActivity());
  112. ServerManager.getInstance().facebookLogin(token);
  113. }
  114. }
  115. }).executeAsync();
  116. }
  117. @Override
  118. public void onCancel() {
  119. Log.d("cancel", "On cancel");
  120. }
  121. @Override
  122. public void onError(FacebookException error) {
  123. Log.d("error", error.toString());
  124. }
  125. });
  126. }
  127. @Override
  128. public void onActivityResult(int requestCode, int resultCode, Intent data) {
  129. super.onActivityResult(requestCode, resultCode, data);
  130. callbackManager.onActivityResult(requestCode, resultCode, data);
  131. }
  132. public void onEvent(GetFacebookLoginFinishLoadedEvent event){
  133. InterfaceManager.sharedInstance().hideLoading();
  134. if(!event.errorMessage.equals("")){
  135. InterfaceManager.sharedInstance().showErrorMessage(getActivity(),event.errorMessage);
  136. }else{
  137. Intent i = new Intent(getActivity(), HomePageActivity.class);
  138. getActivity().startActivity(i);
  139. getActivity().finish();
  140. }
  141. }
  142. @Override
  143. public void onDestroy(){
  144. super.onDestroy();
  145. if(EventBus.getDefault().isRegistered(this)) {
  146. EventBus.getDefault().unregister(this);
  147. }
  148. }
  149. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement