CheckEmailActivity.kt

		package com.example.firebaseloginkotlin
		
		import android.content.Intent
		import androidx.appcompat.app.AppCompatActivity
		import android.os.Bundle
		import android.widget.Toast
		import com.example.firebaseloginkotlin.databinding.ActivityCheckEmailBinding
		import com.google.firebase.auth.FirebaseAuth
		import com.google.firebase.auth.ktx.auth
		import com.google.firebase.auth.ktx.userProfileChangeRequest
		import com.google.firebase.ktx.Firebase
		
		class CheckEmailActivity : AppCompatActivity() {
		    private lateinit var auth: FirebaseAuth
		    private lateinit var binding: ActivityCheckEmailBinding
		
		    override fun onCreate(savedInstanceState: Bundle?) {
		        super.onCreate(savedInstanceState)
		
		        binding = ActivityCheckEmailBinding.inflate(layoutInflater)
		        setContentView(binding.root)
		        auth = Firebase.auth
		        val user = auth.currentUser
		
		        binding.veficateEmailAppCompatButton.setOnClickListener {
		            val profileUpdates = userProfileChangeRequest {
		            }
		            user!!.updateProfile(profileUpdates)
		                .addOnCompleteListener { task ‐>
		                    if (task.isSuccessful) {
		                        if (user.isEmailVerified) {
		                            val intent = Intent(this, MainActivity::class.java)
		                            this.startActivity(intent)
		                        } else {
		                            Toast.makeText(this, "Por favor verifica tu correo.",
		                                Toast.LENGTH_SHORT).show()
		                        }
		                    }
		                }
		
		        }
		
		        binding.signOutImageView.setOnClickListener {
		            signOut()
		        }
		
		    }
		
		    public override fun onStart() {
		        super.onStart()
		        val currentUser = auth.currentUser
		        if(currentUser != null){
		            if(currentUser.isEmailVerified){
		                reload()
		            } else {
		                sendEmailVerification()
		            }
		        }
		    }
		
		    private fun sendEmailVerification() {
		        val user = auth.currentUser
		        user!!.sendEmailVerification()
		            .addOnCompleteListener(this) { task ‐>
		                if (task.isSuccessful) {
		                    Toast.makeText(this, "Se ha enviado un correo de verifiación.",
		                        Toast.LENGTH_SHORT).show()
		                }
		            }
		    }
		
		    private fun reload() {
		        val intent = Intent(this, MainActivity::class.java)
		        this.startActivity(intent)
		    }
		
		    private  fun signOut(){
		        Firebase.auth.signOut()
		        val intent = Intent(this, SignInActivity::class.java)
		        this.startActivity(intent)
		    }
		}