Bug 1812730 - Prevent collections with empty name from being created

fenix/119.0
gitstart 10 months ago committed by mergify[bot]
parent 058a0ccdd9
commit c7249d5e78

@ -65,8 +65,8 @@ class CollectionCreationView(
COLLECTION_NAME_MAX_LENGTH,
)
binding.nameCollectionEdittext.setOnEditorActionListener { view, actionId, _ ->
val text = view.text.toString()
if (actionId == EditorInfo.IME_ACTION_DONE && text.isNotBlank()) {
val text = view.text.toString().trim()
if (actionId == EditorInfo.IME_ACTION_DONE && text.isNotEmpty()) {
when (step) {
SaveCollectionStep.NameCollection ->
interactor.onNewCollectionNameSaved(selectedTabs.toList(), text)
@ -76,7 +76,7 @@ class CollectionCreationView(
}
}
}
false
actionId == EditorInfo.IME_ACTION_DONE && text.isEmpty()
}
binding.tabList.run {

@ -5,9 +5,12 @@
package org.mozilla.fenix.collections
import android.content.Context
import android.content.DialogInterface
import android.view.LayoutInflater
import android.view.inputmethod.EditorInfo
import android.widget.EditText
import androidx.appcompat.app.AlertDialog
import androidx.core.widget.doOnTextChanged
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import kotlinx.coroutines.MainScope
@ -109,13 +112,13 @@ internal fun CollectionsDialog.showAddNewDialog(
),
)
AlertDialog.Builder(context)
val dialog = AlertDialog.Builder(context)
.setTitle(R.string.tab_tray_add_new_collection)
.setView(layout).setPositiveButton(R.string.create_collection_positive) { dialog, _ ->
MainScope().launch {
val id = storage.createCollection(
collectionNameEditText.text.toString(),
collectionNameEditText.text.toString().trim(),
sessionList,
)
onPositiveButtonClick.invoke(id, true)
@ -128,8 +131,18 @@ internal fun CollectionsDialog.showAddNewDialog(
dialog.cancel()
}
.create().withCenterAlignedButtons()
.show()
collectionNameEditText.doOnTextChanged { text, _, _, _ ->
dialog.getButton(DialogInterface.BUTTON_POSITIVE).isClickable = text.toString().isNotBlank()
}
dialog.show()
collectionNameEditText.setSelection(0, collectionNameEditText.text.length)
collectionNameEditText.showKeyboard()
collectionNameEditText.setOnEditorActionListener { _, actionId, _ ->
val text = collectionNameEditText.text.toString()
actionId == EditorInfo.IME_ACTION_DONE && text.isBlank()
}
}

Loading…
Cancel
Save