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