kaleidot725
4/21/2020 - 2:00 PM

[2020/04/21 Google アカウントを利用して Firebase にサインインする No4]

[2020/04/21 Google アカウントを利用して Firebase にサインインする No4]

class GoogleAuthController(private val activity: AppCompatActivity) {
   private var completed: (FirebaseUser) -> (Unit) = {}

   fun startSignIn(completed: (FirebaseUser) -> (Unit)) {
      this.completed = completed
      val signInIntent = googleSignInClient.signInIntent
      activity.startActivityForResult(signInIntent, RC_SIGN_IN)
   }

   fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
        ︙
        val credential = GoogleAuthProvider.getCredential(account.idToken, null)
        firebaseAuth.signInWithCredential(credential).addOnCompleteListener(activity) { task ->
            if (!task.isSuccessful) {
                return@addOnCompleteListener
            }

            if (firebaseAuth.currentUser == null) {
                return@addOnCompleteListener
            }

            completed(firebaseAuth.currentUser!!)
        }
    }


}