Remove synthetic view references from 'PasswordPromptDialogFragment'

This commit is contained in:
cketti 2021-03-02 17:08:15 +01:00
parent 56a9bcac66
commit 02c38b60b1

View file

@ -6,13 +6,15 @@ import android.app.Dialog
import android.os.Bundle import android.os.Bundle
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.widget.CheckBox
import android.widget.TextView
import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AlertDialog
import androidx.constraintlayout.widget.Group
import androidx.core.os.bundleOf import androidx.core.os.bundleOf
import androidx.core.view.isGone import androidx.core.view.isGone
import androidx.fragment.app.DialogFragment import androidx.fragment.app.DialogFragment
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import com.fsck.k9.ui.R import com.fsck.k9.ui.R
import kotlinx.android.synthetic.main.password_prompt_dialog.view.*
class PasswordPromptDialogFragment : DialogFragment() { class PasswordPromptDialogFragment : DialogFragment() {
private lateinit var accountUuid: String private lateinit var accountUuid: String
@ -61,21 +63,25 @@ class PasswordPromptDialogFragment : DialogFragment() {
val layoutInflater = LayoutInflater.from(requireContext()) val layoutInflater = LayoutInflater.from(requireContext())
val view = layoutInflater.inflate(R.layout.password_prompt_dialog, null) val view = layoutInflater.inflate(R.layout.password_prompt_dialog, null)
val passwordPromptIntro: TextView = view.findViewById(R.id.passwordPromptIntro)
val incomingServerNameView: TextView = view.findViewById(R.id.incomingServerName)
val outgoingServerNameView: TextView = view.findViewById(R.id.outgoingServerName)
val useSamePasswordCheckbox: CheckBox = view.findViewById(R.id.useSamePasswordCheckbox)
val incomingServerGroup: Group = view.findViewById(R.id.incomingServerGroup)
val outgoingServerGroup: Group = view.findViewById(R.id.outgoingServerGroup)
val quantity = if (inputIncomingServerPassword && inputOutgoingServerPassword) 2 else 1 val quantity = if (inputIncomingServerPassword && inputOutgoingServerPassword) 2 else 1
view.passwordPromptIntro.text = resources.getQuantityString( passwordPromptIntro.text = resources.getQuantityString(
R.plurals.settings_import_password_prompt, R.plurals.settings_import_password_prompt,
quantity, quantity,
accountName accountName
) )
view.incomingServerName.text = getString(R.string.server_name_format, incomingServerName) incomingServerNameView.text = getString(R.string.server_name_format, incomingServerName)
view.outgoingServerName.text = getString(R.string.server_name_format, outgoingServerName) outgoingServerNameView.text = getString(R.string.server_name_format, outgoingServerName)
val incomingServerGroup = view.incomingServerGroup
val outgoingServerGroup = view.outgoingServerGroup
incomingServerGroup.isGone = !inputIncomingServerPassword incomingServerGroup.isGone = !inputIncomingServerPassword
outgoingServerGroup.isGone = !inputOutgoingServerPassword outgoingServerGroup.isGone = !inputOutgoingServerPassword
val useSamePasswordCheckbox = view.useSamePasswordCheckbox
if (inputIncomingServerPassword && inputOutgoingServerPassword) { if (inputIncomingServerPassword && inputOutgoingServerPassword) {
useSamePasswordCheckbox.isChecked = true useSamePasswordCheckbox.isChecked = true
outgoingServerGroup.isGone = true outgoingServerGroup.isGone = true
@ -91,14 +97,18 @@ class PasswordPromptDialogFragment : DialogFragment() {
} }
private fun deliverPasswordPromptResult() { private fun deliverPasswordPromptResult() {
val incomingServerPasswordView: TextView = dialogView.findViewById(R.id.incomingServerPassword)
val outgoingServerPasswordView: TextView = dialogView.findViewById(R.id.outgoingServerPassword)
val useSamePasswordCheckbox: CheckBox = dialogView.findViewById(R.id.useSamePasswordCheckbox)
val incomingServerPassword = when { val incomingServerPassword = when {
!inputIncomingServerPassword -> null !inputIncomingServerPassword -> null
else -> dialogView.incomingServerPassword.text.toString() else -> incomingServerPasswordView.text.toString()
} }
val outgoingServerPassword = when { val outgoingServerPassword = when {
!inputOutgoingServerPassword -> null !inputOutgoingServerPassword -> null
dialogView.useSamePasswordCheckbox.isChecked -> incomingServerPassword useSamePasswordCheckbox.isChecked -> incomingServerPassword
else -> dialogView.outgoingServerPassword.text.toString() else -> outgoingServerPasswordView.text.toString()
} }
val resultIntent = PasswordPromptResult(accountUuid, incomingServerPassword, outgoingServerPassword).asIntent() val resultIntent = PasswordPromptResult(accountUuid, incomingServerPassword, outgoingServerPassword).asIntent()