Added type parameter.
This commit is contained in:
parent
c1e6b1167f
commit
fa40890202
13 changed files with 63 additions and 49 deletions
|
@ -347,6 +347,12 @@ class MainActivity : AppCompatActivity(), AnkoLogger {
|
|||
errors.append(getString(R.string.validate_missing_param, "name"))
|
||||
}
|
||||
|
||||
if (params.type.isBlank()) {
|
||||
errors.append(getString(R.string.validate_missing_param, "type"))
|
||||
} else if (!Dtmf.isValidType(params.type)) {
|
||||
errors.append(getString(R.string.validate_invalid_param, "type"))
|
||||
}
|
||||
|
||||
if (params.size < 1) {
|
||||
errors.append(getString(R.string.validate_invalid_param, "size"))
|
||||
}
|
||||
|
@ -387,11 +393,7 @@ class MainActivity : AppCompatActivity(), AnkoLogger {
|
|||
errors.append(getString(R.string.validate_invalid_attr, i + 1, j + 1, "digits"))
|
||||
}
|
||||
|
||||
if (!Dtmf.isValidAlpha(field.alpha)) {
|
||||
errors.append(getString(R.string.validate_invalid_attr, i + 1, j + 1, "alpha"))
|
||||
}
|
||||
|
||||
if (field.alpha.isBlank()) {
|
||||
if (!field.alpha) {
|
||||
if (field.min >= 0 || field.max >= 0) {
|
||||
if (field.max < 1) {
|
||||
errors.append(getString(R.string.validate_invalid_attr, i + 1, j + 1, "max"))
|
||||
|
|
|
@ -98,11 +98,11 @@ class ProgrammingActivity : AppCompatActivity(), AnkoLogger {
|
|||
val editText = editText() {
|
||||
hint = field.hint
|
||||
|
||||
if (field.alpha.isNotBlank()) {
|
||||
if (field.alpha.equals(Dtmf.DKS, true)) {
|
||||
if (field.alpha) {
|
||||
if (params.type.equals(Dtmf.DKS, true)) {
|
||||
inputType = InputType.TYPE_CLASS_TEXT or InputType.TYPE_TEXT_FLAG_CAP_CHARACTERS
|
||||
inputFilters.add(AlphaFilter(Dtmf.DKS_EXTRAS))
|
||||
} else if (field.alpha.equals(Dtmf.LINEAR, true)) {
|
||||
} else if (params.type.equals(Dtmf.LINEAR, true)) {
|
||||
inputType = InputType.TYPE_CLASS_TEXT or InputType.TYPE_TEXT_FLAG_CAP_SENTENCES
|
||||
inputFilters.add(AlphaFilter(Dtmf.LINEAR_EXTRAS))
|
||||
}
|
||||
|
@ -153,7 +153,7 @@ class ProgrammingActivity : AppCompatActivity(), AnkoLogger {
|
|||
|
||||
onClick {
|
||||
if (validateFields(fields, option)) {
|
||||
val dtmf = Dtmf.build(params.master, params.ack, option, fields)
|
||||
val dtmf = Dtmf.build(params.type, params.master, params.ack, option, fields)
|
||||
if (Dtmf.validate(dtmf, "${MainActivity.PAUSE}${params.ack}${params.alt}")) {
|
||||
val begin = if (params.begin.isNotBlank()) {
|
||||
"${params.begin}${MainActivity.PAUSE}"
|
||||
|
@ -198,7 +198,7 @@ class ProgrammingActivity : AppCompatActivity(), AnkoLogger {
|
|||
imageResource = R.drawable.fab_ic_call
|
||||
onClick {
|
||||
if (validateFields(fields, option)) {
|
||||
val dtmf = Dtmf.build(params.master, params.ack, option, fields)
|
||||
val dtmf = Dtmf.build(params.type, params.master, params.ack, option, fields)
|
||||
if (Dtmf.validate(dtmf, "${MainActivity.PAUSE}${params.ack}${params.alt}")) {
|
||||
ProgrammingActivityPermissionsDispatcher.callWithCheck(
|
||||
this@ProgrammingActivity, params.phone, dtmf)
|
||||
|
@ -250,7 +250,7 @@ class ProgrammingActivity : AppCompatActivity(), AnkoLogger {
|
|||
} else {
|
||||
option.fields[i].size
|
||||
}
|
||||
if (option.fields[i].alpha.isBlank() &&
|
||||
if (!option.fields[i].alpha &&
|
||||
!validateSize(v.length(), option.fields[i].minSize, option.fields[i].size)) {
|
||||
v.error = getString(R.string.error_invalid_size, size,
|
||||
resources.getQuantityString(R.plurals.error_digit, size))
|
||||
|
|
|
@ -22,8 +22,8 @@ import android.os.Parcelable
|
|||
import java.io.Serializable
|
||||
|
||||
data class Field(var hint: String,
|
||||
var alpha: String,
|
||||
var digits: String,
|
||||
var alpha: Boolean,
|
||||
val alt: Boolean,
|
||||
var zeros: Boolean,
|
||||
var minSize: Int,
|
||||
|
@ -40,12 +40,12 @@ data class Field(var hint: String,
|
|||
}
|
||||
}
|
||||
|
||||
constructor() : this("", "", "", false, true, -1, -1, -1, -1)
|
||||
constructor() : this("", "", false, false, true, -1, -1, -1, -1)
|
||||
|
||||
constructor(source: Parcel) : this(
|
||||
source.readString(),
|
||||
source.readString(),
|
||||
source.readString(),
|
||||
1.equals(source.readInt()),
|
||||
1.equals(source.readInt()),
|
||||
1.equals(source.readInt()),
|
||||
source.readInt(),
|
||||
|
@ -57,8 +57,8 @@ data class Field(var hint: String,
|
|||
|
||||
override fun writeToParcel(dest: Parcel?, flags: Int) {
|
||||
dest?.writeString(hint)
|
||||
dest?.writeString(alpha)
|
||||
dest?.writeString(digits)
|
||||
dest?.writeInt((if (alpha) 1 else 0))
|
||||
dest?.writeInt((if (alt) 1 else 0))
|
||||
dest?.writeInt((if (zeros) 1 else 0))
|
||||
dest?.writeInt(minSize)
|
||||
|
|
|
@ -22,6 +22,7 @@ import android.os.Parcelable
|
|||
import java.io.Serializable
|
||||
|
||||
data class Params(var name: String,
|
||||
var type: String,
|
||||
var phone: String,
|
||||
var master: String,
|
||||
var size: Int,
|
||||
|
@ -39,12 +40,13 @@ data class Params(var name: String,
|
|||
}
|
||||
}
|
||||
|
||||
constructor() : this("", "", "", -1, "", "", "", "")
|
||||
constructor() : this("", "", "", "", -1, "", "", "", "")
|
||||
|
||||
constructor(source: Parcel) : this(
|
||||
source.readString(),
|
||||
source.readString(),
|
||||
source.readString(),
|
||||
source.readString(),
|
||||
source.readInt(),
|
||||
source.readString(),
|
||||
source.readString(),
|
||||
|
@ -55,6 +57,7 @@ data class Params(var name: String,
|
|||
|
||||
override fun writeToParcel(dest: Parcel?, flags: Int) {
|
||||
dest?.writeString(name)
|
||||
dest?.writeString(type)
|
||||
dest?.writeString(phone)
|
||||
dest?.writeString(master)
|
||||
dest?.writeInt(size)
|
||||
|
|
|
@ -87,8 +87,8 @@ class Dtmf {
|
|||
return result.toString()
|
||||
}
|
||||
|
||||
fun isValidAlpha(alpha: String) : Boolean {
|
||||
return alpha.isBlank() || alpha.equals(DKS, true) || alpha.equals(LINEAR, true)
|
||||
fun isValidType(type: String): Boolean {
|
||||
return type.equals(DKS, true) || type.equals(LINEAR, true)
|
||||
}
|
||||
|
||||
|
||||
|
@ -152,7 +152,8 @@ class Dtmf {
|
|||
return result.toString()
|
||||
}
|
||||
|
||||
fun build(master: String,
|
||||
fun build(type: String,
|
||||
master: String,
|
||||
ack: String,
|
||||
option: Option,
|
||||
fields: ArrayList<EditText>): String {
|
||||
|
@ -160,12 +161,11 @@ class Dtmf {
|
|||
|
||||
fields.forEachIndexed { i, field ->
|
||||
replace.add(Pair(DTMF_FIELD.format(i + 1),
|
||||
if (option.fields[i].alpha.equals(DKS, true)) {
|
||||
if (type.equals(DKS, true)) {
|
||||
dksAlphaToDigits(field.text.toString(), ack)
|
||||
} else if (option.fields[i].alpha.equals(LINEAR, true)) {
|
||||
} else if (type.equals(LINEAR, true)) {
|
||||
linearAlphaToDigits(field.text.toString())
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
field.text.toString()
|
||||
}))
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{
|
||||
"params": {
|
||||
"name": "DKS 1802",
|
||||
"type": "dks",
|
||||
"ack": "*",
|
||||
"alt": "#",
|
||||
"end": "0 + #",
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{
|
||||
"params": {
|
||||
"name": "DKS 1802-EPD",
|
||||
"type": "dks",
|
||||
"ack": "*",
|
||||
"alt": "#",
|
||||
"end": "0 + #",
|
||||
|
@ -533,7 +534,7 @@
|
|||
{
|
||||
"hint": "Name",
|
||||
"size": 11,
|
||||
"alpha": "dks"
|
||||
"alpha": true
|
||||
}
|
||||
],
|
||||
"nodial": true,
|
||||
|
@ -545,17 +546,17 @@
|
|||
{
|
||||
"hint": "Message (Line 1)",
|
||||
"size": 16,
|
||||
"alpha": "dks"
|
||||
"alpha": true
|
||||
},
|
||||
{
|
||||
"hint": "Message (Line 2)",
|
||||
"size": 16,
|
||||
"alpha": "dks"
|
||||
"alpha": true
|
||||
},
|
||||
{
|
||||
"hint": "Message (Line 3)",
|
||||
"size": 16,
|
||||
"alpha": "dks"
|
||||
"alpha": true
|
||||
}
|
||||
],
|
||||
"nodial": true,
|
||||
|
@ -567,17 +568,17 @@
|
|||
{
|
||||
"hint": "Message (Line 1)",
|
||||
"size": 16,
|
||||
"alpha": "dks"
|
||||
"alpha": true
|
||||
},
|
||||
{
|
||||
"hint": "Message (Line 2)",
|
||||
"size": 16,
|
||||
"alpha": "dks"
|
||||
"alpha": true
|
||||
},
|
||||
{
|
||||
"hint": "Message (Line 3)",
|
||||
"size": 16,
|
||||
"alpha": "dks"
|
||||
"alpha": true
|
||||
}
|
||||
],
|
||||
"nodial": true,
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{
|
||||
"params": {
|
||||
"name": "DKS 1803/1808/1810",
|
||||
"type": "dks",
|
||||
"ack": "*",
|
||||
"alt": "#",
|
||||
"end": "0 + #",
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{
|
||||
"params": {
|
||||
"name": "DKS 1812",
|
||||
"type": "dks",
|
||||
"ack": "*",
|
||||
"alt": "#",
|
||||
"end": "0 + #",
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{
|
||||
"params": {
|
||||
"name": "DKS 1819",
|
||||
"type": "dks",
|
||||
"ack": "*",
|
||||
"alt": "#",
|
||||
"end": "0 + #",
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{
|
||||
"params": {
|
||||
"name": "Linear AE-100",
|
||||
"type": "linear",
|
||||
"ack": "#",
|
||||
"begin": "0 + 2",
|
||||
"size": 6
|
||||
|
@ -22,7 +23,7 @@
|
|||
{
|
||||
"hint": "Name",
|
||||
"size": 16,
|
||||
"alpha": "linear"
|
||||
"alpha": true
|
||||
},
|
||||
{
|
||||
"hint": "Phone",
|
||||
|
@ -51,7 +52,7 @@
|
|||
{
|
||||
"hint": "Name",
|
||||
"size": 16,
|
||||
"alpha": "linear"
|
||||
"alpha": true
|
||||
},
|
||||
{
|
||||
"hint": "Phone",
|
||||
|
@ -124,12 +125,12 @@
|
|||
{
|
||||
"hint": "Line 1",
|
||||
"size": 16,
|
||||
"alpha": "linear"
|
||||
"alpha": true
|
||||
},
|
||||
{
|
||||
"hint": "Line 2",
|
||||
"size": 16,
|
||||
"alpha": "linear"
|
||||
"alpha": true
|
||||
}
|
||||
],
|
||||
"dtmf": "[FIELD:1]#,[MASTER]#,57#,[FIELD:2]#,[FIELD:3]#,99#"
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{
|
||||
"params": {
|
||||
"name": "Linear AE-500",
|
||||
"type": "linear",
|
||||
"ack": "#",
|
||||
"begin": "0 + 2",
|
||||
"size": 6
|
||||
|
@ -22,7 +23,7 @@
|
|||
{
|
||||
"hint": "Name",
|
||||
"size": 16,
|
||||
"alpha": "linear"
|
||||
"alpha": true
|
||||
},
|
||||
{
|
||||
"hint": "Phone",
|
||||
|
@ -51,7 +52,7 @@
|
|||
{
|
||||
"hint": "Name",
|
||||
"size": 16,
|
||||
"alpha": "linear"
|
||||
"alpha": true
|
||||
},
|
||||
{
|
||||
"hint": "Phone",
|
||||
|
@ -166,12 +167,12 @@
|
|||
{
|
||||
"hint": "Line 1",
|
||||
"size": 16,
|
||||
"alpha": "linear"
|
||||
"alpha": true
|
||||
},
|
||||
{
|
||||
"hint": "Line 2",
|
||||
"size": 16,
|
||||
"alpha": "linear"
|
||||
"alpha": true
|
||||
}
|
||||
],
|
||||
"dtmf": "[FIELD:1]#,[MASTER]#,57#,[FIELD:2]#,[FIELD:3]#,99#"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue