Focus on edit text + open keyboard when landing on screen
This commit is contained in:
parent
5498a7e96e
commit
bd9b843df7
@ -19,6 +19,7 @@ package im.vector.app.features.settings.devices.v2.rename
|
|||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
|
import android.view.WindowManager
|
||||||
import com.airbnb.mvrx.Mavericks
|
import com.airbnb.mvrx.Mavericks
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import im.vector.app.core.extensions.addFragment
|
import im.vector.app.core.extensions.addFragment
|
||||||
@ -37,6 +38,7 @@ class RenameSessionActivity : VectorBaseActivity<ActivitySimpleBinding>() {
|
|||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
|
|
||||||
if (isFirstCreation()) {
|
if (isFirstCreation()) {
|
||||||
|
window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE)
|
||||||
addFragment(
|
addFragment(
|
||||||
container = views.simpleFragmentContainer,
|
container = views.simpleFragmentContainer,
|
||||||
fragmentClass = RenameSessionFragment::class.java,
|
fragmentClass = RenameSessionFragment::class.java,
|
||||||
|
@ -24,6 +24,7 @@ import androidx.core.widget.doOnTextChanged
|
|||||||
import com.airbnb.mvrx.fragmentViewModel
|
import com.airbnb.mvrx.fragmentViewModel
|
||||||
import com.airbnb.mvrx.withState
|
import com.airbnb.mvrx.withState
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
|
import im.vector.app.core.extensions.showKeyboard
|
||||||
import im.vector.app.core.platform.VectorBaseFragment
|
import im.vector.app.core.platform.VectorBaseFragment
|
||||||
import im.vector.app.databinding.FragmentSessionRenameBinding
|
import im.vector.app.databinding.FragmentSessionRenameBinding
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
@ -59,6 +60,7 @@ class RenameSessionFragment :
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun initEditText() {
|
private fun initEditText() {
|
||||||
|
views.renameSessionEditText.showKeyboard(andRequestFocus = true)
|
||||||
views.renameSessionEditText.doOnTextChanged { text, _, _, _ ->
|
views.renameSessionEditText.doOnTextChanged { text, _, _, _ ->
|
||||||
viewModel.handle(RenameSessionAction.EditLocally(text.toString()))
|
viewModel.handle(RenameSessionAction.EditLocally(text.toString()))
|
||||||
}
|
}
|
||||||
@ -86,6 +88,7 @@ class RenameSessionFragment :
|
|||||||
override fun invalidate() = withState(viewModel) { state ->
|
override fun invalidate() = withState(viewModel) { state ->
|
||||||
if (renameEditTextInitialized.not()) {
|
if (renameEditTextInitialized.not()) {
|
||||||
views.renameSessionEditText.setText(state.editedDeviceName)
|
views.renameSessionEditText.setText(state.editedDeviceName)
|
||||||
|
views.renameSessionEditText.setSelection(views.renameSessionEditText.length())
|
||||||
renameEditTextInitialized = true
|
renameEditTextInitialized = true
|
||||||
}
|
}
|
||||||
views.renameSessionSave.isEnabled = state.editedDeviceName.isNotEmpty()
|
views.renameSessionSave.isEnabled = state.editedDeviceName.isNotEmpty()
|
||||||
|
Loading…
Reference in New Issue
Block a user