diff --git a/app/src/main/kotlin/com/simplemobiletools/applauncher/adapters/RecyclerAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/applauncher/adapters/RecyclerAdapter.kt index be19839..d0c8abd 100644 --- a/app/src/main/kotlin/com/simplemobiletools/applauncher/adapters/RecyclerAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/applauncher/adapters/RecyclerAdapter.kt @@ -6,6 +6,7 @@ import android.support.v7.app.AppCompatActivity import android.support.v7.view.ActionMode import android.support.v7.widget.RecyclerView import android.view.* +import android.widget.Toast import com.bignerdranch.android.multiselector.ModalMultiSelectorCallback import com.bignerdranch.android.multiselector.MultiSelector import com.bignerdranch.android.multiselector.SwappingHolder @@ -17,6 +18,7 @@ import com.simplemobiletools.applauncher.models.AppLauncher import kotlinx.android.synthetic.main.app_launcher_dialog_item.view.* import kotlinx.android.synthetic.main.edit_launcher.view.* import java.util.* +import java.util.regex.Pattern class RecyclerAdapter(val act: Activity, val launchers: List, val itemClick: (AppLauncher) -> Unit) : RecyclerView.Adapter() { @@ -83,10 +85,20 @@ class RecyclerAdapter(val act: Activity, val launchers: List, val i val alertDialog = builder.create() alertDialog.show() alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener { - alertDialog.dismiss() + val newName = editView.edit_launcher_edittext.text.toString() + if (isValidName(newName)) { + alertDialog.dismiss() + } else { + Toast.makeText(act, act.resources.getString(R.string.invalid_characters), Toast.LENGTH_SHORT).show() + } } } + private fun isValidName(newName: String): Boolean { + val pattern = Pattern.compile("[0-9a-zA-Z-_. ]+") + return pattern.matcher(newName).matches() + } + private fun deleteSelectedItems() { val positions = multiSelector.selectedPositions val deleteIds = ArrayList(positions.size) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 53a80fc..c985589 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -5,6 +5,7 @@ Rename launcher OK Cancel + New launcher name contains invalid characters About