override fun onViewCreated()

in Fido2/app/src/main/java/com/google/android/gms/identity/sample/fido2/ui/home/HomeFragment.kt [67:119]


    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        val credentialAdapter = CredentialAdapter { credentialId ->
            DeleteConfirmationFragment.newInstance(credentialId)
                .show(childFragmentManager, FRAGMENT_DELETE_CONFIRMATION)
        }
        binding.credentials.adapter = credentialAdapter

        viewLifecycleOwner.lifecycleScope.launchWhenStarted {
            viewModel.credentials.collect { credentials ->
                credentialAdapter.submitList(credentials)
                binding.emptyCredentials.isVisible = credentials.isEmpty()
                binding.credentialsCaption.isVisible = credentials.isNotEmpty()
            }
        }

        // Menu
        binding.appBar.replaceMenu(R.menu.home)
        binding.appBar.setOnMenuItemClickListener { item ->
            when (item.itemId) {
                R.id.action_reauth -> {
                    viewModel.reauth()
                    true
                }
                R.id.action_sign_out -> {
                    viewModel.signOut()
                    true
                }
                else -> false
            }
        }

        viewLifecycleOwner.lifecycleScope.launchWhenStarted {
            viewModel.processing.collect { processing ->
                if (processing) {
                    binding.processing.show()
                } else {
                    binding.processing.hide()
                }
            }
        }

        // FAB
        binding.add.setOnClickListener {
            lifecycleScope.launch {
                val intent = viewModel.registerRequest()
                if (intent != null) {
                    createCredentialIntentLauncher.launch(
                        IntentSenderRequest.Builder(intent).build()
                    )
                }
            }
        }
    }