mirror of
https://github.com/gedoor/legado.git
synced 2024-09-01 09:34:25 +08:00
修复bug
This commit is contained in:
parent
78ba6a7069
commit
f7449f30df
@ -5,8 +5,6 @@ import android.os.Bundle
|
||||
import android.text.InputType
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.widget.EditText
|
||||
import android.widget.TextView
|
||||
import androidx.core.view.setPadding
|
||||
import androidx.fragment.app.activityViewModels
|
||||
import io.legado.app.R
|
||||
@ -14,8 +12,9 @@ import io.legado.app.base.BaseDialogFragment
|
||||
import io.legado.app.constant.AppLog
|
||||
import io.legado.app.data.entities.BaseSource
|
||||
import io.legado.app.databinding.DialogLoginBinding
|
||||
import io.legado.app.databinding.ItemFilletTextBinding
|
||||
import io.legado.app.databinding.ItemSourceEditBinding
|
||||
import io.legado.app.lib.theme.primaryColor
|
||||
import io.legado.app.ui.widget.text.TextInputLayout
|
||||
import io.legado.app.utils.*
|
||||
import io.legado.app.utils.viewbindingdelegate.viewBinding
|
||||
import kotlinx.coroutines.Dispatchers.IO
|
||||
@ -45,40 +44,32 @@ class RuleUiLoginDialog : BaseDialogFragment(R.layout.dialog_login) {
|
||||
val loginUi = source.loginUi
|
||||
loginUi?.forEachIndexed { index, rowUi ->
|
||||
when (rowUi.type) {
|
||||
"text" -> layoutInflater.inflate(R.layout.item_source_edit, binding.root, false)
|
||||
"text" -> ItemSourceEditBinding.inflate(layoutInflater, binding.root, false).let {
|
||||
binding.flexbox.addView(it.root)
|
||||
it.root.id = index
|
||||
it.textInputLayout.hint = rowUi.name
|
||||
it.editText.setText(loginInfo?.get(rowUi.name))
|
||||
}
|
||||
"password" -> ItemSourceEditBinding.inflate(layoutInflater, binding.root, false)
|
||||
.let {
|
||||
binding.flexbox.addView(it)
|
||||
it.id = index
|
||||
(it as TextInputLayout).hint = rowUi.name
|
||||
it.findViewById<EditText>(R.id.editText).apply {
|
||||
setText(loginInfo?.get(rowUi.name))
|
||||
}
|
||||
}
|
||||
"password" -> layoutInflater.inflate(R.layout.item_source_edit, binding.root, false)
|
||||
.let {
|
||||
binding.flexbox.addView(it)
|
||||
it.id = index
|
||||
(it as TextInputLayout).hint = rowUi.name
|
||||
it.findViewById<EditText>(R.id.editText).apply {
|
||||
inputType =
|
||||
InputType.TYPE_TEXT_VARIATION_PASSWORD or InputType.TYPE_CLASS_TEXT
|
||||
setText(loginInfo?.get(rowUi.name))
|
||||
}
|
||||
}
|
||||
"button" -> layoutInflater.inflate(R.layout.item_fillet_text, binding.root, false)
|
||||
.let {
|
||||
binding.flexbox.addView(it)
|
||||
it.id = index
|
||||
(it as TextView).let { textView ->
|
||||
textView.text = rowUi.name
|
||||
textView.setPadding(16.dp)
|
||||
}
|
||||
it.onClick {
|
||||
if (rowUi.action.isAbsUrl()) {
|
||||
context?.openUrl(rowUi.action!!)
|
||||
}
|
||||
binding.flexbox.addView(it.root)
|
||||
it.root.id = index
|
||||
it.textInputLayout.hint = rowUi.name
|
||||
it.editText.inputType =
|
||||
InputType.TYPE_TEXT_VARIATION_PASSWORD or InputType.TYPE_CLASS_TEXT
|
||||
it.editText.setText(loginInfo?.get(rowUi.name))
|
||||
}
|
||||
"button" -> ItemFilletTextBinding.inflate(layoutInflater, binding.root, false).let {
|
||||
binding.flexbox.addView(it.root)
|
||||
it.root.id = index
|
||||
it.textView.text = rowUi.name
|
||||
it.textView.setPadding(16.dp)
|
||||
it.root.onClick {
|
||||
if (rowUi.action.isAbsUrl()) {
|
||||
context?.openUrl(rowUi.action!!)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
binding.toolBar.inflateMenu(R.menu.source_login)
|
||||
@ -90,10 +81,9 @@ class RuleUiLoginDialog : BaseDialogFragment(R.layout.dialog_login) {
|
||||
loginUi?.forEachIndexed { index, rowUi ->
|
||||
when (rowUi.type) {
|
||||
"text", "password" -> {
|
||||
val value = binding.root.findViewById<TextInputLayout>(index)
|
||||
.findViewById<EditText>(R.id.editText).text?.toString()
|
||||
if (!value.isNullOrBlank()) {
|
||||
loginData[rowUi.name] = value
|
||||
val rowView = binding.root.findViewById<View>(index)
|
||||
ItemSourceEditBinding.bind(rowView).editText.text?.let {
|
||||
loginData[rowUi.name] = it.toString()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user