Android Open Source - spots Login Fragment






From Project

Back to project page spots.

License

The source code is released under:

MIT License

If you think the Android project spots listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.dcc.matc89.spots.social;
/*w ww  .  j a va2 s  .  c om*/
import java.util.Arrays;

import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import com.dcc.matc89.spots.R;
import com.dcc.matc89.spots.model.User;
import com.facebook.Session;
import com.facebook.SessionState;
import com.facebook.widget.LoginButton;

public class LoginFragment extends FacebookFragment {

  public static final String TAG = "LoginFragment";
  private View mLoginLayout, mRefreshProgressBar;
  private OnUserLoginListener mOnUserLoginListener;
  private View mRoot;

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setRetainInstance(true);
  }

  @Override
  public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    mRoot = inflater.inflate(R.layout.fragment_login, container, false);
    mRefreshProgressBar = mRoot.findViewById(R.id.login_pgs);
    mLoginLayout = mRoot.findViewById(R.id.login_layout);
    LoginButton authButton = (LoginButton) mRoot.findViewById(R.id.authButton);
    authButton.setReadPermissions(Arrays.asList("user_location"));
    authButton.setFragment(this);
    updateLayoutVisibility(isLoggedIn(Session.getActiveSession()));
    return mRoot;
  }

  @Override
  public void call(Session session, SessionState state, Exception exception) {
    super.call(session, state, exception);
    boolean loggedIn = isLoggedIn(session);
    updateLayoutVisibility(loggedIn);
    FragmentActivity activity = getActivity();
    if(loggedIn && activity != null){
      User user = User.getCurrentUser(activity);
      if(user != null && mOnUserLoginListener != null)
        mOnUserLoginListener.onUserLoggedIn(user);
    }
  }

  public void setOnUserLoginListener(OnUserLoginListener listener){
    mOnUserLoginListener = listener;
  }

  private boolean isLoggedIn(Session session) {
    return session != null && session.isOpened();
  }

  private void updateLayoutVisibility(boolean loggedIn) {
    mLoginLayout.setVisibility(loggedIn ? View.INVISIBLE : View.VISIBLE);
    mRefreshProgressBar.setVisibility(loggedIn ? View.VISIBLE : View.INVISIBLE);
  }

  public void hide() {
    mRoot.setVisibility(View.INVISIBLE);
  }

  @Override
  public void onUserLoggedIn(User user) {
    if(user != null && mOnUserLoginListener != null)
      mOnUserLoginListener.onUserLoggedIn(user);
  }
}




Java Source Code List

com.dcc.matc89.spots.activity.GroupDetailActivity.java
com.dcc.matc89.spots.activity.GroupEditActivity.java
com.dcc.matc89.spots.activity.GroupListActivity.java
com.dcc.matc89.spots.activity.LoginActionBarActivity.java
com.dcc.matc89.spots.activity.LoginActivity.java
com.dcc.matc89.spots.activity.MainActivity.java
com.dcc.matc89.spots.activity.MyGroupsListActivity.java
com.dcc.matc89.spots.activity.SpotDetailActivity.java
com.dcc.matc89.spots.activity.SpotEditActivity.java
com.dcc.matc89.spots.activity.SpotListActivity.java
com.dcc.matc89.spots.activity.UserDetailActivity.java
com.dcc.matc89.spots.activity.UserListActivity.java
com.dcc.matc89.spots.model.Group.java
com.dcc.matc89.spots.model.Sport.java
com.dcc.matc89.spots.model.Spot.java
com.dcc.matc89.spots.model.StaticDatabase.java
com.dcc.matc89.spots.model.User.java
com.dcc.matc89.spots.network.FetchGroupsAsyncTask.java
com.dcc.matc89.spots.network.FetchGroups.java
com.dcc.matc89.spots.network.FetchSportsAsyncTask.java
com.dcc.matc89.spots.network.FetchSports.java
com.dcc.matc89.spots.network.FetchSpotsAsyncTask.java
com.dcc.matc89.spots.network.FetchSpots.java
com.dcc.matc89.spots.network.FetchUsersAsyncTask.java
com.dcc.matc89.spots.network.FetchUsers.java
com.dcc.matc89.spots.network.OnResultReceiver.java
com.dcc.matc89.spots.network.PostGroupsAsyncTask.java
com.dcc.matc89.spots.network.PostGroups.java
com.dcc.matc89.spots.network.PostLinkSpotGroupAsyncTask.java
com.dcc.matc89.spots.network.PostLinkSpotGroup.java
com.dcc.matc89.spots.network.PostSpotsAsyncTask.java
com.dcc.matc89.spots.network.PostSpots.java
com.dcc.matc89.spots.network.PostUsersAsyncTask.java
com.dcc.matc89.spots.network.PostUsers.java
com.dcc.matc89.spots.network.Utils.java
com.dcc.matc89.spots.social.FacebookFragment.java
com.dcc.matc89.spots.social.LoginFragment.java
com.dcc.matc89.spots.social.OnUserLoginListener.java
com.dcc.matc89.spots.view.CheckboxesDropdownView.java
com.dcc.matc89.spots.view.DropdownView.java