diff --git a/app/src/main/java/com/nextcloud/talk/polls/adapters/PollCreateOptionViewHolder.kt b/app/src/main/java/com/nextcloud/talk/polls/adapters/PollCreateOptionViewHolder.kt
index edb223103..6d40969dc 100644
--- a/app/src/main/java/com/nextcloud/talk/polls/adapters/PollCreateOptionViewHolder.kt
+++ b/app/src/main/java/com/nextcloud/talk/polls/adapters/PollCreateOptionViewHolder.kt
@@ -49,7 +49,7 @@ class PollCreateOptionViewHolder(
binding.pollOptionText.setText(pollCreateOptionItem.pollOption)
if (focus) {
- binding.pollOptionText.requestFocus()
+ itemsListener.requestFocus(binding.pollOptionText)
}
binding.pollOptionDelete.setOnClickListener {
diff --git a/app/src/main/java/com/nextcloud/talk/polls/adapters/PollCreateOptionsItemListener.kt b/app/src/main/java/com/nextcloud/talk/polls/adapters/PollCreateOptionsItemListener.kt
index 30c83fc9a..a057592bd 100644
--- a/app/src/main/java/com/nextcloud/talk/polls/adapters/PollCreateOptionsItemListener.kt
+++ b/app/src/main/java/com/nextcloud/talk/polls/adapters/PollCreateOptionsItemListener.kt
@@ -20,9 +20,13 @@
package com.nextcloud.talk.polls.adapters
+import android.widget.EditText
+
interface PollCreateOptionsItemListener {
fun onRemoveOptionsItemClick(pollCreateOptionItem: PollCreateOptionItem, position: Int)
fun onOptionsItemTextChanged(pollCreateOptionItem: PollCreateOptionItem)
+
+ fun requestFocus(textField: EditText)
}
diff --git a/app/src/main/java/com/nextcloud/talk/polls/ui/PollCreateDialogFragment.kt b/app/src/main/java/com/nextcloud/talk/polls/ui/PollCreateDialogFragment.kt
index 3a397aa72..2333d3313 100644
--- a/app/src/main/java/com/nextcloud/talk/polls/ui/PollCreateDialogFragment.kt
+++ b/app/src/main/java/com/nextcloud/talk/polls/ui/PollCreateDialogFragment.kt
@@ -29,6 +29,7 @@ import android.util.Log
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
+import android.widget.EditText
import android.widget.Toast
import androidx.appcompat.app.AlertDialog
import androidx.fragment.app.DialogFragment
@@ -89,6 +90,9 @@ class PollCreateDialogFragment : DialogFragment(), PollCreateOptionsItemListener
setupListeners()
setupStateObserver()
+
+ viewModel.addOption()
+ viewModel.addOption()
}
private fun setupListeners() {
@@ -159,6 +163,14 @@ class PollCreateDialogFragment : DialogFragment(), PollCreateOptionsItemListener
viewModel.optionsItemTextChanged()
}
+ override fun requestFocus(textField: EditText) {
+ if (binding.pollCreateQuestion.text.isBlank()) {
+ binding.pollCreateQuestion.requestFocus()
+ } else {
+ textField.requestFocus()
+ }
+ }
+
/**
* Fragment creator
*/
diff --git a/app/src/main/java/com/nextcloud/talk/polls/viewmodels/PollCreateViewModel.kt b/app/src/main/java/com/nextcloud/talk/polls/viewmodels/PollCreateViewModel.kt
index fcb38635c..e78184b3e 100644
--- a/app/src/main/java/com/nextcloud/talk/polls/viewmodels/PollCreateViewModel.kt
+++ b/app/src/main/java/com/nextcloud/talk/polls/viewmodels/PollCreateViewModel.kt
@@ -113,7 +113,7 @@ class PollCreateViewModel @Inject constructor(private val repository: PollReposi
roomToken, _question, _options.value!!.map { it.pollOption }, resultMode,
maxVotes
)
- ?.doOnSubscribe { disposable = it }
+ .doOnSubscribe { disposable = it }
?.subscribeOn(Schedulers.io())
?.observeOn(AndroidSchedulers.mainThread())
?.subscribe(PollObserver())
diff --git a/app/src/main/res/layout/dialog_poll_create.xml b/app/src/main/res/layout/dialog_poll_create.xml
index d1d1b73a1..9f954a325 100644
--- a/app/src/main/res/layout/dialog_poll_create.xml
+++ b/app/src/main/res/layout/dialog_poll_create.xml
@@ -33,10 +33,12 @@
android:textStyle="bold"
android:text="@string/polls_question" />
-
+ android:layout_height="wrap_content"
+ android:inputType="text"
+ tools:ignore="Autofill,LabelFor"/>