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