Skip to content

Commit

Permalink
working Login system with firbase
Browse files Browse the repository at this point in the history
  • Loading branch information
shyamkumaryadav committed Nov 29, 2020
1 parent 1b135fb commit cada7b7
Show file tree
Hide file tree
Showing 22 changed files with 953 additions and 4 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,4 @@
.externalNativeBuild
.cxx
local.properties
app/google-services.json
1 change: 1 addition & 0 deletions .idea/gradle.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions app/build.gradle
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
plugins {
id 'com.android.application'
id 'kotlin-android'
id 'kotlin-android-extensions'
id 'com.google.gms.google-services'
}

android {
Expand Down Expand Up @@ -39,6 +41,7 @@ dependencies {
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'com.google.android.material:material:1.2.1'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
implementation 'com.google.firebase:firebase-auth:20.0.1'
testImplementation 'junit:junit:4.+'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
Expand Down
40 changes: 40 additions & 0 deletions app/google-services.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
{
"project_info": {
"project_number": "446879286455",
"firebase_url": "https://mob-mobile.firebaseio.com",
"project_id": "mob-mobile",
"storage_bucket": "mob-mobile.appspot.com"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:446879286455:android:eee66dd136dc40f6eb7932",
"android_client_info": {
"package_name": "tk.shyamkumaryadav.mob"
}
},
"oauth_client": [
{
"client_id": "446879286455-72k1t9b5n6cehkjq817hju5sg95j6o3v.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "AIzaSyCk8rdwdx_DM0mDyeUy42PfQ9JIhqmx3f4"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": [
{
"client_id": "446879286455-72k1t9b5n6cehkjq817hju5sg95j6o3v.apps.googleusercontent.com",
"client_type": 3
}
]
}
}
}
],
"configuration_version": "1"
}
6 changes: 6 additions & 0 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,19 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="tk.shyamkumaryadav.mob">

<uses-permission android:name="android.permission.INTERNET" />

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.Mob">
<activity android:name=".ForgetPasswor"></activity>
<activity android:name=".SignUpActivity" />
<activity android:name=".MobActivity" />
<activity android:name=".LoginActivity" />
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
Expand Down
11 changes: 11 additions & 0 deletions app/src/main/java/tk/shyamkumaryadav/mob/ForgetPasswor.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package tk.shyamkumaryadav.mob

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle

class ForgetPasswor : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_forget_passwor)
}
}
56 changes: 56 additions & 0 deletions app/src/main/java/tk/shyamkumaryadav/mob/LoginActivity.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
package tk.shyamkumaryadav.mob

import android.content.Intent
import android.os.Bundle
import android.util.Log
import android.util.Patterns
import android.view.View
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import com.google.firebase.auth.FirebaseAuth
import kotlinx.android.synthetic.main.activity_login.*
import kotlin.math.log


class LoginActivity : AppCompatActivity() {

lateinit var fireAuth: FirebaseAuth
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_login)
fireAuth = FirebaseAuth.getInstance()
}

fun btnLogin(view: View) {
textFieldEmail.error = null
val email = tfEmail.text.toString()
val password = tfPassword.text.toString()
when {
email.isEmpty() -> {
textFieldEmail.error = "Required"
}
! Patterns.EMAIL_ADDRESS.matcher(email).matches() -> {
textFieldEmail.error = "Not Valid Email !"
}
!(email.isEmpty() || password.isEmpty()) -> {
fireAuth.signInWithEmailAndPassword(email, password).addOnCompleteListener(this) {
if (it.isSuccessful){
val intent = Intent(this, MobActivity::class.java)
startActivity(intent)
finish()
}else{
Toast.makeText(this, "Pleas enter email and password vaild", Toast.LENGTH_LONG).show()
}
}
}else -> {
Toast.makeText(this, "password required", Toast.LENGTH_LONG).show()
}
}
}

override fun onStart() {
super.onStart()
var currentUser = fireAuth.currentUser

}
}
26 changes: 26 additions & 0 deletions app/src/main/java/tk/shyamkumaryadav/mob/MainActivity.kt
Original file line number Diff line number Diff line change
@@ -1,11 +1,37 @@
package tk.shyamkumaryadav.mob

import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import com.google.firebase.auth.FirebaseAuth

class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val fireAuth = FirebaseAuth.getInstance()
if (fireAuth.currentUser != null){
updateUI("IS_LOGIN")
}
}

fun btnGetLogin(view: View) {
updateUI("LOGIN")
}

fun btnGetSignUp(view: View) {
updateUI("SIGN_UP")
}

private fun updateUI(name:String){
val intent = when(name){
"LOGIN" -> Intent(this, LoginActivity::class.java)
"SIGN_UP" -> Intent(this, SignUpActivity::class.java)
"IS_LOGIN" -> Intent(this, MobActivity::class.java)
else -> throw Exception("404 Error")
}
startActivity(intent)
finish()
}
}
27 changes: 27 additions & 0 deletions app/src/main/java/tk/shyamkumaryadav/mob/MobActivity.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package tk.shyamkumaryadav.mob

import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import android.widget.Toast
import com.google.firebase.auth.FirebaseAuth
import kotlinx.android.synthetic.main.activity_mob.*

class MobActivity : AppCompatActivity() {
lateinit var fireAuth: FirebaseAuth
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_mob)
val fireAuth = FirebaseAuth.getInstance()
textUserEmail.text = fireAuth.currentUser?.email ?: "NO User Email"
}

fun btnLogout(view: View) {
// logout and redirect to LoginActivity
FirebaseAuth.getInstance().signOut()
var intent = Intent(this, LoginActivity::class.java)
startActivity(intent)
finish()
}
}
14 changes: 14 additions & 0 deletions app/src/main/java/tk/shyamkumaryadav/mob/SignUpActivity.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package tk.shyamkumaryadav.mob

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View

class SignUpActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_sign_up)
}

fun btnSignUp(view: View) {}
}
10 changes: 10 additions & 0 deletions app/src/main/res/drawable/ic_baseline_email_24.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M20,4L4,4c-1.1,0 -1.99,0.9 -1.99,2L2,18c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2zM20,8l-8,5 -8,-5L4,6l8,5 8,-5v2z"/>
</vector>
10 changes: 10 additions & 0 deletions app/src/main/res/drawable/ic_baseline_lock_24.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M18,8h-1L17,6c0,-2.76 -2.24,-5 -5,-5S7,3.24 7,6v2L6,8c-1.1,0 -2,0.9 -2,2v10c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2L20,10c0,-1.1 -0.9,-2 -2,-2zM12,17c-1.1,0 -2,-0.9 -2,-2s0.9,-2 2,-2 2,0.9 2,2 -0.9,2 -2,2zM15.1,8L8.9,8L8.9,6c0,-1.71 1.39,-3.1 3.1,-3.1 1.71,0 3.1,1.39 3.1,3.1v2z"/>
</vector>
Loading

0 comments on commit cada7b7

Please sign in to comment.