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()
)
}
}
}
}