Update function and fix bug

This commit is contained in:
phanhuuloi27
2022-07-09 13:14:46 +07:00
parent a3407bd675
commit 166f9b062c
4 changed files with 95 additions and 86 deletions
+3 -2
View File
@@ -9,8 +9,8 @@ android {
applicationId "com.waterbase.foodify"
minSdk 23
targetSdk 30
versionCode 2
versionName "1.0"
versionCode 1
versionName "68.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
@@ -88,6 +88,7 @@ dependencies {
//Slider
implementation 'com.nineoldandroids:library:2.4.0'
implementation 'com.daimajia.slider:library:1.1.5@aar'
implementation "androidx.browser:browser:1.3.0"
}
@@ -13,7 +13,9 @@ import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import com.google.firebase.FirebaseException;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.PhoneAuthCredential;
import com.google.firebase.auth.PhoneAuthOptions;
import com.google.firebase.auth.PhoneAuthProvider;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
@@ -75,39 +77,41 @@ public class ForgotPassword extends AppCompatActivity {
progressBar.setVisibility(View.GONE);
btnSendOTP.setVisibility(View.VISIBLE);
PhoneAuthProvider.getInstance().verifyPhoneNumber(
"+84" + edtPhone.getText().toString(),
60,
TimeUnit.SECONDS,
ForgotPassword.this,
new PhoneAuthProvider.OnVerificationStateChangedCallbacks() {
@Override
public void onVerificationCompleted(PhoneAuthCredential phoneAuthCredential) {
progressBar.setVisibility(View.GONE);
btnSendOTP.setVisibility(View.VISIBLE);
}
PhoneAuthProvider.verifyPhoneNumber(
PhoneAuthOptions
.newBuilder(FirebaseAuth.getInstance())
.setActivity(ForgotPassword.this)
.setPhoneNumber("+84" + edtPhone.getText().toString())
.setTimeout(60L, TimeUnit.SECONDS)
.setCallbacks(new PhoneAuthProvider.OnVerificationStateChangedCallbacks() {
@Override
public void onVerificationCompleted(PhoneAuthCredential phoneAuthCredential) {
progressBar.setVisibility(View.GONE);
btnSendOTP.setVisibility(View.VISIBLE);
}
@Override
public void onVerificationFailed(FirebaseException e) {
progressBar.setVisibility(View.GONE);
btnSendOTP.setVisibility(View.VISIBLE);
Toast.makeText(ForgotPassword.this, e.getMessage(), Toast.LENGTH_SHORT).show();
}
@Override
public void onVerificationFailed(FirebaseException e) {
progressBar.setVisibility(View.GONE);
btnSendOTP.setVisibility(View.VISIBLE);
Toast.makeText(ForgotPassword.this, e.getMessage(), Toast.LENGTH_SHORT).show();
}
@Override
public void onCodeSent(String verificationId, PhoneAuthProvider.ForceResendingToken forceResendingToken) {
progressBar.setVisibility(View.GONE);
btnSendOTP.setVisibility(View.VISIBLE);
Toast.makeText(ForgotPassword.this, "Mã OTP đã được gửi!", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(ForgotPassword.this, VerifyPhone.class);
intent.putExtra("phone", edtPhone.getText().toString());
intent.putExtra("verificationId", verificationId);
intent.putExtra("isForgotPassword", "true");
startActivity(intent);
finish();
}
})
.build());
@Override
public void onCodeSent(String verificationId, PhoneAuthProvider.ForceResendingToken forceResendingToken) {
progressBar.setVisibility(View.GONE);
btnSendOTP.setVisibility(View.VISIBLE);
Toast.makeText(ForgotPassword.this, "Mã OTP đã được gửi!", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(ForgotPassword.this, VerifyPhone.class);
intent.putExtra("phone", edtPhone.getText().toString());
intent.putExtra("verificationId", verificationId);
intent.putExtra("isForgotPassword", "true");
startActivity(intent);
finish();
}
}
);
} else {
progressBar.setVisibility(View.GONE);
btnSendOTP.setVisibility(View.VISIBLE);
@@ -15,7 +15,9 @@ import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import com.google.firebase.FirebaseException;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.PhoneAuthCredential;
import com.google.firebase.auth.PhoneAuthOptions;
import com.google.firebase.auth.PhoneAuthProvider;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
@@ -100,41 +102,40 @@ public class SignUp extends AppCompatActivity {
Toast.makeText(SignUp.this, "Số điện thoại đã được đăng ký!", Toast.LENGTH_SHORT).show();
finish();
} else {
PhoneAuthOptions options =
PhoneAuthOptions.newBuilder(FirebaseAuth.getInstance())
.setPhoneNumber("+84" + edtPhone.getText().toString()) // Phone number to verify
.setTimeout(60L, TimeUnit.SECONDS) // Timeout and unit
.setActivity(SignUp.this) // Activity (for callback binding)
.setCallbacks(new PhoneAuthProvider.OnVerificationStateChangedCallbacks() {
@Override
public void onVerificationCompleted(PhoneAuthCredential phoneAuthCredential) {
progressBar.setVisibility(View.GONE);
btnSignUp.setVisibility(View.VISIBLE);
}
//Success
PhoneAuthProvider.getInstance().verifyPhoneNumber(
"+84" + edtPhone.getText().toString(),
60,
TimeUnit.SECONDS,
SignUp.this,
new PhoneAuthProvider.OnVerificationStateChangedCallbacks() {
@Override
public void onVerificationCompleted(PhoneAuthCredential phoneAuthCredential) {
progressBar.setVisibility(View.GONE);
btnSignUp.setVisibility(View.VISIBLE);
}
@Override
public void onVerificationFailed(FirebaseException e) {
progressBar.setVisibility(View.GONE);
btnSignUp.setVisibility(View.VISIBLE);
Toast.makeText(SignUp.this, e.getMessage(), Toast.LENGTH_SHORT).show();
}
@Override
public void onVerificationFailed(FirebaseException e) {
progressBar.setVisibility(View.GONE);
btnSignUp.setVisibility(View.VISIBLE);
Toast.makeText(SignUp.this, e.getMessage(), Toast.LENGTH_SHORT).show();
}
@Override
public void onCodeSent(String verificationId, PhoneAuthProvider.ForceResendingToken forceResendingToken) {
progressBar.setVisibility(View.GONE);
btnSignUp.setVisibility(View.VISIBLE);
User user = new User(edtName.getText().toString(), edtPassword.getText().toString());
Intent intent = new Intent(SignUp.this, VerifyPhone.class);
intent.putExtra("user", user);
intent.putExtra("phone", edtPhone.getText().toString());
intent.putExtra("verificationId", verificationId);
startActivity(intent);
finish();
}
}
);
@Override
public void onCodeSent(String verificationId, PhoneAuthProvider.ForceResendingToken forceResendingToken) {
progressBar.setVisibility(View.GONE);
btnSignUp.setVisibility(View.VISIBLE);
User user = new User(edtName.getText().toString(), edtPassword.getText().toString());
Intent intent = new Intent(SignUp.this, VerifyPhone.class);
intent.putExtra("user", user);
intent.putExtra("phone", edtPhone.getText().toString());
intent.putExtra("verificationId", verificationId);
startActivity(intent);
finish();
}
}) // OnVerificationStateChangedCallbacks
.build();
PhoneAuthProvider.verifyPhoneNumber(options);
}
}
@@ -22,6 +22,7 @@ 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.PhoneAuthOptions;
import com.google.firebase.auth.PhoneAuthProvider;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
@@ -90,28 +91,30 @@ public class VerifyPhone extends AppCompatActivity {
public void onClick(View v) {
resendCode.setVisibility(View.GONE);
countdown.setVisibility(View.VISIBLE);
PhoneAuthProvider.getInstance().verifyPhoneNumber(
"+84" + phone,
60,
TimeUnit.SECONDS,
VerifyPhone.this,
new PhoneAuthProvider.OnVerificationStateChangedCallbacks() {
@Override
public void onVerificationCompleted(PhoneAuthCredential phoneAuthCredential) {
}
@Override
public void onVerificationFailed(FirebaseException e) {
Toast.makeText(VerifyPhone.this, e.getMessage(), Toast.LENGTH_SHORT).show();
}
PhoneAuthProvider.verifyPhoneNumber(
PhoneAuthOptions
.newBuilder(FirebaseAuth.getInstance())
.setActivity(VerifyPhone.this)
.setPhoneNumber("+84" + phone)
.setTimeout(60L, TimeUnit.SECONDS)
.setCallbacks(new PhoneAuthProvider.OnVerificationStateChangedCallbacks() {
@Override
public void onVerificationCompleted(PhoneAuthCredential phoneAuthCredential) {
}
@Override
public void onCodeSent(String newVerificationId, PhoneAuthProvider.ForceResendingToken forceResendingToken) {
verificationId = newVerificationId;
Toast.makeText(VerifyPhone.this, "Mã OTP đã được gửi!", Toast.LENGTH_SHORT).show();
}
}
);
@Override
public void onVerificationFailed(FirebaseException e) {
Toast.makeText(VerifyPhone.this, e.getMessage(), Toast.LENGTH_SHORT).show();
}
@Override
public void onCodeSent(String newVerificationId, PhoneAuthProvider.ForceResendingToken forceResendingToken) {
verificationId = newVerificationId;
Toast.makeText(VerifyPhone.this, "Mã OTP đã được gửi!", Toast.LENGTH_SHORT).show();
}
})
.build());
count.start();
}