From c5357ac02f9573de581ef5e8cd9f5c8bf720e6eb Mon Sep 17 00:00:00 2001
From: melvinabraham <melvin.abraham1996@gmail.com>
Date: Sun, 19 Feb 2017 00:45:42 +0530
Subject: [PATCH] Login Activity Ready

---
 app/build.gradle                              |  5 +-
 app/src/main/AndroidManifest.xml              |  4 +
 .../com/mapps/seproject/LoginActivity.java    | 97 +++++++++++++++++++
 .../com/mapps/seproject/RegisterActivity.java | 13 +++
 .../com/mapps/seproject/UserActivity.java     | 13 +++
 app/src/main/res/layout/activity_register.xml | 13 +++
 app/src/main/res/layout/activity_user.xml     | 13 +++
 7 files changed, 157 insertions(+), 1 deletion(-)
 create mode 100644 app/src/main/java/com/mapps/seproject/RegisterActivity.java
 create mode 100644 app/src/main/java/com/mapps/seproject/UserActivity.java
 create mode 100644 app/src/main/res/layout/activity_register.xml
 create mode 100644 app/src/main/res/layout/activity_user.xml

diff --git a/app/build.gradle b/app/build.gradle
index 56e6ffb..60c345c 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 67fd0b9..002195d 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 205970d..4ccc960 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 0000000..0e97f45
--- /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 0000000..96a61b1
--- /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 0000000..3ae725c
--- /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 0000000..2bddd31
--- /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>
-- 
GitLab