diff --git a/app/app.iml b/app/app.iml
index e2b3e59..bebe964 100644
--- a/app/app.iml
+++ b/app/app.iml
@@ -131,6 +131,8 @@
+
+
@@ -143,10 +145,12 @@
+
+
@@ -155,6 +159,7 @@
+
@@ -164,34 +169,47 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/build.gradle b/app/build.gradle
index 2f9be8e..7740e24 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -40,6 +40,8 @@ dependencies {
implementation 'com.android.support:recyclerview-v7:28.0.0'
implementation 'com.android.support:support-v4:28.0.0'
implementation 'com.fasterxml.jackson.core:jackson-databind:2.7.0'
+ implementation 'com.facebook.android:facebook-android-sdk:4.38.1'
+ implementation 'com.squareup.picasso:picasso:2.71828'
// https://mvnrepository.com/artifact/org.mockito/mockito-all
testImplementation "org.mockito:mockito-core:2.19.0"
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 2a36ca8..e209a4c 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -56,6 +56,27 @@
android:name=".controllers.MapsActivity"
android:label="@string/title_activity_maps" />
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/edu/gatech/donatrix/controllers/LoginActivity.java b/app/src/main/java/edu/gatech/donatrix/controllers/LoginActivity.java
index bbb07ce..30d3cc4 100644
--- a/app/src/main/java/edu/gatech/donatrix/controllers/LoginActivity.java
+++ b/app/src/main/java/edu/gatech/donatrix/controllers/LoginActivity.java
@@ -3,12 +3,29 @@
import android.content.Intent;
import android.os.Bundle;
import android.os.StrictMode;
+import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
+import android.util.Log;
import android.view.Gravity;
import android.view.View;
import android.widget.EditText;
+import android.widget.ProgressBar;
+import android.widget.TextView;
import android.widget.Toast;
+import com.facebook.AccessToken;
+import com.facebook.CallbackManager;
+import com.facebook.FacebookCallback;
+import com.facebook.FacebookException;
+import com.facebook.GraphRequest;
+import com.facebook.GraphResponse;
+import com.facebook.login.LoginResult;
+import com.facebook.login.widget.LoginButton;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
@@ -20,6 +37,14 @@ public class LoginActivity extends AppCompatActivity {
private EditText emailField;
private EditText passwordField;
+ private CallbackManager callbackManager;
+ private ProgressBar mBar;
+
+ @Override
+ protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
+ super.onActivityResult(requestCode, resultCode, data);
+ callbackManager.onActivityResult(requestCode, resultCode, data);
+ }
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -31,6 +56,53 @@ protected void onCreate(Bundle savedInstanceState) {
emailField = findViewById(R.id.loginEmailTextField);
passwordField = findViewById(R.id.loginPasswordTextField);
+
+ callbackManager = CallbackManager.Factory.create();
+
+ LoginButton loginButton = (LoginButton) findViewById(R.id.facebook_login_button);
+ loginButton.setReadPermissions(Arrays.asList("email"));
+ loginButton.registerCallback(callbackManager, new FacebookCallback() {
+ @Override
+ public void onSuccess(LoginResult loginResult) {
+ mBar = new ProgressBar(LoginActivity.this, null, android.R.attr.progressBarStyleLarge);
+ mBar.setVisibility(View.VISIBLE);
+
+ GraphRequest request = GraphRequest.newMeRequest(loginResult.getAccessToken(), (object, response) -> {
+ mBar.setVisibility(View.INVISIBLE);
+ Log.d("response", response.toString());
+ getData(object);
+ });
+
+ Bundle parameters = new Bundle();
+ parameters.putString("fields", "email");
+ request.setParameters(parameters);
+ request.executeAsync();
+ Intent facebookLoginIntent = new Intent(LoginActivity.this, UserHomeActivity.class);
+ startActivity(facebookLoginIntent);
+ }
+
+ @Override
+ public void onCancel() {
+
+ }
+
+ @Override
+ public void onError(FacebookException error) {
+
+ }
+ });
+
+ //if already login
+ //if (AccessToken.getCurrentAccessToken() != null) {
+ // txtEmail.setText(AccessToken.getCurrentAccessToken().getUserId());
+ //}
+ }
+ private void getData(JSONObject object) {
+ try {
+ emailField.setText(object.getString("email"));
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
}
public void onLoginPressed(View view) {
diff --git a/app/src/main/java/edu/gatech/donatrix/controllers/WelcomeActivity.java b/app/src/main/java/edu/gatech/donatrix/controllers/WelcomeActivity.java
index 2216fe9..52f34af 100644
--- a/app/src/main/java/edu/gatech/donatrix/controllers/WelcomeActivity.java
+++ b/app/src/main/java/edu/gatech/donatrix/controllers/WelcomeActivity.java
@@ -1,14 +1,42 @@
package edu.gatech.donatrix.controllers;
import android.content.Intent;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.Signature;
+import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
+import android.util.Base64;
+import android.util.Log;
import android.view.View;
+import android.widget.ProgressBar;
+import android.widget.TextView;
+
+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.appevents.AppEventsLogger;
+import com.facebook.login.LoginManager;
+import com.facebook.login.LoginResult;
+import com.facebook.login.widget.LoginButton;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
+import java.util.Arrays;
import edu.gatech.donatrix.R;
public class WelcomeActivity extends AppCompatActivity {
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -24,4 +52,5 @@ public void onRegisterPressed(View view) {
Intent intent = new Intent(WelcomeActivity.this, RegisterActivity.class);
startActivity(intent);
}
+
}
diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml
index 0622c1a..4d974a7 100644
--- a/app/src/main/res/layout/activity_login.xml
+++ b/app/src/main/res/layout/activity_login.xml
@@ -68,6 +68,18 @@
app:layout_constraintHorizontal_bias="0.517"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintVertical_bias="0.596" />
+ app:layout_constraintVertical_bias="0.596"/>
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 8d2a4cf..1e3e371 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -34,4 +34,7 @@
Location List
Short Description:
TextView
+ 745512659126288
+ fb745512659126288
+