Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.android.project.futsalkuy;
- import androidx.annotation.NonNull;
- import androidx.appcompat.app.AppCompatActivity;
- import android.annotation.SuppressLint;
- import android.content.Intent;
- import android.os.Bundle;
- import android.os.CountDownTimer;
- import android.view.MotionEvent;
- import android.view.View;
- import android.view.WindowManager;
- import android.widget.EditText;
- import android.widget.ProgressBar;
- import android.widget.TextView;
- import android.widget.Toast;
- 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;
- public class VerifyActivity extends AppCompatActivity {
- private FirebaseAuth mAuth;
- private String verificationId;
- private ProgressBar progressBar;
- private EditText editText;
- private TextView textView, kirim_ulang;
- int counter;
- int status_kirim_ulang;
- CountDownTimer countDownTimer;
- @SuppressLint("RestrictedApi")
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
- setContentView(R.layout.activity_verify);
- //
- status_kirim_ulang=0;
- kirim_ulang=findViewById(R.id.tv_resending_VerifyScreen);
- counter=30;
- time();
- //
- mAuth = FirebaseAuth.getInstance();
- progressBar = findViewById(R.id.progressBar_VerifyScreen);
- editText = findViewById(R.id.edt_enterCode_VerifyScreen);
- textView = findViewById(R.id.tv_received_VerifyScreen);
- textView.setText(getIntent().getStringExtra("phonenumber"));
- String phoneNumber = getIntent().getStringExtra("phonenumber");
- sendVerificationCode (phoneNumber);
- findViewById(R.id.btn_verification_VerifyScreen).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- String code = editText.getText().toString().trim();
- if (code.isEmpty() || code.length() < 6) {
- editText.setError("enter your code..");
- editText.requestFocus();
- return;
- }
- verfyCode(code);
- }
- });
- }
- private void verfyCode(String code) {
- PhoneAuthCredential credential = PhoneAuthProvider.getCredential(verificationId, code);
- signInWithCredential (credential);
- }
- private void signInWithCredential(PhoneAuthCredential credential) {
- mAuth.signInWithCredential(credential)
- .addOnCompleteListener(new OnCompleteListener<AuthResult>() {
- @Override
- public void onComplete(@NonNull Task<AuthResult> task) {
- if (task.isSuccessful()) {
- Intent signUpActivity = new Intent(VerifyActivity.this, SignUpActivity.class);
- signUpActivity.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
- startActivity(signUpActivity);
- } else {
- Toast.makeText(VerifyActivity.this, task.getException().getMessage(), Toast.LENGTH_LONG).show();
- }
- }
- });
- }
- private void sendVerificationCode (String number) {
- progressBar.setVisibility(View.VISIBLE);
- PhoneAuthProvider.getInstance().verifyPhoneNumber(number, 60, TimeUnit.SECONDS, TaskExecutors.MAIN_THREAD, mCallBack);
- }
- 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) {
- editText.setText(code);
- verfyCode(code);
- }
- }
- @Override
- public void onVerificationFailed(FirebaseException e) {
- Toast.makeText(VerifyActivity.this, e.getMessage(), Toast.LENGTH_LONG).show();
- }
- };
- //
- void time()
- {
- countDownTimer = new CountDownTimer(30000, 1000){
- public void onTick(long millisUntilFinished){
- kirim_ulang.setTextColor(getResources().getColor(R.color.red));
- kirim_ulang.setText("Resending("+String.valueOf(counter)+")");
- if(counter <= 1 )
- {
- stop_time();
- status_kirim_ulang=1;
- kirim_ulang.setTextColor(getResources().getColor(R.color.colorPrimary));
- }
- counter--;
- }
- public void onFinish(){
- }
- }.start();
- }
- void stop_time()
- {
- countDownTimer.cancel();
- kirim_ulang.setText("Resending");
- }
- @Override
- public void onBackPressed() {
- finish();
- super.onBackPressed();
- }
- @Override
- public boolean onSupportNavigateUp() {
- onBackPressed();
- return super.onSupportNavigateUp();
- }
- //
- }
Advertisement
Add Comment
Please, Sign In to add comment