| | |
| | | import android.annotation.SuppressLint |
| | | import android.graphics.Color |
| | | import android.text.TextPaint |
| | | import android.text.method.HideReturnsTransformationMethod |
| | | import android.text.method.LinkMovementMethod |
| | | import android.text.method.PasswordTransformationMethod |
| | | import android.text.style.ClickableSpan |
| | | import android.view.View |
| | | import android.webkit.WebSettings |
| | | import android.webkit.WebView |
| | | import android.widget.Button |
| | | import androidx.appcompat.widget.AppCompatEditText |
| | | import androidx.core.os.bundleOf |
| | | import androidx.databinding.DataBindingUtil |
| | | import com.afollestad.materialdialogs.MaterialDialog |
| | |
| | | |
| | | override fun setObservable() { |
| | | super.setObservable() |
| | | viewModel.protocolStatus.observe(this){ |
| | | viewModel.protocolStatus.observe(this) { |
| | | MMKVManager.getInstance().saveBoolean(KeyPreferences.NEED_READ, !it) |
| | | } |
| | | viewModel.phone.observe(this){ |
| | | viewModel.phone.observe(this) { |
| | | viewModel.canGetCode.value = it.length == 11 |
| | | } |
| | | viewModel.eyeStatus2.observe(this) { |
| | | setPasswordVisible(binding.psw, it) |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 设置密码显示/隐藏 |
| | | * @param visible true=明文, false=密文 |
| | | */ |
| | | private fun setPasswordVisible(et: AppCompatEditText, visible: Boolean) { |
| | | if (visible) { |
| | | et.transformationMethod = HideReturnsTransformationMethod.getInstance() |
| | | } else { |
| | | et.transformationMethod = PasswordTransformationMethod.getInstance() |
| | | } |
| | | // 关键:切换后需要将光标移到最后,防止光标跳到开头 |
| | | et.setSelection(et.text?.length ?: 0) |
| | | } |
| | | |
| | | // 标记两个协议是否都已读到底部 |
| | |
| | | viewModel.protocolStatus.value = true |
| | | dismiss() |
| | | } |
| | | initWeb(bind.protocolLayout.web,bind.btnRight) |
| | | initWeb(bind.protocolLayout.web, bind.btnRight) |
| | | |
| | | val getProtocol: (Int) -> Unit = { type -> |
| | | currentTab = type |