Merge pull request #6805 from vector-im/cgizard/ISSUE-6645

Add inputType for room name creation and settings
This commit is contained in:
Benoit Marty 2022-08-16 11:05:57 +02:00 committed by GitHub
commit 8a4bd0c467
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 9 additions and 4 deletions

1
changelog.d/6645.misc Normal file
View File

@ -0,0 +1 @@
Enable auto-capitalization for Room creation Title field

View File

@ -58,6 +58,9 @@ abstract class FormEditTextItem : VectorEpoxyModel<FormEditTextItem.Holder>(R.la
@EpoxyAttribute
var singleLine: Boolean = true
@EpoxyAttribute
var autoCapitalize: Boolean = false
@EpoxyAttribute
var imeOptions: Int? = null
@ -132,10 +135,9 @@ abstract class FormEditTextItem : VectorEpoxyModel<FormEditTextItem.Holder>(R.la
*/
private fun configureInputType(holder: Holder) {
val newInputType =
inputType ?: when (singleLine) {
true -> InputType.TYPE_CLASS_TEXT
false -> InputType.TYPE_CLASS_TEXT or InputType.TYPE_TEXT_FLAG_MULTI_LINE
}
inputType ?: InputType.TYPE_CLASS_TEXT
.let { if (autoCapitalize) it or InputType.TYPE_TEXT_FLAG_CAP_SENTENCES else it }
.let { if (!singleLine) it or InputType.TYPE_TEXT_FLAG_MULTI_LINE else it }
// This is a must in order to avoid extreme lag in some devices, on fast typing
if (holder.textInputEditText.inputType != newInputType) {

View File

@ -67,6 +67,7 @@ class CreateRoomController @Inject constructor(
enabled(enableFormElement)
value(viewState.roomName)
hint(host.stringProvider.getString(R.string.create_room_name_hint))
autoCapitalize(true)
onTextChange { text ->
host.listener?.onNameChange(text)

View File

@ -91,6 +91,7 @@ class RoomSettingsController @Inject constructor(
enabled(data.actionPermissions.canChangeName)
value(data.newName ?: roomSummary.displayName)
hint(host.stringProvider.getString(R.string.room_settings_name_hint))
autoCapitalize(true)
onTextChange { text ->
host.callback?.onNameChanged(text)