diff --git a/Foodify/app/build.gradle b/Foodify/app/build.gradle index 7fdf79e..67db2db 100644 --- a/Foodify/app/build.gradle +++ b/Foodify/app/build.gradle @@ -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" } diff --git a/Foodify/app/src/main/java/com/waterbase/foodify/ForgotPassword.java b/Foodify/app/src/main/java/com/waterbase/foodify/ForgotPassword.java index 297ad2b..87d3252 100644 --- a/Foodify/app/src/main/java/com/waterbase/foodify/ForgotPassword.java +++ b/Foodify/app/src/main/java/com/waterbase/foodify/ForgotPassword.java @@ -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); diff --git a/Foodify/app/src/main/java/com/waterbase/foodify/SignUp.java b/Foodify/app/src/main/java/com/waterbase/foodify/SignUp.java index a599e3f..11b81ea 100644 --- a/Foodify/app/src/main/java/com/waterbase/foodify/SignUp.java +++ b/Foodify/app/src/main/java/com/waterbase/foodify/SignUp.java @@ -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); } } diff --git a/Foodify/app/src/main/java/com/waterbase/foodify/VerifyPhone.java b/Foodify/app/src/main/java/com/waterbase/foodify/VerifyPhone.java index 70b0e1d..70d5830 100644 --- a/Foodify/app/src/main/java/com/waterbase/foodify/VerifyPhone.java +++ b/Foodify/app/src/main/java/com/waterbase/foodify/VerifyPhone.java @@ -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(); }