Added isLinear.

This commit is contained in:
Erik C. Thauvin 2016-09-07 22:24:40 -07:00
parent 6a8b8fc0bd
commit 469db3f463
3 changed files with 16 additions and 7 deletions

View file

@ -42,6 +42,7 @@ import net.thauvin.erik.android.tesremoteprogrammer.models.Option
import net.thauvin.erik.android.tesremoteprogrammer.models.Params
import net.thauvin.erik.android.tesremoteprogrammer.util.Dtmf
import net.thauvin.erik.android.tesremoteprogrammer.util.isDKS
import net.thauvin.erik.android.tesremoteprogrammer.util.isLinear
import net.thauvin.erik.android.tesremoteprogrammer.widget.ScrollAwareFABBehavior
import org.jetbrains.anko.*
import org.jetbrains.anko.custom.ankoView
@ -97,22 +98,26 @@ class ProgrammingActivity : AppCompatActivity(), AnkoLogger {
val inputFilters: ArrayList<InputFilter> = ArrayList()
val editText = editText() {
hint = field.hint
hint = field!!.hint
if (field.alpha) {
if (params.type.equals(Dtmf.DKS, true)) {
if (params.type.isDKS()) {
inputType = InputType.TYPE_CLASS_TEXT or InputType.TYPE_TEXT_FLAG_CAP_CHARACTERS
inputFilters.add(AlphaFilter(Dtmf.DKS_EXTRAS))
} else if (params.type.equals(Dtmf.LINEAR, true)) {
} else if (params.type.isLinear()) {
inputType = InputType.TYPE_CLASS_TEXT or InputType.TYPE_TEXT_FLAG_CAP_WORDS
inputFilters.add(AlphaFilter(Dtmf.LINEAR_EXTRAS))
}
} else {
inputType = InputType.TYPE_CLASS_PHONE
inputFilters.add(NumberFilter(field.digits, if (field.alt) params.alt else ""))
inputFilters.add(NumberFilter(field.digits, if (field.alt) params.alt else empty))
if (field.max != -1 && field.min != -1) {
inputFilters.add(
MinMaxFilter(field.min, field.max, field.size, params.type.isDKS() || field.zeros))
MinMaxFilter(
field.min,
field.max,
field.size,
params.type.isDKS() || field.zeros))
}
}

View file

@ -161,9 +161,9 @@ class Dtmf {
fields.forEachIndexed { i, field ->
replace.add(Pair(DTMF_FIELD.format(i + 1),
if (option.fields[i].alpha && type.equals(DKS, true)) {
if (option.fields[i]!!.alpha && type.isDKS()) {
dksAlphaToDigits(field.text.toString(), ack)
} else if (option.fields[i].alpha && type.equals(LINEAR, true)) {
} else if (option.fields[i]!!.alpha && type.isLinear()) {
linearAlphaToDigits(field.text.toString())
} else {
field.text.toString()

View file

@ -35,6 +35,10 @@ fun String.isDKS(): Boolean {
return this.equals(Dtmf.DKS, true)
}
fun String.isLinear(): Boolean {
return this.equals(Dtmf.LINEAR, true)
}
fun String.replaceAll(replace: Array<Pair<String, String>>): String {
val result = StringBuilder(this)
var offset: Int