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

View File

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

View File

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