in automotive/src/main/java/com/example/android/uamp/automotive/PinCodeSignInFragment.kt [39:78]
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
val context = requireContext()
val binding = PinSignInBinding.bind(view)
binding.toolbar.setNavigationOnClickListener {
requireActivity().supportFragmentManager.popBackStack()
}
binding.appIcon.setImageDrawable(ContextCompat.getDrawable(context, R.drawable.aural_logo))
binding.primaryMessage.text = getString(R.string.pin_sign_in_primary_text)
binding.secondaryMessage.text = getString(R.string.pin_sign_in_secondary_text)
// Links in footer text should be clickable.
binding.footer.text = HtmlCompat.fromHtml(
context.getString(R.string.sign_in_footer),
HtmlCompat.FROM_HTML_MODE_LEGACY
)
binding.footer.movementMethod = LinkMovementMethod.getInstance()
val pin = ViewModelProvider(requireActivity())
.get(SignInActivityViewModel::class.java)
.generatePin()
// Remove existing PIN characters.
if (binding.pinCodeContainer.childCount > 0) {
binding.pinCodeContainer.removeAllViews()
}
for (element in pin) {
val pinItem = LayoutInflater.from(context).inflate(
R.layout.pin_item,
binding.pinCodeContainer,
false
) as TextView
pinItem.text = element.toString()
binding.pinCodeContainer.addView(pinItem)
}
}