From 1e515bd7190c97a91f079c281558d49d3f678035 Mon Sep 17 00:00:00 2001 From: iammaxx <spjn1234@gmail.com> Date: Mon, 17 Apr 2017 12:52:26 +0530 Subject: [PATCH] first --- .idea/vcs.xml | 6 ++ app/build.gradle | 5 +- app/src/main/AndroidManifest.xml | 3 +- .../main/java/com/digitalar/LoginScreen.java | 78 +++++++++++++++-- .../main/java/com/digitalar/SignupAct.java | 86 +++++++++++++++++++ app/src/main/res/layout/activity_signup.xml | 73 ++++++++++++++++ app/src/main/res/values/strings.xml | 18 ++-- build.gradle | 1 + 8 files changed, 252 insertions(+), 18 deletions(-) create mode 100644 .idea/vcs.xml create mode 100644 app/src/main/java/com/digitalar/SignupAct.java create mode 100644 app/src/main/res/layout/activity_signup.xml diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="VcsDirectoryMappings"> + <mapping directory="$PROJECT_DIR$" vcs="Git" /> + </component> +</project> \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index 026adc5..6d9fd99 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -28,6 +28,9 @@ dependencies { }) compile 'com.android.support:appcompat-v7:25.1.0' compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha7' - testCompile 'junit:junit:4.12' compile 'com.android.support:design:25.1.0' + compile 'com.google.firebase:firebase-auth:10.0.1' + compile 'com.google.firebase:firebase-database:10.0.1' + testCompile 'junit:junit:4.12' } +apply plugin: 'com.google.gms.google-services' diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index cffeada..d7dd0f5 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.digitalar"> - + <uses-permission android:name="android.permission.INTERNET"/> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" @@ -16,6 +16,7 @@ <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> + <activity android:name=".SignupAct"></activity> </application> </manifest> \ No newline at end of file diff --git a/app/src/main/java/com/digitalar/LoginScreen.java b/app/src/main/java/com/digitalar/LoginScreen.java index 7b2e929..c31311b 100644 --- a/app/src/main/java/com/digitalar/LoginScreen.java +++ b/app/src/main/java/com/digitalar/LoginScreen.java @@ -1,31 +1,95 @@ package com.digitalar; +import android.app.ProgressDialog; import android.content.Intent; +import android.support.annotation.NonNull; import android.support.design.widget.TextInputEditText; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; +import android.util.Log; import android.view.View; import android.widget.EditText; +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; +import com.google.firebase.auth.FirebaseUser; public class LoginScreen extends AppCompatActivity { EditText Username; EditText Password; + ProgressDialog p1; + public static final String TAG="TAG"; + private FirebaseAuth mAuth; + private FirebaseAuth.AuthStateListener mAuthListener; + @Override + public void onStart() { + super.onStart(); + mAuth.addAuthStateListener(mAuthListener); + } + @Override + public void onStop() { + super.onStop(); + if (mAuthListener != null) { + mAuth.removeAuthStateListener(mAuthListener); + } + } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login_screen); Username = (EditText) findViewById(R.id.email); Password = (EditText) findViewById(R.id.password); + p1=new ProgressDialog(this); + mAuth = FirebaseAuth.getInstance(); + mAuthListener = new FirebaseAuth.AuthStateListener() { + @Override + public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) { + FirebaseUser user = firebaseAuth.getCurrentUser(); + if (user != null) { + // User is signed in + Log.d(TAG, "onAuthStateChanged:signed_in:" + user.getUid()); + } else { + // User is signed out + Log.d(TAG, "onAuthStateChanged:signed_out"); + } + // ... + } + }; } - public void get(View view) - { - if(Username.getText().toString().length()==0) - Username.setError("Enter The Username"); - if(Password.getText().toString().length()==0) - Password.setError("Enter The Password"); - // Intent in = new Intent(this,) + public void get(View view) { + String user = Username.getText().toString(); + String pass = Password.getText().toString(); + if (user.isEmpty() || pass.isEmpty()) { + Toast.makeText(getApplicationContext(), "enter ", Toast.LENGTH_SHORT).show(); + } else + { + p1.setMessage("Logging in..."); + p1.show(); + mAuth.signInWithEmailAndPassword(user,pass).addOnCompleteListener(this, + new OnCompleteListener<AuthResult>() { + @Override + public void onComplete(@NonNull Task<AuthResult> task) { + if(!task.isSuccessful()) { + p1.dismiss(); + Toast.makeText(LoginScreen.this, task.getException().getMessage().toString(), Toast.LENGTH_SHORT).show(); + } + else + { + p1.dismiss(); + Toast.makeText(LoginScreen.this, "Login Successful", Toast.LENGTH_SHORT).show(); + //Start next activity + } + } + } + ); + + + } } } diff --git a/app/src/main/java/com/digitalar/SignupAct.java b/app/src/main/java/com/digitalar/SignupAct.java new file mode 100644 index 0000000..fffe454 --- /dev/null +++ b/app/src/main/java/com/digitalar/SignupAct.java @@ -0,0 +1,86 @@ +package com.digitalar; + +import android.app.ProgressDialog; +import android.support.annotation.NonNull; +import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; +import android.view.View; +import android.widget.EditText; +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; +import com.google.firebase.database.DatabaseReference; +import com.google.firebase.database.FirebaseDatabase; + +public class SignupAct extends AppCompatActivity { + EditText e1; + EditText e2; + EditText e3; + EditText e4; + EditText e5; + + private String UID; + FirebaseAuth mAuth; + DatabaseReference mDatabase; + ProgressDialog p1; + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_signup); + mAuth=FirebaseAuth.getInstance(); + mDatabase=FirebaseDatabase.getInstance().getReference(); + p1=new ProgressDialog(this); + e1=(EditText) findViewById(R.id.Name); + e2=(EditText)findViewById(R.id.UserName); + e3=(EditText)findViewById(R.id.Mobile1); + e4=(EditText)findViewById(R.id.pass); + e5=(EditText)findViewById(R.id.Cpass); + + + } + public void put(View view) + { + final String mobile=e3.getText().toString(); + final String Name=e1.getText().toString(); + final String Email=e2.getText().toString(); + final String Pass=e4.getText().toString(); + final String Cpass=e5.getText().toString(); + + if(mobile.isEmpty()||Name.isEmpty()||Email.isEmpty()||Pass.isEmpty()||Cpass.isEmpty()) + { + Toast.makeText(this, "Enter Details", Toast.LENGTH_SHORT).show(); + } + else + { + if(Pass.equals(Cpass)) + { + p1.setMessage("Signing in ..."); + p1.show(); + mAuth.createUserWithEmailAndPassword(Email,Pass).addOnCompleteListener(this, new OnCompleteListener<AuthResult>() { + @Override + public void onComplete(@NonNull Task<AuthResult> task) { + if(task.isSuccessful()) + { + UID=mAuth.getCurrentUser().getUid(); + mDatabase.child("users").child(UID).child("Name").setValue(Name); + mDatabase.child("users").child(UID).child("mobile").setValue(mobile); + p1.dismiss(); + Toast.makeText(SignupAct.this, "Registration Sucessful", Toast.LENGTH_SHORT).show(); + finish(); + } + } + }); + + } + else + { + Toast.makeText(this, "Pass doesnt match", Toast.LENGTH_SHORT).show(); + + } + } + } + +} diff --git a/app/src/main/res/layout/activity_signup.xml b/app/src/main/res/layout/activity_signup.xml new file mode 100644 index 0000000..5040754 --- /dev/null +++ b/app/src/main/res/layout/activity_signup.xml @@ -0,0 +1,73 @@ +<?xml version="1.0" encoding="utf-8"?> +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="match_parent" + tools:context="com.digitalar.SignupAct"> + + <EditText + android:id="@+id/Name" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginLeft="16dp" + android:layout_alignParentStart="true" + android:layout_alignParentTop="true" + android:ems="10" + android:inputType="textPersonName" + android:hint="Name" + /> + <EditText + android:id="@+id/UserName" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_below="@+id/Name" + android:layout_marginLeft="16dp" + android:ems="10" + android:inputType="textPersonName" + android:hint="User Name"/> + + <EditText + android:id="@+id/Mobile1" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginLeft="16dp" + android:ems="10" + android:inputType="number" + android:hint="Mobile" + android:layout_below="@+id/UserName" + /> + + <EditText + android:id="@+id/pass" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginLeft="16dp" + android:ems="10" + android:hint="password" + android:inputType="textPassword" + android:layout_below="@id/Mobile1" + /> + + + <EditText + android:id="@+id/Cpass" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginLeft="16dp" + android:ems="10" + android:hint="Confirm Pass" + android:inputType="textPassword" + android:layout_below="@+id/pass" + /> + + <Button + android:id="@+id/button2" + android:layout_width="wrap_content" + android:onClick="put" + android:layout_height="wrap_content" + android:text="Button" + android:layout_below="@+id/Cpass" + + /> +</RelativeLayout> diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 09063e7..a42f8bc 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,15 +1,15 @@ <resources> <string name="app_name">Digital AR</string> <!-- Strings related to login --> -<string name="prompt_email">Email</string> -<string name="prompt_password">Password (optional)</string> -<string name="action_sign_in">Sign in or register</string> -<string name="action_sign_in_short">Sign in</string> -<string name="error_invalid_email">This email address is invalid</string> -<string name="error_invalid_password">This password is too short</string> -<string name="error_incorrect_password">This password is incorrect</string> -<string name="error_field_required">This field is required</string> -<string name="permission_rationale">"Contacts permissions are needed for providing email + <string name="prompt_email">Email</string> + <string name="prompt_password">Password (optional)</string> + <string name="action_sign_in">Sign in or register</string> + <string name="action_sign_in_short">Sign in</string> + <string name="error_invalid_email">This email address is invalid</string> + <string name="error_invalid_password">This password is too short</string> + <string name="error_incorrect_password">This password is incorrect</string> + <string name="error_field_required">This field is required</string> + <string name="permission_rationale">"Contacts permissions are needed for providing email completions." </string> </resources> diff --git a/build.gradle b/build.gradle index b78a0b8..a0acab9 100644 --- a/build.gradle +++ b/build.gradle @@ -6,6 +6,7 @@ buildscript { } dependencies { classpath 'com.android.tools.build:gradle:2.3.1' + classpath 'com.google.gms:google-services:3.0.0' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files -- GitLab