package com.example.jhordan.logeofacebookdevf; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.TextView; import android.widget.Toast; import com.sromku.simple.fb.Permission; import com.sromku.simple.fb.SimpleFacebook; import com.sromku.simple.fb.SimpleFacebookConfiguration; import com.sromku.simple.fb.entities.Profile; import com.sromku.simple.fb.entities.Profile.Properties; import com.sromku.simple.fb.listeners.OnLikesListener; import com.sromku.simple.fb.listeners.OnLoginListener; import com.sromku.simple.fb.listeners.OnLogoutListener; import com.sromku.simple.fb.listeners.OnProfileListener; public class MyActivity extends Activity { protected static final String TAG =""; private Button mButtonLogin; private Button mButtonLogout; private TextView mTextStatus; private SimpleFacebook simplef; Permission[] permissions = new Permission[] { Permission.USER_PHOTOS, Permission.EMAIL, Permission.PUBLISH_ACTION }; SimpleFacebookConfiguration configuration = new SimpleFacebookConfiguration.Builder() .setAppId("823915374285394") .setNamespace("logindevgas") .setPermissions(permissions) .build(); Profile.Properties properties = new Profile.Properties.Builder() .add(Properties.ID) .add(Properties.FIRST_NAME) .add(Properties.COVER) .add(Properties.WORK) .add(Properties.EDUCATION) .add(Properties.PICTURE) .build(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_my); SimpleFacebook.setConfiguration(configuration); simplef = SimpleFacebook.getInstance(this); mButtonLogin = (Button) findViewById(R.id.entrar); mButtonLogout = (Button) findViewById(R.id.salir); mTextStatus = (TextView) findViewById(R.id.mostrar); setLogin(); setLogout(); setUIState(); } @Override public void onResume() { super.onResume(); setTitle("Regalo Perfecto"); simplef = SimpleFacebook.getInstance(this); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { simplef.onActivityResult(this, requestCode, resultCode, data); super.onActivityResult(requestCode, resultCode, data); } private void setLogin() { // Login listener final OnLoginListener onLoginListener = new OnLoginListener() { @Override public void onFail(String reason) { mTextStatus.setText(reason); Log.w(TAG, "Failed to login"); } @Override public void onException(Throwable throwable) { mTextStatus.setText("Exception: " + throwable.getMessage()); Log.e(TAG, "Bad thing happened", throwable); } @Override public void onThinking() { // show progress bar or something to the user while login is // happening mTextStatus.setText("Thinking..."); } @Override public void onLogin() { // change the state of the button or do whatever you want mTextStatus.setText("Logged in"); loggedInUIState(); } @Override public void onNotAcceptingPermissions(Permission.Type type) { // toast(String.format("You didn't accept %s permissions", type.name())); } }; mButtonLogin.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { simplef.login(onLoginListener); } }); } /** * Logout example */ private void setLogout() { final OnLogoutListener onLogoutListener = new OnLogoutListener() { @Override public void onFail(String reason) { mTextStatus.setText(reason); Log.w(TAG, "Failed to login"); } @Override public void onException(Throwable throwable) { mTextStatus.setText("Exception: " + throwable.getMessage()); Log.e(TAG, "Bad thing happened", throwable); } @Override public void onThinking() { // show progress bar or something to the user while login is // happening mTextStatus.setText("Thinking..."); } @Override public void onLogout() { // change the state of the button or do whatever you want mTextStatus.setText("Logged out"); loggedOutUIState(); } }; mButtonLogout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { simplef.logout(onLogoutListener); } }); } private void setUIState() { if (simplef.isLogin()) { loggedInUIState(); } else { loggedOutUIState(); } } private void loggedInUIState() { mButtonLogin.setEnabled(false); mButtonLogout.setEnabled(true); mTextStatus.setText("Logged in"); oListener(); } private void loggedOutUIState() { mButtonLogin.setEnabled(true); mButtonLogout.setEnabled(false); mTextStatus.setText("Logged out"); } public OnProfileListener oListener(){ OnProfileListener onProfileListener = new OnProfileListener() { @Override public void onComplete(Profile profile) { Log.i(TAG, "Mi nombre = " + profile.getFirstName() + "Birthday" + profile.getBirthday()); Toast.makeText(MyActivity.this, "Mi nombre: " + profile.getFirstName() + " " + "CumpleaƱos: " + profile.getBirthday(), Toast.LENGTH_LONG).show(); } /* * You can override other methods here: * onThinking(), onFail(String reason), onException(Throwable throwable) */ }; simplef.getProfile(onProfileListener); return onProfileListener; } }