Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.dss.invitup.vc.login;
- import android.content.Intent;
- import android.graphics.Typeface;
- import android.os.Build;
- import android.os.Bundle;
- import android.support.v4.app.Fragment;
- import android.util.Log;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.Button;
- import android.widget.FrameLayout;
- import com.dss.invitup.R;
- import com.dss.invitup.events.GetFacebookLoginFinishLoadedEvent;
- import com.dss.invitup.singleton.InterfaceManager;
- import com.dss.invitup.singleton.ServerManager;
- import com.dss.invitup.singleton.SettingsManager;
- import com.dss.invitup.vc.homePage.HomePageActivity;
- import com.dss.invitup.view.RobotoRegularTextView;
- import com.facebook.AccessToken;
- import com.facebook.CallbackManager;
- import com.facebook.FacebookCallback;
- import com.facebook.FacebookException;
- import com.facebook.FacebookSdk;
- import com.facebook.GraphRequest;
- import com.facebook.GraphResponse;
- import com.facebook.login.LoginManager;
- import com.facebook.login.LoginResult;
- import org.json.JSONObject;
- import de.greenrobot.event.EventBus;
- /**
- * Copyright © 2016 Dihardja Software Solutions. All rights reserved.
- */
- public class LoginMainPageFragment extends Fragment{
- Button signUpWithFacebookButton, signUpWithEmailButton;
- RobotoRegularTextView signInButton;
- LoginMainPageActivity loginMainPageActivity;
- CallbackManager callbackManager;
- FrameLayout rootFrameLayout;
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
- View view = inflater.inflate(R.layout.fragment_login_main_page, container, false);
- if(!EventBus.getDefault().isRegistered(this)){
- EventBus.getDefault().register(this);
- }
- rootFrameLayout = (FrameLayout)view.findViewById(R.id.loginActivityRootFrameLayout);
- signInButton = (RobotoRegularTextView)view.findViewById(R.id.loginActivity_signInButtonTextView);
- signUpWithEmailButton = (Button)view.findViewById(R.id.loginActivity_signUpWithEmailButton);
- signUpWithFacebookButton = (Button)view.findViewById(R.id.loginActivity_signUpFacebookButton);
- return view;
- }
- @Override
- public void onViewCreated(View view, Bundle savedInstanceState) {
- super.onViewCreated(view, savedInstanceState);
- FacebookSdk.sdkInitialize(getActivity().getApplicationContext());
- loginMainPageActivity = new LoginMainPageActivity();
- Typeface font = Typeface.createFromAsset(getActivity().getAssets(), "fonts/Montserrat-Light.otf");
- signUpWithEmailButton.setTypeface(font);
- signUpWithFacebookButton.setTypeface(font);
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
- signUpWithEmailButton.setLetterSpacing(0.07f);
- signUpWithFacebookButton.setLetterSpacing(0.07f);
- }
- signInButton.setOnClickListener(signInButtonListener);
- signUpWithEmailButton.setOnClickListener(signUpWithEmailButtonListener);
- signUpWithFacebookButton.setOnClickListener(signUpWithFacebookButtonListener);
- }
- Button.OnClickListener signUpWithFacebookButtonListener = new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- loginFacebook();
- }
- };
- Button.OnClickListener signUpWithEmailButtonListener = new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- SettingsManager.getInstance().setCurrentFragment(loginMainPageActivity.SIGNUP_FRAGMENT);
- getActivity().getSupportFragmentManager().beginTransaction()
- .replace(R.id.loginContainerRootFrameLayout,new SignUpFragment())
- .commitAllowingStateLoss();
- }
- };
- RobotoRegularTextView.OnClickListener signInButtonListener = new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- SettingsManager.getInstance().setCurrentFragment(loginMainPageActivity.SIGNIN_FRAGMENT);
- getActivity().getSupportFragmentManager().beginTransaction()
- .replace(R.id.loginContainerRootFrameLayout,new SignInFragment())
- .commitAllowingStateLoss();
- }
- };
- public void loginFacebook(){
- callbackManager = CallbackManager.Factory.create();
- LoginManager.getInstance().logInWithReadPermissions(this, SettingsManager.getInstance().facebookPermission());
- LoginManager.getInstance().registerCallback(callbackManager,
- new FacebookCallback<LoginResult>() {
- @Override
- public void onSuccess(LoginResult loginResult) {
- System.out.println("Success");
- GraphRequest.newMeRequest(
- loginResult.getAccessToken(), new GraphRequest.GraphJSONObjectCallback() {
- @Override
- public void onCompleted(JSONObject json, GraphResponse response) {
- if (response.getError() != null) {
- System.out.println("ERROR");
- } else {
- System.out.println("Success");
- String token = AccessToken.getCurrentAccessToken().getToken();
- Log.v("facebook-token", token);
- InterfaceManager.sharedInstance().showLoading(rootFrameLayout,getActivity());
- ServerManager.getInstance().facebookLogin(token);
- }
- }
- }).executeAsync();
- }
- @Override
- public void onCancel() {
- Log.d("cancel", "On cancel");
- }
- @Override
- public void onError(FacebookException error) {
- Log.d("error", error.toString());
- }
- });
- }
- @Override
- public void onActivityResult(int requestCode, int resultCode, Intent data) {
- super.onActivityResult(requestCode, resultCode, data);
- callbackManager.onActivityResult(requestCode, resultCode, data);
- }
- public void onEvent(GetFacebookLoginFinishLoadedEvent event){
- InterfaceManager.sharedInstance().hideLoading();
- if(!event.errorMessage.equals("")){
- InterfaceManager.sharedInstance().showErrorMessage(getActivity(),event.errorMessage);
- }else{
- Intent i = new Intent(getActivity(), HomePageActivity.class);
- getActivity().startActivity(i);
- getActivity().finish();
- }
- }
- @Override
- public void onDestroy(){
- super.onDestroy();
- if(EventBus.getDefault().isRegistered(this)) {
- EventBus.getDefault().unregister(this);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement