From 89f182ac3529b4a8371215ba1a3e8df136489c57 Mon Sep 17 00:00:00 2001 From: Adam Brown Date: Mon, 4 Apr 2022 17:00:38 +0100 Subject: [PATCH] adding missing IME handling for the register next focus and server selection submit --- ...FtueAuthCombinedServerSelectionFragment.kt | 19 ++++++++++++++++--- ...ragment_ftue_server_selection_combined.xml | 2 +- .../layout/fragment_ftue_sign_up_combined.xml | 1 + 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthCombinedServerSelectionFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthCombinedServerSelectionFragment.kt index 4603ecb0dc..9390c3938d 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthCombinedServerSelectionFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthCombinedServerSelectionFragment.kt @@ -20,7 +20,7 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import androidx.core.view.isEmpty +import android.view.inputmethod.EditorInfo import im.vector.app.core.extensions.content import im.vector.app.core.extensions.editText import im.vector.app.core.extensions.realignPercentagesToParent @@ -47,9 +47,22 @@ class FtueAuthCombinedServerSelectionFragment @Inject constructor() : AbstractFt viewModel.handle(OnboardingAction.PostViewEvent(OnboardingViewEvents.OnBack)) } - views.chooseServerSubmit.debouncedClicks { - viewModel.handle(OnboardingAction.EditHomeServer(views.chooseServerInput.content().ensureProtocol().ensureTrailingSlash())) + views.chooseServerInput.editText?.setOnEditorActionListener { _, actionId, _ -> + when (actionId) { + EditorInfo.IME_ACTION_DONE -> { + updateServerUrl() + } + } + false } + + views.chooseServerSubmit.debouncedClicks { + updateServerUrl() + } + } + + private fun updateServerUrl() { + viewModel.handle(OnboardingAction.EditHomeServer(views.chooseServerInput.content().ensureProtocol().ensureTrailingSlash())) } override fun resetViewModel() { diff --git a/vector/src/main/res/layout/fragment_ftue_server_selection_combined.xml b/vector/src/main/res/layout/fragment_ftue_server_selection_combined.xml index 8da4958007..454a73fbe7 100644 --- a/vector/src/main/res/layout/fragment_ftue_server_selection_combined.xml +++ b/vector/src/main/res/layout/fragment_ftue_server_selection_combined.xml @@ -105,7 +105,7 @@ diff --git a/vector/src/main/res/layout/fragment_ftue_sign_up_combined.xml b/vector/src/main/res/layout/fragment_ftue_sign_up_combined.xml index 5c3fa9cf8f..9d61780ad0 100644 --- a/vector/src/main/res/layout/fragment_ftue_sign_up_combined.xml +++ b/vector/src/main/res/layout/fragment_ftue_sign_up_combined.xml @@ -173,6 +173,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:imeOptions="actionNext" + android:nextFocusForward="@id/createAccountPasswordInput" android:inputType="text" android:maxLines="1" />