diff --git a/app/build.gradle b/app/build.gradle index 56e6ffb346f1a0d459acc21bb59226a184b2806d..60c345c1204fd5e7d836a7881710ba6fdb8d395b 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -26,6 +26,9 @@ dependencies { }) compile 'com.android.support:appcompat-v7:24.2.1' testCompile 'junit:junit:4.12' - apply plugin: 'com.google.gms.google-services' + compile 'com.google.firebase:firebase-auth:9.2.0' + } + +apply plugin: 'com.google.gms.google-services' \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 67fd0b98fea9b88e33a780b714fc488801844fc6..002195da4b0b7ee1080b33caec7bacf904b02b3c 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -2,6 +2,8 @@ <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.mapps.seproject"> + <uses-permission android:name="android.permission.INTERNET"/> + <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" @@ -15,6 +17,8 @@ <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> + <activity android:name=".RegisterActivity" /> + <activity android:name=".UserActivity"></activity> </application> </manifest> \ No newline at end of file diff --git a/app/src/main/java/com/mapps/seproject/LoginActivity.java b/app/src/main/java/com/mapps/seproject/LoginActivity.java index 205970d601de3e0e0d79815f966fa642dbd477d5..4ccc960a5eb92c91d6c360c3f6c617057340c19a 100644 --- a/app/src/main/java/com/mapps/seproject/LoginActivity.java +++ b/app/src/main/java/com/mapps/seproject/LoginActivity.java @@ -1,11 +1,21 @@ package com.mapps.seproject; +import android.app.ProgressDialog; +import android.content.Intent; +import android.support.annotation.NonNull; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; +import android.text.TextUtils; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; +import android.widget.Toast; + +import com.google.android.gms.tasks.OnCompleteListener; +import com.google.android.gms.tasks.Task; +import com.google.firebase.auth.AuthResult; +import com.google.firebase.auth.FirebaseAuth; public class LoginActivity extends AppCompatActivity implements View.OnClickListener{ @@ -13,6 +23,8 @@ public class LoginActivity extends AppCompatActivity implements View.OnClickLis EditText password; Button b; TextView registerText; + ProgressDialog progressDialog; + FirebaseAuth firebaseAuth; @@ -26,8 +38,16 @@ public class LoginActivity extends AppCompatActivity implements View.OnClickLis password= (EditText) findViewById(R.id.etLoginPassword); b= (Button) findViewById(R.id.bLogin); registerText= (TextView) findViewById(R.id.textRegister); + progressDialog = new ProgressDialog(this); + firebaseAuth = FirebaseAuth.getInstance(); + if(firebaseAuth.getCurrentUser() != null) { + + finish(); + startActivity(new Intent(getApplicationContext(),UserActivity.class)); // If already logged in + + } b.setOnClickListener(this); // Onclick registerText.setOnClickListener(this); @@ -39,10 +59,87 @@ public class LoginActivity extends AppCompatActivity implements View.OnClickLis } + + public void LoginUser() { // Check the login credentials + + + String mail = email.getText().toString().trim(); + String pass = password.getText().toString().trim(); + + if(TextUtils.isEmpty(mail)) { + // email empty + + Toast.makeText(this, "Enter E-Mail", Toast.LENGTH_SHORT).show(); + return; + } + if(TextUtils.isEmpty(pass)) { + // password empty + Toast.makeText(this, "Enter Password", Toast.LENGTH_SHORT).show(); + return; + + } + + progressDialog.setMessage("Logging IN"); + progressDialog.show(); + + firebaseAuth.signInWithEmailAndPassword(mail,pass) + .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() { + @Override + public void onComplete(@NonNull Task<AuthResult> task) { + + if(task.isSuccessful()) { + + // Successful Log In + finish(); + startActivity(new Intent(getApplicationContext(),UserActivity.class)); + progressDialog.hide(); + + + } + + else { + + + progressDialog.hide(); // Unsuccessful Log In + Toast.makeText(LoginActivity.this, "Incorrect Details", Toast.LENGTH_SHORT).show(); + return; + + + } + + + + + } + }); + + } + + + + + @Override public void onClick(View v) { + if(v == b) // Verify Login Credentials + { + + LoginUser(); + + } + + if(v == registerText){ // Register New User + + finish(); + startActivity(new Intent(this,RegisterActivity.class)); + + } + + + + } } diff --git a/app/src/main/java/com/mapps/seproject/RegisterActivity.java b/app/src/main/java/com/mapps/seproject/RegisterActivity.java new file mode 100644 index 0000000000000000000000000000000000000000..0e97f456d97d18811fda1cf785a872ef317af8a4 --- /dev/null +++ b/app/src/main/java/com/mapps/seproject/RegisterActivity.java @@ -0,0 +1,13 @@ +package com.mapps.seproject; + +import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; + +public class RegisterActivity extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_register); + } +} diff --git a/app/src/main/java/com/mapps/seproject/UserActivity.java b/app/src/main/java/com/mapps/seproject/UserActivity.java new file mode 100644 index 0000000000000000000000000000000000000000..96a61b1a934e3aecf8997ce18ade1fc0f73a45bf --- /dev/null +++ b/app/src/main/java/com/mapps/seproject/UserActivity.java @@ -0,0 +1,13 @@ +package com.mapps.seproject; + +import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; + +public class UserActivity extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_user); + } +} diff --git a/app/src/main/res/layout/activity_register.xml b/app/src/main/res/layout/activity_register.xml new file mode 100644 index 0000000000000000000000000000000000000000..3ae725cdcbe01f8f31e22c147015ba480e2e6847 --- /dev/null +++ b/app/src/main/res/layout/activity_register.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" + android:id="@+id/activity_register" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:paddingBottom="@dimen/activity_vertical_margin" + android:paddingLeft="@dimen/activity_horizontal_margin" + android:paddingRight="@dimen/activity_horizontal_margin" + android:paddingTop="@dimen/activity_vertical_margin" + tools:context="com.mapps.seproject.RegisterActivity"> + +</RelativeLayout> diff --git a/app/src/main/res/layout/activity_user.xml b/app/src/main/res/layout/activity_user.xml new file mode 100644 index 0000000000000000000000000000000000000000..2bddd316e029dced2a159df0db38d48744321761 --- /dev/null +++ b/app/src/main/res/layout/activity_user.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" + android:id="@+id/activity_user" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:paddingBottom="@dimen/activity_vertical_margin" + android:paddingLeft="@dimen/activity_horizontal_margin" + android:paddingRight="@dimen/activity_horizontal_margin" + android:paddingTop="@dimen/activity_vertical_margin" + tools:context="com.mapps.seproject.UserActivity"> + +</RelativeLayout>