diff --git a/.gitignore b/.gitignore
index 5edb4ee..a4a200a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,10 +1,68 @@
+# Built application files
+*.apk
+*.ap_
+
+# Files for the ART/Dalvik VM
+*.dex
+
+# Java class files
+*.class
+
+# Generated files
+bin/
+gen/
+out/
+
+# Gradle files
+.gradle/
+build/
+
+# Local configuration file (sdk path, etc)
+local.properties
+
+# Proguard folder generated by Eclipse
+proguard/
+
+# Log Files
+*.log
+
+# Android Studio Navigation editor temp files
+.navigation/
+
+# Android Studio captures folder
+captures/
+
+# IntelliJ
*.iml
-.gradle
-/local.properties
-/.idea/libraries
-/.idea/modules.xml
-/.idea/workspace.xml
-.DS_Store
-/build
-/captures
+.idea/workspace.xml
+.idea/tasks.xml
+.idea/gradle.xml
+.idea/assetWizardSettings.xml
+.idea/dictionaries
+.idea/libraries
+.idea/caches
+
+# Keystore files
+# Uncomment the following line if you do not want to check your keystore files in.
+#*.jks
+
+# External native build folder generated in Android Studio 2.2 and later
.externalNativeBuild
+
+# Google Services (e.g. APIs or Firebase)
+google-services.json
+
+# Freeline
+freeline.py
+freeline/
+freeline_project_description.json
+
+# fastlane
+fastlane/report.xml
+fastlane/Preview.html
+fastlane/screenshots
+fastlane/test_output
+fastlane/readme.md
+
+
+/src/main/java/com/uk/espresso/APIKeys.java
diff --git a/.idea/assetWizardSettings.xml b/.idea/assetWizardSettings.xml
deleted file mode 100644
index 52311d0..0000000
--- a/.idea/assetWizardSettings.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser
index da09a94..4b91b1d 100644
Binary files a/.idea/caches/build_file_checksums.ser and b/.idea/caches/build_file_checksums.ser differ
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 99202cc..1dc7455 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -5,30 +5,31 @@
-
-
-
-
+
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index ceb3222..6de4974 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -1,4 +1,5 @@
apply plugin: 'com.android.application'
+apply plugin: 'com.google.gms.google-services'
android {
compileSdkVersion 28
@@ -8,7 +9,7 @@ android {
targetSdkVersion 28
versionCode 1
versionName "1.0"
- testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
+ testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
@@ -21,11 +22,13 @@ android {
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
//noinspection GradleCompatible
- implementation 'com.android.support:appcompat-v7:27.1.1'
- implementation 'com.android.support.constraint:constraint-layout:1.1.1'
+ implementation 'androidx.appcompat:appcompat:1.1.0-rc01'
+ implementation 'androidx.constraintlayout:constraintlayout:2.0.0-beta2'
//noinspection GradleCompatible
- implementation 'com.android.support:design:27.1.1'
+ implementation 'com.google.android.material:material:1.1.0-alpha07'
testImplementation 'junit:junit:4.12'
- androidTestImplementation 'com.android.support.test:runner:1.0.2'
- androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
+ androidTestImplementation 'androidx.test:runner:1.3.0-alpha01'
+ androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0-alpha01'
+ implementation 'com.google.firebase:firebase-core:17.0.0'
+ implementation 'com.google.firebase:firebase-auth:18.0.0'
}
diff --git a/app/src/main/java/com/shashank/platform/phonenumberverification/Main2Activity.java b/app/src/main/java/com/shashank/platform/phonenumberverification/Main2Activity.java
index 08a5c4f..3122328 100644
--- a/app/src/main/java/com/shashank/platform/phonenumberverification/Main2Activity.java
+++ b/app/src/main/java/com/shashank/platform/phonenumberverification/Main2Activity.java
@@ -1,141 +1,380 @@
package com.shashank.platform.phonenumberverification;
-import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
-import android.support.v7.widget.Toolbar;
import android.text.Editable;
import android.text.Html;
+import android.text.TextUtils;
import android.text.TextWatcher;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
+import android.widget.Button;
import android.widget.EditText;
+import android.widget.ProgressBar;
import android.widget.TextView;
+import android.widget.Toast;
-public class Main2Activity extends AppCompatActivity {
-
- TextView otp;
- EditText otp_box_1,otp_box_2,otp_box_3,otp_box_4,otp_box_5,otp_box_6;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- requestWindowFeature(Window.FEATURE_NO_TITLE);
- getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
- setContentView(R.layout.activity_main2);
- Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
- setSupportActionBar(toolbar);
- toolbar.setNavigationIcon(R.drawable.ic_arrow_back_black_24dp);
- toolbar.setNavigationOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- finish();
- }
- });
- otp = findViewById(R.id.otp);
- otp_box_1 = findViewById(R.id.otp_box_1);
- otp_box_2 = findViewById(R.id.otp_box_2);
- otp_box_3 = findViewById(R.id.otp_box_3);
- otp_box_4 = findViewById(R.id.otp_box_4);
- otp_box_5 = findViewById(R.id.otp_box_5);
- otp_box_6 = findViewById(R.id.otp_box_6);
- otp.setText(Html.fromHtml(getResources().getString(R.string.otp1)));
- otp_box_1.addTextChangedListener(new TextWatcher() {
- @Override
- public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
-
- }
-
- @Override
- public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
-
- }
-
- @Override
- public void afterTextChanged(Editable editable) {
-
- if(editable!=null){
- if(editable.length()==1)
- otp_box_2.requestFocus();
- }
- }
- });
- otp_box_2.addTextChangedListener(new TextWatcher() {
- @Override
- public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
-
- }
-
- @Override
- public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
-
- }
-
- @Override
- public void afterTextChanged(Editable editable) {
- if(editable!=null){
- if(editable.length()==1)
- otp_box_3.requestFocus();
- }
- }
- });
- otp_box_3.addTextChangedListener(new TextWatcher() {
- @Override
- public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
+import com.google.android.gms.tasks.OnCompleteListener;
+import com.google.android.gms.tasks.Task;
+import com.google.android.gms.tasks.TaskExecutors;
+import com.google.firebase.FirebaseException;
+import com.google.firebase.auth.AuthResult;
+import com.google.firebase.auth.FirebaseAuth;
+import com.google.firebase.auth.PhoneAuthCredential;
+import com.google.firebase.auth.PhoneAuthProvider;
- }
+import java.util.concurrent.TimeUnit;
- @Override
- public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
+import androidx.annotation.NonNull;
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.appcompat.widget.Toolbar;
- }
-
- @Override
- public void afterTextChanged(Editable editable) {
- if(editable!=null){
- if(editable.length()==1)
- otp_box_4.requestFocus();
- }
- }
- });
- otp_box_4.addTextChangedListener(new TextWatcher() {
- @Override
- public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
-
- }
-
- @Override
- public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
-
- }
-
- @Override
- public void afterTextChanged(Editable editable) {
- if(editable!=null){
- if(editable.length()==1)
- otp_box_5.requestFocus();
- }
- }
- });
- otp_box_5.addTextChangedListener(new TextWatcher() {
- @Override
- public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
-
- }
-
- @Override
- public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
-
- }
-
- @Override
- public void afterTextChanged(Editable editable) {
- if(editable!=null){
- if(editable.length()==1)
- otp_box_6.requestFocus();
- }
- }
- });
-
- }
+public class Main2Activity extends AppCompatActivity {
+
+
+ private String verificationId;
+
+ private TextView tvOtpInstruction;
+ private TextView tvMobileNumber;
+
+ private EditText etOtpBox1;
+ private EditText etOtpBox2;
+ private EditText etOtpBox3;
+ private EditText etOtpBox4;
+ private EditText etOtpBox5;
+ private EditText etOtpBox6;
+
+ private ProgressBar loadingProgressBar;
+
+ private Button btnVerify;
+
+ private String mobileNumber = "";
+
+ private FirebaseAuth mAuth;
+ private PhoneAuthProvider.OnVerificationStateChangedCallbacks
+ mCallBack = new PhoneAuthProvider.OnVerificationStateChangedCallbacks() {
+
+ @Override
+ public void onCodeSent(String s, PhoneAuthProvider.ForceResendingToken forceResendingToken) {
+ super.onCodeSent(s, forceResendingToken);
+ verificationId = s;
+ }
+
+ @Override
+ public void onVerificationCompleted(PhoneAuthCredential phoneAuthCredential) {
+ String code = phoneAuthCredential.getSmsCode();
+ if (code != null) {
+ setCodeToEditTexts(code);
+ verifyCode(code);
+ }
+ }
+
+ @Override
+ public void onVerificationFailed(FirebaseException e) {
+ Toast.makeText(Main2Activity.this, e.getMessage(), Toast.LENGTH_LONG).show();
+ }
+ };
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ requestWindowFeature(Window.FEATURE_NO_TITLE);
+ getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
+ setContentView(R.layout.activity_main2);
+
+ getExtrasFromBundle();
+ initialize();
+ sendVerificationCode(mobileNumber);
+
+ }
+
+
+ /**
+ * Retrieves the mobile number to which the verification code is supposed to be received
+ */
+ private void getExtrasFromBundle() {
+
+ Bundle bundle = getIntent().getExtras();
+ if (bundle != null) {
+ mobileNumber = bundle.getString(MainActivity.MOBILE_NUMBER);
+ if (mobileNumber != null) {
+ //Error
+ }
+ }
+
+ }
+
+
+
+
+ /*
+ * Initializes all widgets and variables and sets up required listeners
+ *
+ * */
+ private void initialize() {
+
+ mAuth = FirebaseAuth.getInstance();
+
+ Toolbar toolbar = findViewById(R.id.toolbar);
+ setSupportActionBar(toolbar);
+ toolbar.setNavigationIcon(R.drawable.ic_arrow_back_black_24dp);
+ toolbar.setNavigationOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ finish();
+ }
+ });
+
+ tvOtpInstruction = findViewById(R.id.otp);
+ tvMobileNumber = findViewById(R.id.tvMobileNumber);
+
+ etOtpBox1 = findViewById(R.id.otp_box_1);
+ etOtpBox2 = findViewById(R.id.otp_box_2);
+ etOtpBox3 = findViewById(R.id.otp_box_3);
+ etOtpBox4 = findViewById(R.id.otp_box_4);
+ etOtpBox5 = findViewById(R.id.otp_box_5);
+ etOtpBox6 = findViewById(R.id.otp_box_6);
+
+ loadingProgressBar = findViewById(R.id.pbLoading);
+
+ btnVerify = findViewById(R.id.verify);
+
+ String promptMessage = getResources().getString(R.string.otp1);
+ tvOtpInstruction.setText(Html.fromHtml(promptMessage));
+
+ tvMobileNumber.setText(mobileNumber);
+
+
+ btnVerify.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+
+ String code = "";
+
+ if (TextUtils.isEmpty(etOtpBox1.getText().toString())) {
+ Toast.makeText(Main2Activity.this, "Please enter full code ", Toast.LENGTH_LONG)
+ .show();
+ return;
+ } else {
+ code += etOtpBox1.getText().toString();
+ }
+
+ if (TextUtils.isEmpty(etOtpBox2.getText().toString())) {
+ Toast.makeText(Main2Activity.this, "Please enter full code ", Toast.LENGTH_LONG)
+ .show();
+ return;
+ } else {
+ code += etOtpBox2.getText().toString();
+ }
+
+
+ if (TextUtils.isEmpty(etOtpBox3.getText().toString())) {
+ Toast.makeText(Main2Activity.this, "Please enter full code ", Toast.LENGTH_LONG)
+ .show();
+ return;
+ } else {
+ code += etOtpBox3.getText().toString();
+ }
+
+
+ if (TextUtils.isEmpty(etOtpBox4.getText().toString())) {
+ Toast.makeText(Main2Activity.this, "Please enter full code ", Toast.LENGTH_LONG)
+ .show();
+ return;
+ } else {
+ code += etOtpBox4.getText().toString();
+ }
+
+
+ if (TextUtils.isEmpty(etOtpBox5.getText().toString())) {
+ Toast.makeText(Main2Activity.this, "Please enter full code ", Toast.LENGTH_LONG)
+ .show();
+ return;
+ } else {
+ code += etOtpBox5.getText().toString();
+ }
+
+
+ if (TextUtils.isEmpty(etOtpBox6.getText().toString())) {
+ Toast.makeText(Main2Activity.this, "Please enter full code ", Toast.LENGTH_LONG)
+ .show();
+ return;
+ } else {
+ code += etOtpBox6.getText().toString();
+ }
+
+
+ verifyCode(code);
+
+ }
+ });
+
+
+ etOtpBox1.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
+
+ }
+
+ @Override
+ public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
+
+ }
+
+ @Override
+ public void afterTextChanged(Editable editable) {
+
+ if (editable != null) {
+ if (editable.length() == 1)
+ etOtpBox2.requestFocus();
+ }
+ }
+ });
+
+
+ etOtpBox2.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
+
+ }
+
+ @Override
+ public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
+
+ }
+
+ @Override
+ public void afterTextChanged(Editable editable) {
+ if (editable != null) {
+ if (editable.length() == 1)
+ etOtpBox3.requestFocus();
+ }
+ }
+ });
+
+
+ etOtpBox3.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
+
+ }
+
+ @Override
+ public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
+
+ }
+
+ @Override
+ public void afterTextChanged(Editable editable) {
+ if (editable != null) {
+ if (editable.length() == 1)
+ etOtpBox4.requestFocus();
+ }
+ }
+ });
+
+
+ etOtpBox4.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
+
+ }
+
+ @Override
+ public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
+
+ }
+
+ @Override
+ public void afterTextChanged(Editable editable) {
+ if (editable != null) {
+ if (editable.length() == 1)
+ etOtpBox5.requestFocus();
+ }
+ }
+ });
+
+
+ etOtpBox5.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
+
+ }
+
+ @Override
+ public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
+
+ }
+
+ @Override
+ public void afterTextChanged(Editable editable) {
+ if (editable != null) {
+ if (editable.length() == 1)
+ etOtpBox6.requestFocus();
+ }
+ }
+ });
+
+
+ }
+
+
+
+ /**
+ * Initiates the process of sending the verification code on the mobile number entered by the user in previous activity
+ */
+ private void sendVerificationCode(String number) {
+ loadingProgressBar.setVisibility(View.VISIBLE);
+
+ PhoneAuthProvider.getInstance().verifyPhoneNumber(
+ number,
+ 60,
+ TimeUnit.SECONDS,
+ TaskExecutors.MAIN_THREAD,
+ mCallBack
+ );
+
+ }
+
+ private void verifyCode(String code) {
+ PhoneAuthCredential credential = PhoneAuthProvider.getCredential(verificationId, code);
+ signInWithCredential(credential);
+ }
+
+
+ private void signInWithCredential(PhoneAuthCredential credential) {
+ mAuth.signInWithCredential(credential)
+ .addOnCompleteListener(new OnCompleteListener() {
+ @Override
+ public void onComplete(@NonNull Task task) {
+ if (task.isSuccessful()) {
+ Toast.makeText(Main2Activity.this, "Verification successful", Toast.LENGTH_LONG)
+ .show();
+ } else {
+ Toast.makeText(Main2Activity.this, task.getException().getMessage(), Toast.LENGTH_LONG).show();
+ }
+
+ loadingProgressBar.setVisibility(View.INVISIBLE);
+ }
+ });
+ }
+
+
+ private void setCodeToEditTexts(String code) {
+
+ //Assuming code length is 6
+ if (code.length() == 6) {
+
+ etOtpBox1.setText(code.substring(0, 1));
+ etOtpBox2.setText(code.substring(1, 2));
+ etOtpBox3.setText(code.substring(2, 3));
+ etOtpBox4.setText(code.substring(3, 4));
+ etOtpBox5.setText(code.substring(4, 5));
+ etOtpBox6.setText(code.substring(5, 6));
+
+ }
+
+ }
+
+
}
diff --git a/app/src/main/java/com/shashank/platform/phonenumberverification/MainActivity.java b/app/src/main/java/com/shashank/platform/phonenumberverification/MainActivity.java
index 4d741f3..8bcb0a0 100644
--- a/app/src/main/java/com/shashank/platform/phonenumberverification/MainActivity.java
+++ b/app/src/main/java/com/shashank/platform/phonenumberverification/MainActivity.java
@@ -1,10 +1,9 @@
package com.shashank.platform.phonenumberverification;
import android.content.Intent;
-import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
-import android.support.v7.widget.Toolbar;
import android.text.Html;
+import android.text.TextUtils;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
@@ -13,45 +12,57 @@
import android.widget.TextView;
import android.widget.Toast;
-public class MainActivity extends AppCompatActivity {
-
- TextView otp;
- Button generate_otp;
- EditText mobile_number;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- requestWindowFeature(Window.FEATURE_NO_TITLE);
- getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
- setContentView(R.layout.activity_main);
- Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
- setSupportActionBar(toolbar);
- toolbar.setNavigationIcon(R.drawable.ic_arrow_back_black_24dp);
- toolbar.setNavigationOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- finish();
- }
- });
- otp = findViewById(R.id.otp);
- generate_otp = findViewById(R.id.generate_otp);
- mobile_number = findViewById(R.id.mobile_number);
- otp.setText(Html.fromHtml(getResources().getString(R.string.otp)));
- generate_otp.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- if(mobile_number.getText().toString().equals(""))
- Toast.makeText(getApplicationContext(),"Please enter the mobile no.",Toast.LENGTH_SHORT).show();
- else if(mobile_number.getText().length()<10)
- Toast.makeText(getApplicationContext(),"Please enter correct mobile no.",Toast.LENGTH_SHORT).show();
- else{
- Intent intent = new Intent(getApplicationContext(),Main2Activity.class);
- startActivity(intent);
- }
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.appcompat.widget.Toolbar;
- }
- });
-
- }
+public class MainActivity extends AppCompatActivity {
+
+ private TextView tvOtpInstruction;
+ private Button btnGenerateOtp;
+ private EditText etMobileNumber;
+
+ private String indiaCode = "+91";
+
+ public static final String MOBILE_NUMBER = "mobile_number";
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ requestWindowFeature(Window.FEATURE_NO_TITLE);
+ getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
+ setContentView(R.layout.activity_main);
+
+ Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
+ setSupportActionBar(toolbar);
+ toolbar.setNavigationIcon(R.drawable.ic_arrow_back_black_24dp);
+ toolbar.setNavigationOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ finish();
+ }
+ });
+
+ tvOtpInstruction = findViewById(R.id.otp);
+ btnGenerateOtp = findViewById(R.id.generate_otp);
+ etMobileNumber = findViewById(R.id.mobile_number);
+
+ tvOtpInstruction.setText(Html.fromHtml(getResources().getString(R.string.otp)));
+
+ btnGenerateOtp.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ if (TextUtils.isEmpty(etMobileNumber.getText().toString()))
+ Toast.makeText(getApplicationContext(), "Please enter the mobile no.", Toast.LENGTH_SHORT).show();
+ else if (etMobileNumber.getText().length() < 10)
+ Toast.makeText(getApplicationContext(), "Please enter correct mobile no.", Toast.LENGTH_SHORT).show();
+ else {
+ Intent intent = new Intent(MainActivity.this, Main2Activity.class);
+ intent.putExtra(MOBILE_NUMBER, indiaCode + etMobileNumber.getText().toString());
+ startActivity(intent);
+ }
+
+ }
+ });
+
+ }
}
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index b906b8c..9837a47 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -1,5 +1,5 @@
-
-
-
-
+
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_main2.xml b/app/src/main/res/layout/activity_main2.xml
index 028a344..d86ed03 100644
--- a/app/src/main/res/layout/activity_main2.xml
+++ b/app/src/main/res/layout/activity_main2.xml
@@ -1,5 +1,5 @@
-
-
-
-
+
+
+
+
+
+
+
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index 270530f..9a5245c 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -3,4 +3,5 @@
#2c987d
#2c987d
#2c987d
+ #000000
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 9815b8c..9190804 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1,5 +1,5 @@
Phone Number Verification
We will send you an One Time Password on this mobile number]]>
- Enter OTP send to +91-9876-564-656]]>
+ OTP will be detected automatically or you can manually enter OTP sent to ]]>
diff --git a/build.gradle b/build.gradle
index 43c0708..819ee11 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,15 +1,15 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
-
+
repositories {
+ mavenCentral()
google()
jcenter()
}
dependencies {
- classpath 'com.android.tools.build:gradle:3.1.3'
-
-
+ classpath 'com.android.tools.build:gradle:3.2.1'
+ classpath 'com.google.gms:google-services:4.0.1'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
@@ -17,6 +17,7 @@ buildscript {
allprojects {
repositories {
+ mavenCentral()
google()
jcenter()
}
diff --git a/gradle.properties b/gradle.properties
index 743d692..4bf3f42 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -7,6 +7,10 @@
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
org.gradle.jvmargs=-Xmx1536m
+
+android.useAndroidX=true
+android.enableJetifier=true
+
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index a6d24d8..8d0b0a9 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Sun Dec 23 16:54:58 IST 2018
+#Thu Jul 04 19:10:50 IST 2019
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip