Also request focus (keyboard is not shown on my device :/)
This commit is contained in:
parent
99343294c6
commit
35f854de5d
@ -27,12 +27,14 @@ import com.google.android.material.textfield.TextInputLayout
|
||||
import im.vector.app.R
|
||||
import im.vector.app.core.epoxy.VectorEpoxyHolder
|
||||
import im.vector.app.core.extensions.setTextOrHide
|
||||
import im.vector.app.core.extensions.showKeyboard
|
||||
|
||||
@EpoxyModelClass(layout = R.layout.item_settings_edit_text)
|
||||
abstract class SettingsEditTextItem : EpoxyModelWithHolder<SettingsEditTextItem.Holder>() {
|
||||
|
||||
@EpoxyAttribute var hint: String? = null
|
||||
@EpoxyAttribute var value: String? = null
|
||||
@EpoxyAttribute var requestFocus = false
|
||||
@EpoxyAttribute var descriptionText: String? = null
|
||||
@EpoxyAttribute var errorText: String? = null
|
||||
@EpoxyAttribute var inProgress: Boolean = false
|
||||
@ -74,6 +76,9 @@ abstract class SettingsEditTextItem : EpoxyModelWithHolder<SettingsEditTextItem.
|
||||
if (value != null) {
|
||||
holder.editText.setText(value)
|
||||
}
|
||||
if (requestFocus) {
|
||||
holder.editText.showKeyboard(andRequestFocus = true)
|
||||
}
|
||||
}
|
||||
|
||||
class Holder : VectorEpoxyHolder() {
|
||||
|
@ -136,8 +136,9 @@ class ThreePidsSettingsController @Inject constructor(
|
||||
id("addingEmail")
|
||||
inputType(InputType.TYPE_CLASS_TEXT or InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS)
|
||||
hint(stringProvider.getString(R.string.medium_email))
|
||||
if (data.editTextReinitiator?.isTrue() == true) {
|
||||
if (data.editTextReinitiator.isTrue()) {
|
||||
value("")
|
||||
requestFocus(true)
|
||||
}
|
||||
errorText(data.uiState.error)
|
||||
interactionListener(object : SettingsEditTextItem.Listener {
|
||||
@ -199,8 +200,9 @@ class ThreePidsSettingsController @Inject constructor(
|
||||
id("addingMsisdn")
|
||||
inputType(InputType.TYPE_CLASS_PHONE)
|
||||
hint(stringProvider.getString(R.string.medium_phone_number))
|
||||
if (data.editTextReinitiator?.isTrue() == true) {
|
||||
if (data.editTextReinitiator.isTrue()) {
|
||||
value("")
|
||||
requestFocus(true)
|
||||
}
|
||||
errorText(data.uiState.error)
|
||||
interactionListener(object : SettingsEditTextItem.Listener {
|
||||
|
@ -28,6 +28,6 @@ data class ThreePidsSettingsViewState(
|
||||
val threePids: Async<List<ThreePid>> = Uninitialized,
|
||||
val pendingThreePids: Async<List<ThreePid>> = Uninitialized,
|
||||
val msisdnValidationRequests: Map<String, Async<Unit>> = emptyMap(),
|
||||
val editTextReinitiator: ReadOnceTrue? = null,
|
||||
val editTextReinitiator: ReadOnceTrue = ReadOnceTrue(),
|
||||
val msisdnValidationReinitiator: Map<ThreePid, ReadOnceTrue> = emptyMap()
|
||||
) : MvRxState
|
||||
|
Loading…
x
Reference in New Issue
Block a user