From 42d725623134c76a2e319aa0832a9e1d33f78c76 Mon Sep 17 00:00:00 2001 From: Proxieds Date: Sat, 18 Jan 2020 12:57:10 -0800 Subject: [PATCH 1/9] Some changes to the register --- .idea/vcs.xml | 6 ++++ .../java/com/example/myapplication/Login.java | 1 + .../com/example/myapplication/Register.java | 32 ++++++++++++++++--- 3 files changed, 34 insertions(+), 5 deletions(-) create mode 100644 .idea/vcs.xml diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/Login.java b/app/src/main/java/com/example/myapplication/Login.java index 4fcb00c..c7c6a8f 100644 --- a/app/src/main/java/com/example/myapplication/Login.java +++ b/app/src/main/java/com/example/myapplication/Login.java @@ -35,6 +35,7 @@ protected void onCreate(Bundle savedInstanceState) { logo.setText(modifiedLogoText); + final AppCompatTextView signUpLink = findViewById(R.id.signup_link); signUpLink.setOnClickListener(new View.OnClickListener() { @Override diff --git a/app/src/main/java/com/example/myapplication/Register.java b/app/src/main/java/com/example/myapplication/Register.java index 74deea1..1927270 100644 --- a/app/src/main/java/com/example/myapplication/Register.java +++ b/app/src/main/java/com/example/myapplication/Register.java @@ -1,6 +1,8 @@ package com.example.myapplication; import androidx.appcompat.app.AppCompatActivity; +import androidx.appcompat.widget.AppCompatButton; +import androidx.appcompat.widget.AppCompatEditText; import androidx.appcompat.widget.AppCompatTextView; import android.content.Intent; @@ -12,7 +14,9 @@ import android.text.style.ForegroundColorSpan; import android.view.View; import android.view.WindowManager; +import android.widget.EditText; import android.widget.TextView; +import android.widget.Toast; public class Register extends AppCompatActivity { @@ -25,14 +29,32 @@ protected void onCreate(Bundle savedInstanceState) { WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); } - final AppCompatTextView signUpLink = findViewById(R.id.login_link); - signUpLink.setOnClickListener(new View.OnClickListener() { + final AppCompatEditText usernameInfo = findViewById(R.id.username); + final String usernameParsed = usernameInfo.getText().toString(); + final AppCompatEditText passwordInfo = findViewById(R.id.password); + final String pwParsed = passwordInfo.getText().toString(); + final EditText confirmPW = findViewById(R.id.password_veri); + final String pwVeriParsed = confirmPW.getText().toString(); + final boolean nonEmpty = (pwParsed != "" || usernameParsed != "" || pwVeriParsed != ""); + + final AppCompatButton registerBtn = findViewById(R.id.signup_btn); + registerBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - Intent loginScreen = new Intent(Register.this, Login.class); - startActivity(loginScreen); + if(nonEmpty && (pwParsed!= pwVeriParsed)) { + Toast.makeText(Register.this, "Passwords Do not Match", Toast.LENGTH_SHORT).show(); + } + Toast.makeText(Register.this, usernameParsed, Toast.LENGTH_SHORT).show(); + } + }); + + final AppCompatTextView signUpLink = findViewById(R.id.login_link); + signUpLink.setOnClickListener(new View.OnClickListener() { + public void onClick (View view){ + Intent signUpScreen = new Intent(Register.this, Login.class); + startActivity(signUpScreen); finish(); } }); } -} +} \ No newline at end of file From 59944ee738012df38ff3b7ee7973bb32f958b075 Mon Sep 17 00:00:00 2001 From: Proxieds Date: Sat, 18 Jan 2020 13:03:22 -0800 Subject: [PATCH 2/9] Renamed Applicaton Name --- .../ExampleInstrumentedTest.java | 2 +- app/src/main/AndroidManifest.xml | 6 +++--- .../java/com/example/{myapplication => FoodViz}/Login.java | 4 +--- .../example/{myapplication => FoodViz}/MainActivity.java | 2 +- .../com/example/{myapplication => FoodViz}/Register.java | 7 +------ .../{myapplication => FoodViz}/ExampleUnitTest.java | 2 +- 6 files changed, 8 insertions(+), 15 deletions(-) rename app/src/androidTest/java/com/example/{myapplication => FoodViz}/ExampleInstrumentedTest.java (95%) rename app/src/main/java/com/example/{myapplication => FoodViz}/Login.java (94%) rename app/src/main/java/com/example/{myapplication => FoodViz}/MainActivity.java (89%) rename app/src/main/java/com/example/{myapplication => FoodViz}/Register.java (91%) rename app/src/test/java/com/example/{myapplication => FoodViz}/ExampleUnitTest.java (90%) diff --git a/app/src/androidTest/java/com/example/myapplication/ExampleInstrumentedTest.java b/app/src/androidTest/java/com/example/FoodViz/ExampleInstrumentedTest.java similarity index 95% rename from app/src/androidTest/java/com/example/myapplication/ExampleInstrumentedTest.java rename to app/src/androidTest/java/com/example/FoodViz/ExampleInstrumentedTest.java index af71346..445e480 100644 --- a/app/src/androidTest/java/com/example/myapplication/ExampleInstrumentedTest.java +++ b/app/src/androidTest/java/com/example/FoodViz/ExampleInstrumentedTest.java @@ -1,4 +1,4 @@ -package com.example.myapplication; +package com.example.FoodViz; import android.content.Context; diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 324197f..e62042e 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,7 +1,7 @@ + package="com.example.FoodViz"> @@ -21,7 +21,7 @@ diff --git a/app/src/main/java/com/example/myapplication/Login.java b/app/src/main/java/com/example/FoodViz/Login.java similarity index 94% rename from app/src/main/java/com/example/myapplication/Login.java rename to app/src/main/java/com/example/FoodViz/Login.java index c7c6a8f..9fdfbbb 100644 --- a/app/src/main/java/com/example/myapplication/Login.java +++ b/app/src/main/java/com/example/FoodViz/Login.java @@ -1,4 +1,4 @@ -package com.example.myapplication; +package com.example.FoodViz; import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.widget.AppCompatTextView; @@ -7,14 +7,12 @@ import android.graphics.Color; import android.os.Build; import android.os.Bundle; -import android.text.Spannable; import android.text.SpannableString; import android.text.Spanned; import android.text.style.ForegroundColorSpan; import android.view.View; import android.view.WindowManager; import android.widget.TextView; -import android.widget.Toast; public class Login extends AppCompatActivity { diff --git a/app/src/main/java/com/example/myapplication/MainActivity.java b/app/src/main/java/com/example/FoodViz/MainActivity.java similarity index 89% rename from app/src/main/java/com/example/myapplication/MainActivity.java rename to app/src/main/java/com/example/FoodViz/MainActivity.java index ca37a8a..d3fe5eb 100644 --- a/app/src/main/java/com/example/myapplication/MainActivity.java +++ b/app/src/main/java/com/example/FoodViz/MainActivity.java @@ -1,4 +1,4 @@ -package com.example.myapplication; +package com.example.FoodViz; import androidx.appcompat.app.AppCompatActivity; diff --git a/app/src/main/java/com/example/myapplication/Register.java b/app/src/main/java/com/example/FoodViz/Register.java similarity index 91% rename from app/src/main/java/com/example/myapplication/Register.java rename to app/src/main/java/com/example/FoodViz/Register.java index 1927270..f0945a8 100644 --- a/app/src/main/java/com/example/myapplication/Register.java +++ b/app/src/main/java/com/example/FoodViz/Register.java @@ -1,4 +1,4 @@ -package com.example.myapplication; +package com.example.FoodViz; import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.widget.AppCompatButton; @@ -6,16 +6,11 @@ import androidx.appcompat.widget.AppCompatTextView; import android.content.Intent; -import android.graphics.Color; import android.os.Build; import android.os.Bundle; -import android.text.SpannableString; -import android.text.Spanned; -import android.text.style.ForegroundColorSpan; import android.view.View; import android.view.WindowManager; import android.widget.EditText; -import android.widget.TextView; import android.widget.Toast; public class Register extends AppCompatActivity { diff --git a/app/src/test/java/com/example/myapplication/ExampleUnitTest.java b/app/src/test/java/com/example/FoodViz/ExampleUnitTest.java similarity index 90% rename from app/src/test/java/com/example/myapplication/ExampleUnitTest.java rename to app/src/test/java/com/example/FoodViz/ExampleUnitTest.java index bf43ee5..baf04d3 100644 --- a/app/src/test/java/com/example/myapplication/ExampleUnitTest.java +++ b/app/src/test/java/com/example/FoodViz/ExampleUnitTest.java @@ -1,4 +1,4 @@ -package com.example.myapplication; +package com.example.FoodViz; import org.junit.Test; From 45898cb88c7742801005bd626e5c44d1b91ceaca Mon Sep 17 00:00:00 2001 From: Proxieds Date: Sat, 18 Jan 2020 15:54:15 -0800 Subject: [PATCH 3/9] Added user class. --- app/src/main/AndroidManifest.xml | 4 +++ .../main/java/com/example/FoodViz/Login.java | 31 ++++++++++++++++--- .../java/com/example/FoodViz/Register.java | 3 +- .../main/java/com/example/FoodViz/Users.java | 27 ++++++++++++++++ 4 files changed, 58 insertions(+), 7 deletions(-) create mode 100644 app/src/main/java/com/example/FoodViz/Users.java diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index e62042e..744fa6d 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -24,6 +24,10 @@ android:name="com.example.FoodViz.Register" android:screenOrientation="portrait" android:configChanges="orientation|screenSize|keyboard" /> + diff --git a/app/src/main/java/com/example/FoodViz/Login.java b/app/src/main/java/com/example/FoodViz/Login.java index 9fdfbbb..134f7d6 100644 --- a/app/src/main/java/com/example/FoodViz/Login.java +++ b/app/src/main/java/com/example/FoodViz/Login.java @@ -1,18 +1,22 @@ package com.example.FoodViz; import androidx.appcompat.app.AppCompatActivity; +import androidx.appcompat.widget.AppCompatButton; +import androidx.appcompat.widget.AppCompatEditText; import androidx.appcompat.widget.AppCompatTextView; import android.content.Intent; import android.graphics.Color; import android.os.Build; import android.os.Bundle; +import android.text.Editable; import android.text.SpannableString; import android.text.Spanned; import android.text.style.ForegroundColorSpan; import android.view.View; import android.view.WindowManager; import android.widget.TextView; +import android.widget.Toast; public class Login extends AppCompatActivity { @@ -26,13 +30,31 @@ protected void onCreate(Bundle savedInstanceState) { WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); } TextView logo = findViewById(R.id.Logo); - String logoText = "HackED 2020"; + String logoText = "Food Viz"; SpannableString modifiedLogoText = new SpannableString(logoText); ForegroundColorSpan fcsRed = new ForegroundColorSpan(Color.RED); - modifiedLogoText.setSpan(fcsRed, 4, 6, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); + modifiedLogoText.setSpan(fcsRed, 5, 8, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); logo.setText(modifiedLogoText); + final AppCompatEditText usernameInfo = findViewById(R.id.username); + final Editable usernameParsed = usernameInfo.getText(); + final AppCompatEditText passwordInfo = findViewById(R.id.password); + final Editable pwParsed = passwordInfo.getText(); + final AppCompatButton loginBtn = findViewById(R.id.login_btn); + loginBtn.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + if (pwParsed.toString().length() == 0 || usernameParsed.toString().length() == 0) { + Toast.makeText(Login.this, "Error: Please add your information", Toast.LENGTH_SHORT).show(); + } else { + Toast.makeText(Login.this, "Successfully Logged In", Toast.LENGTH_SHORT).show(); + Intent mainActivityIntent = new Intent(Login.this, MainActivity.class); + startActivity(mainActivityIntent); + finish(); + } + } + }); final AppCompatTextView signUpLink = findViewById(R.id.signup_link); signUpLink.setOnClickListener(new View.OnClickListener() { @@ -43,6 +65,5 @@ public void onClick(View view) { finish(); } }); - - } -} + } + } \ No newline at end of file diff --git a/app/src/main/java/com/example/FoodViz/Register.java b/app/src/main/java/com/example/FoodViz/Register.java index f0945a8..edfe6ea 100644 --- a/app/src/main/java/com/example/FoodViz/Register.java +++ b/app/src/main/java/com/example/FoodViz/Register.java @@ -30,13 +30,12 @@ protected void onCreate(Bundle savedInstanceState) { final String pwParsed = passwordInfo.getText().toString(); final EditText confirmPW = findViewById(R.id.password_veri); final String pwVeriParsed = confirmPW.getText().toString(); - final boolean nonEmpty = (pwParsed != "" || usernameParsed != "" || pwVeriParsed != ""); final AppCompatButton registerBtn = findViewById(R.id.signup_btn); registerBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - if(nonEmpty && (pwParsed!= pwVeriParsed)) { + if(pwParsed.toString().isEmpty() || usernameParsed.toString().isEmpty() || pwVeriParsed.toString().isEmpty()) { Toast.makeText(Register.this, "Passwords Do not Match", Toast.LENGTH_SHORT).show(); } Toast.makeText(Register.this, usernameParsed, Toast.LENGTH_SHORT).show(); diff --git a/app/src/main/java/com/example/FoodViz/Users.java b/app/src/main/java/com/example/FoodViz/Users.java new file mode 100644 index 0000000..b8aa568 --- /dev/null +++ b/app/src/main/java/com/example/FoodViz/Users.java @@ -0,0 +1,27 @@ +package com.example.FoodViz; + +public class Users { + private String username; + private String password; + + public Users(String username, String password) { + this.username = username; + this.password = password; + } + + public String getUsername() { + return this.username; + } + + public String getPassword() { + return this.password; + } + + public void setUsername(String username) { + this.username = username; + } + + public void setPassword(String password) { + this.password = password; + } +} From 25c715295444abff402d37505f69855f9d53f5db Mon Sep 17 00:00:00 2001 From: Proxieds Date: Sat, 18 Jan 2020 16:23:11 -0800 Subject: [PATCH 4/9] Fixed up the User class and modifed Registration. --- .../java/com/example/FoodViz/Register.java | 19 ++++++++++++++----- .../example/FoodViz/{Users.java => User.java} | 4 ++-- 2 files changed, 16 insertions(+), 7 deletions(-) rename app/src/main/java/com/example/FoodViz/{Users.java => User.java} (86%) diff --git a/app/src/main/java/com/example/FoodViz/Register.java b/app/src/main/java/com/example/FoodViz/Register.java index edfe6ea..a2c04dd 100644 --- a/app/src/main/java/com/example/FoodViz/Register.java +++ b/app/src/main/java/com/example/FoodViz/Register.java @@ -8,6 +8,7 @@ import android.content.Intent; import android.os.Build; import android.os.Bundle; +import android.text.Editable; import android.view.View; import android.view.WindowManager; import android.widget.EditText; @@ -25,20 +26,28 @@ protected void onCreate(Bundle savedInstanceState) { } final AppCompatEditText usernameInfo = findViewById(R.id.username); - final String usernameParsed = usernameInfo.getText().toString(); + final Editable usernameParsed = usernameInfo.getText(); final AppCompatEditText passwordInfo = findViewById(R.id.password); - final String pwParsed = passwordInfo.getText().toString(); + final Editable pwParsed = passwordInfo.getText(); final EditText confirmPW = findViewById(R.id.password_veri); - final String pwVeriParsed = confirmPW.getText().toString(); + final Editable pwVeriParsed = confirmPW.getText(); final AppCompatButton registerBtn = findViewById(R.id.signup_btn); registerBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - if(pwParsed.toString().isEmpty() || usernameParsed.toString().isEmpty() || pwVeriParsed.toString().isEmpty()) { + if (pwParsed.toString().isEmpty() || usernameParsed.toString().isEmpty() || pwVeriParsed.toString().isEmpty()) { + Toast.makeText(Register.this, "Error: Please add information", Toast.LENGTH_SHORT).show(); + } else if (!(pwParsed.toString().equals(pwVeriParsed.toString()))) { Toast.makeText(Register.this, "Passwords Do not Match", Toast.LENGTH_SHORT).show(); } - Toast.makeText(Register.this, usernameParsed, Toast.LENGTH_SHORT).show(); + else { + User newUser = new User(usernameParsed.toString(), pwParsed.toString()); + Toast.makeText(Register.this, "Successfully Signed Up", Toast.LENGTH_SHORT).show(); + Intent mainActivityIntent = new Intent(Register.this, MainActivity.class); + startActivity(mainActivityIntent); + finish(); + } } }); diff --git a/app/src/main/java/com/example/FoodViz/Users.java b/app/src/main/java/com/example/FoodViz/User.java similarity index 86% rename from app/src/main/java/com/example/FoodViz/Users.java rename to app/src/main/java/com/example/FoodViz/User.java index b8aa568..934f2ae 100644 --- a/app/src/main/java/com/example/FoodViz/Users.java +++ b/app/src/main/java/com/example/FoodViz/User.java @@ -1,10 +1,10 @@ package com.example.FoodViz; -public class Users { +public class User { private String username; private String password; - public Users(String username, String password) { + public User(String username, String password) { this.username = username; this.password = password; } From 6af1cda2bd32e89a6b7d1f3df5ce043be78d8286 Mon Sep 17 00:00:00 2001 From: Proxieds Date: Sat, 18 Jan 2020 16:39:15 -0800 Subject: [PATCH 5/9] Added firebase google services files to database. --- app/build.gradle | 2 + app/google-services.json | 48 +++++++++++++++++++ .../java/com/example/FoodViz/Register.java | 4 ++ build.gradle | 3 +- google-services.json | 48 +++++++++++++++++++ 5 files changed, 104 insertions(+), 1 deletion(-) create mode 100644 app/google-services.json create mode 100644 google-services.json diff --git a/app/build.gradle b/app/build.gradle index 0888ef6..fbb4295 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,4 +1,5 @@ apply plugin: 'com.android.application' +apply plugin: 'com.google.gms.google-services' android { compileSdkVersion 29 @@ -23,6 +24,7 @@ dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'androidx.appcompat:appcompat:1.0.2' implementation 'androidx.constraintlayout:constraintlayout:1.1.3' + implementation 'com.google.firebase:firebase-auth:16.0.5' testImplementation 'junit:junit:4.12' androidTestImplementation 'androidx.test:runner:1.1.1' androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1' diff --git a/app/google-services.json b/app/google-services.json new file mode 100644 index 0000000..6f4d07f --- /dev/null +++ b/app/google-services.json @@ -0,0 +1,48 @@ +{ + "project_info": { + "project_number": "641119009055", + "firebase_url": "https://hack20-dac97.firebaseio.com", + "project_id": "hack20-dac97", + "storage_bucket": "hack20-dac97.appspot.com" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:641119009055:android:9cd3d2ff3ef93e6b27182a", + "android_client_info": { + "package_name": "com.example.myapplication" + } + }, + "oauth_client": [ + { + "client_id": "641119009055-8g20o5rkqvh4c8i8j0k8hubhvkms89d9.apps.googleusercontent.com", + "client_type": 1, + "android_info": { + "package_name": "com.example.myapplication", + "certificate_hash": "56e49f280a63ab8e10a27e1662414f6613d6167a" + } + }, + { + "client_id": "641119009055-47kafmm3mn7k2ovq8s0faku1pf4cmr94.apps.googleusercontent.com", + "client_type": 3 + } + ], + "api_key": [ + { + "current_key": "AIzaSyDlirD7P7DlOBMvzEPfB5kIVBQeX3kCRb4" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [ + { + "client_id": "641119009055-47kafmm3mn7k2ovq8s0faku1pf4cmr94.apps.googleusercontent.com", + "client_type": 3 + } + ] + } + } + } + ], + "configuration_version": "1" +} \ No newline at end of file diff --git a/app/src/main/java/com/example/FoodViz/Register.java b/app/src/main/java/com/example/FoodViz/Register.java index a2c04dd..45ef4d8 100644 --- a/app/src/main/java/com/example/FoodViz/Register.java +++ b/app/src/main/java/com/example/FoodViz/Register.java @@ -14,8 +14,11 @@ import android.widget.EditText; import android.widget.Toast; +import com.google.firebase.auth.FirebaseAuth; + public class Register extends AppCompatActivity { + private FirebaseAuth mAuth; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -25,6 +28,7 @@ protected void onCreate(Bundle savedInstanceState) { WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); } + mAuth = FirebaseAuth.getInstance(); final AppCompatEditText usernameInfo = findViewById(R.id.username); final Editable usernameParsed = usernameInfo.getText(); final AppCompatEditText passwordInfo = findViewById(R.id.password); diff --git a/build.gradle b/build.gradle index f5fb2cc..518dc28 100644 --- a/build.gradle +++ b/build.gradle @@ -8,7 +8,8 @@ buildscript { } dependencies { classpath 'com.android.tools.build:gradle:3.5.0' - + classpath 'com.google.gms:google-services:4.2.0' + // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } diff --git a/google-services.json b/google-services.json new file mode 100644 index 0000000..6f4d07f --- /dev/null +++ b/google-services.json @@ -0,0 +1,48 @@ +{ + "project_info": { + "project_number": "641119009055", + "firebase_url": "https://hack20-dac97.firebaseio.com", + "project_id": "hack20-dac97", + "storage_bucket": "hack20-dac97.appspot.com" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:641119009055:android:9cd3d2ff3ef93e6b27182a", + "android_client_info": { + "package_name": "com.example.myapplication" + } + }, + "oauth_client": [ + { + "client_id": "641119009055-8g20o5rkqvh4c8i8j0k8hubhvkms89d9.apps.googleusercontent.com", + "client_type": 1, + "android_info": { + "package_name": "com.example.myapplication", + "certificate_hash": "56e49f280a63ab8e10a27e1662414f6613d6167a" + } + }, + { + "client_id": "641119009055-47kafmm3mn7k2ovq8s0faku1pf4cmr94.apps.googleusercontent.com", + "client_type": 3 + } + ], + "api_key": [ + { + "current_key": "AIzaSyDlirD7P7DlOBMvzEPfB5kIVBQeX3kCRb4" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [ + { + "client_id": "641119009055-47kafmm3mn7k2ovq8s0faku1pf4cmr94.apps.googleusercontent.com", + "client_type": 3 + } + ] + } + } + } + ], + "configuration_version": "1" +} \ No newline at end of file From d50f9c7b44624234194c64d4faa45eda5c643421 Mon Sep 17 00:00:00 2001 From: Proxieds Date: Sat, 18 Jan 2020 16:54:47 -0800 Subject: [PATCH 6/9] Add Google Services json to the project. --- app/build.gradle | 4 +++- app/src/main/java/com/example/FoodViz/Login.java | 2 ++ app/src/main/java/com/example/FoodViz/Register.java | 11 ++++++----- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index fbb4295..c55cdff 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -24,9 +24,11 @@ dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'androidx.appcompat:appcompat:1.0.2' implementation 'androidx.constraintlayout:constraintlayout:1.1.3' - implementation 'com.google.firebase:firebase-auth:16.0.5' testImplementation 'junit:junit:4.12' androidTestImplementation 'androidx.test:runner:1.1.1' androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1' + implementation 'com.google.firebase:firebase-analytics:17.2.0' + implementation 'com.google.firebase:firebase-firestore:21.2.1' + implementation 'com.firebaseui:firebase-ui-firestore:6.1.0' implementation 'com.google.android.material:material:1.0.0' } diff --git a/app/src/main/java/com/example/FoodViz/Login.java b/app/src/main/java/com/example/FoodViz/Login.java index 134f7d6..334e31f 100644 --- a/app/src/main/java/com/example/FoodViz/Login.java +++ b/app/src/main/java/com/example/FoodViz/Login.java @@ -18,6 +18,8 @@ import android.widget.TextView; import android.widget.Toast; +import com.google.firebase.auth.FirebaseAuth; + public class Login extends AppCompatActivity { @Override diff --git a/app/src/main/java/com/example/FoodViz/Register.java b/app/src/main/java/com/example/FoodViz/Register.java index 45ef4d8..467d643 100644 --- a/app/src/main/java/com/example/FoodViz/Register.java +++ b/app/src/main/java/com/example/FoodViz/Register.java @@ -1,10 +1,5 @@ package com.example.FoodViz; -import androidx.appcompat.app.AppCompatActivity; -import androidx.appcompat.widget.AppCompatButton; -import androidx.appcompat.widget.AppCompatEditText; -import androidx.appcompat.widget.AppCompatTextView; - import android.content.Intent; import android.os.Build; import android.os.Bundle; @@ -14,11 +9,17 @@ import android.widget.EditText; import android.widget.Toast; +import androidx.appcompat.app.AppCompatActivity; +import androidx.appcompat.widget.AppCompatButton; +import androidx.appcompat.widget.AppCompatEditText; +import androidx.appcompat.widget.AppCompatTextView; + import com.google.firebase.auth.FirebaseAuth; public class Register extends AppCompatActivity { private FirebaseAuth mAuth; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); From 2bb2ac852eeaaac225881422eef45e0ac4de133e Mon Sep 17 00:00:00 2001 From: Proxieds Date: Sat, 18 Jan 2020 18:35:06 -0800 Subject: [PATCH 7/9] Trying to setup the firebase. --- app/build.gradle | 9 ++++- .../java/com/example/FoodViz/Register.java | 39 ++++++++++++++++++- build.gradle | 2 +- 3 files changed, 45 insertions(+), 5 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index fbb4295..cf3eadb 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -6,11 +6,12 @@ android { buildToolsVersion "29.0.2" defaultConfig { applicationId "com.example.myapplication" - minSdkVersion 15 + minSdkVersion 16 targetSdkVersion 29 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + multiDexEnabled true } buildTypes { release { @@ -24,9 +25,13 @@ dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'androidx.appcompat:appcompat:1.0.2' implementation 'androidx.constraintlayout:constraintlayout:1.1.3' - implementation 'com.google.firebase:firebase-auth:16.0.5' + implementation 'com.google.firebase:firebase-auth:19.2.0' testImplementation 'junit:junit:4.12' androidTestImplementation 'androidx.test:runner:1.1.1' androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1' implementation 'com.google.android.material:material:1.0.0' + implementation 'com.google.firebase:firebase-firestore:21.3.1' + implementation 'com.google.firebase:firebase-core:17.2.2' + implementation 'com.android.support:multidex:1.0.3' + implementation 'com.google.firebase:firebase-analytics:17.2.0' } diff --git a/app/src/main/java/com/example/FoodViz/Register.java b/app/src/main/java/com/example/FoodViz/Register.java index 45ef4d8..39d1062 100644 --- a/app/src/main/java/com/example/FoodViz/Register.java +++ b/app/src/main/java/com/example/FoodViz/Register.java @@ -1,5 +1,6 @@ package com.example.FoodViz; +import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.widget.AppCompatButton; import androidx.appcompat.widget.AppCompatEditText; @@ -9,26 +10,38 @@ import android.os.Build; import android.os.Bundle; import android.text.Editable; +import android.util.Log; import android.view.View; import android.view.WindowManager; import android.widget.EditText; import android.widget.Toast; +import com.google.android.gms.tasks.OnFailureListener; +import com.google.android.gms.tasks.OnSuccessListener; import com.google.firebase.auth.FirebaseAuth; +import com.google.firebase.auth.FirebaseUser; +import com.google.firebase.firestore.CollectionReference; +import com.google.firebase.firestore.FirebaseFirestore; -public class Register extends AppCompatActivity { +import java.util.HashMap; +import java.util.Map; +public class Register extends AppCompatActivity { private FirebaseAuth mAuth; @Override protected void onCreate(Bundle savedInstanceState) { + mAuth = FirebaseAuth.getInstance(); + final FirebaseFirestore db; super.onCreate(savedInstanceState); setContentView(R.layout.activity_register); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { getWindow().setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS, WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); } + // instance of database + db = FirebaseFirestore.getInstance(); - mAuth = FirebaseAuth.getInstance(); + final CollectionReference collectionReference = db.collection("Users"); final AppCompatEditText usernameInfo = findViewById(R.id.username); final Editable usernameParsed = usernameInfo.getText(); final AppCompatEditText passwordInfo = findViewById(R.id.password); @@ -47,6 +60,27 @@ public void onClick(View view) { } else { User newUser = new User(usernameParsed.toString(), pwParsed.toString()); + + HashMap user = new HashMap<>(); + user.put("username", newUser.getUsername()); + user.put("password", newUser.getPassword()); + + final CollectionReference collectionReference = db.collection("users"); + collectionReference.document(newUser.getUsername()) + .set(user) + .addOnSuccessListener(new OnSuccessListener() { + @Override + public void onSuccess(Void aVoid) { + Log.d("thisActivity", "DocumentSnapshot successfully written!"); + } + }) + .addOnFailureListener(new OnFailureListener() { + @Override + public void onFailure(@NonNull Exception e) { + Log.w("Failed to add user", "Error writing document", e); + } + }); + Toast.makeText(Register.this, "Successfully Signed Up", Toast.LENGTH_SHORT).show(); Intent mainActivityIntent = new Intent(Register.this, MainActivity.class); startActivity(mainActivityIntent); @@ -63,5 +97,6 @@ public void onClick (View view){ finish(); } }); + } } \ No newline at end of file diff --git a/build.gradle b/build.gradle index 518dc28..d6e3744 100644 --- a/build.gradle +++ b/build.gradle @@ -8,7 +8,7 @@ buildscript { } dependencies { classpath 'com.android.tools.build:gradle:3.5.0' - classpath 'com.google.gms:google-services:4.2.0' + classpath 'com.google.gms:google-services:4.3.2' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files From 0bb35c1514b0890bc9735f46868cbf703d9ddb6e Mon Sep 17 00:00:00 2001 From: Proxieds Date: Sat, 18 Jan 2020 21:04:59 -0800 Subject: [PATCH 8/9] b --- .../java/com/example/FoodViz/Register.java | 29 +++++++++++-------- 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/com/example/FoodViz/Register.java b/app/src/main/java/com/example/FoodViz/Register.java index 2011813..468c6e4 100644 --- a/app/src/main/java/com/example/FoodViz/Register.java +++ b/app/src/main/java/com/example/FoodViz/Register.java @@ -1,14 +1,10 @@ package com.example.FoodViz; -<<<<<<< HEAD import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.widget.AppCompatButton; import androidx.appcompat.widget.AppCompatEditText; import androidx.appcompat.widget.AppCompatTextView; - -======= ->>>>>>> VictorTest import android.content.Intent; import android.os.Build; import android.os.Bundle; @@ -19,20 +15,21 @@ import android.widget.EditText; import android.widget.Toast; -<<<<<<< HEAD +import com.google.android.gms.tasks.OnCompleteListener; import com.google.android.gms.tasks.OnFailureListener; import com.google.android.gms.tasks.OnSuccessListener; -======= import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.widget.AppCompatButton; import androidx.appcompat.widget.AppCompatEditText; import androidx.appcompat.widget.AppCompatTextView; ->>>>>>> VictorTest +import com.google.android.gms.tasks.Task; import com.google.firebase.auth.FirebaseAuth; import com.google.firebase.auth.FirebaseUser; import com.google.firebase.firestore.CollectionReference; import com.google.firebase.firestore.FirebaseFirestore; +import com.google.firebase.firestore.Query; +import com.google.firebase.firestore.QuerySnapshot; import java.util.HashMap; import java.util.Map; @@ -53,7 +50,7 @@ protected void onCreate(Bundle savedInstanceState) { // instance of database db = FirebaseFirestore.getInstance(); - final CollectionReference collectionReference = db.collection("Users"); + final CollectionReference collectionReference = db.collection("User"); final AppCompatEditText usernameInfo = findViewById(R.id.username); final Editable usernameParsed = usernameInfo.getText(); final AppCompatEditText passwordInfo = findViewById(R.id.password); @@ -65,19 +62,28 @@ protected void onCreate(Bundle savedInstanceState) { registerBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { + User newUser = new User(usernameParsed.toString(), pwParsed.toString()); if (pwParsed.toString().isEmpty() || usernameParsed.toString().isEmpty() || pwVeriParsed.toString().isEmpty()) { Toast.makeText(Register.this, "Error: Please add information", Toast.LENGTH_SHORT).show(); } else if (!(pwParsed.toString().equals(pwVeriParsed.toString()))) { Toast.makeText(Register.this, "Passwords Do not Match", Toast.LENGTH_SHORT).show(); } - else { - User newUser = new User(usernameParsed.toString(), pwParsed.toString()); + Query query = db.collection("users").whereEqualTo("username", newUser.getUsername()); + query.get().addOnCompleteListener(new OnCompleteListener() { + @Override + public void onComplete(@NonNull Task task) { + if (task.getResult() != null && task.getResult().size() > 0) { + Toast.makeText(Register.this, "Error: Username already exists", Toast.LENGTH_SHORT).show(); + } + } + })); + else { HashMap user = new HashMap<>(); user.put("username", newUser.getUsername()); user.put("password", newUser.getPassword()); - final CollectionReference collectionReference = db.collection("users"); + final CollectionReference collectionReference = db.collection("User"); collectionReference.document(newUser.getUsername()) .set(user) .addOnSuccessListener(new OnSuccessListener() { @@ -92,7 +98,6 @@ public void onFailure(@NonNull Exception e) { Log.w("Failed to add user", "Error writing document", e); } }); - Toast.makeText(Register.this, "Successfully Signed Up", Toast.LENGTH_SHORT).show(); Intent mainActivityIntent = new Intent(Register.this, MainActivity.class); startActivity(mainActivityIntent); From a0bedf6c7eb9d92d1da40e4c5fb23a4ccc75c698 Mon Sep 17 00:00:00 2001 From: Proxieds Date: Sat, 18 Jan 2020 21:20:05 -0800 Subject: [PATCH 9/9] new google services. --- app/google-services.json | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/app/google-services.json b/app/google-services.json index 6f4d07f..c056959 100644 --- a/app/google-services.json +++ b/app/google-services.json @@ -8,20 +8,12 @@ "client": [ { "client_info": { - "mobilesdk_app_id": "1:641119009055:android:9cd3d2ff3ef93e6b27182a", + "mobilesdk_app_id": "1:641119009055:android:a4220326d9fe56d127182a", "android_client_info": { "package_name": "com.example.myapplication" } }, "oauth_client": [ - { - "client_id": "641119009055-8g20o5rkqvh4c8i8j0k8hubhvkms89d9.apps.googleusercontent.com", - "client_type": 1, - "android_info": { - "package_name": "com.example.myapplication", - "certificate_hash": "56e49f280a63ab8e10a27e1662414f6613d6167a" - } - }, { "client_id": "641119009055-47kafmm3mn7k2ovq8s0faku1pf4cmr94.apps.googleusercontent.com", "client_type": 3