diff --git a/app/src/main/java/net/thauvin/erik/android/tesremoteprogrammer/MainActivity.kt b/app/src/main/java/net/thauvin/erik/android/tesremoteprogrammer/MainActivity.kt index 6c8ed2a..82ec8ec 100644 --- a/app/src/main/java/net/thauvin/erik/android/tesremoteprogrammer/MainActivity.kt +++ b/app/src/main/java/net/thauvin/erik/android/tesremoteprogrammer/MainActivity.kt @@ -44,7 +44,6 @@ import com.google.gson.JsonSyntaxException import net.thauvin.erik.android.tesremoteprogrammer.models.Config import net.thauvin.erik.android.tesremoteprogrammer.models.Configurations import net.thauvin.erik.android.tesremoteprogrammer.util.Dtmf -import net.thauvin.erik.android.tesremoteprogrammer.util.plural import org.jetbrains.anko.* import org.jetbrains.anko.design.textInputLayout import permissions.dispatcher.NeedsPermission @@ -304,10 +303,12 @@ class MainActivity : AppCompatActivity(), AnkoLogger { config = Gson().fromJson(InputStreamReader(resources.openRawResource(it)), Config::class.java) -// val errors = StringBuilder() -// if (!validateConfig(config, errors)) { -// info("${config.params.name}: $errors") -// } + if (BuildConfig.DEBUG) { + val errors = StringBuilder() + if (!validateConfig(config, errors)) { + info(">>> ${config.params.name}: " + Html.fromHtml(errors.toString())) + } + } confs.configs.put(config.params.name, config) } @@ -413,7 +414,7 @@ class MainActivity : AppCompatActivity(), AnkoLogger { if (size > 0 && (fields[1].text.length != size)) { isValid = false fields[1].error = getString(R.string.error_invalid_size, size, - getString(R.string.error_digit).plural(size)) + resources.getQuantityString(R.plurals.error_digit, size)) } return isValid diff --git a/app/src/main/java/net/thauvin/erik/android/tesremoteprogrammer/ProgrammingActivity.kt b/app/src/main/java/net/thauvin/erik/android/tesremoteprogrammer/ProgrammingActivity.kt index aac5c5a..f812334 100644 --- a/app/src/main/java/net/thauvin/erik/android/tesremoteprogrammer/ProgrammingActivity.kt +++ b/app/src/main/java/net/thauvin/erik/android/tesremoteprogrammer/ProgrammingActivity.kt @@ -41,7 +41,6 @@ import net.thauvin.erik.android.tesremoteprogrammer.filters.NumberFilter 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.plural import net.thauvin.erik.android.tesremoteprogrammer.widget.ScrollAwareFABBehavior import org.jetbrains.anko.* import org.jetbrains.anko.custom.ankoView @@ -230,7 +229,7 @@ class ProgrammingActivity : AppCompatActivity(), AnkoLogger { val size = option.fields[i].size if (!option.fields[i].alpha && size > 0 && (v.length() != size)) { v.error = getString(R.string.error_invalid_size, size, - getString(R.string.error_digit).plural(size)) + resources.getQuantityString(R.plurals.error_digit, size)) isValid = false } } diff --git a/app/src/main/java/net/thauvin/erik/android/tesremoteprogrammer/util/Strings.kt b/app/src/main/java/net/thauvin/erik/android/tesremoteprogrammer/util/Strings.kt index 6fd6057..8c3b937 100644 --- a/app/src/main/java/net/thauvin/erik/android/tesremoteprogrammer/util/Strings.kt +++ b/app/src/main/java/net/thauvin/erik/android/tesremoteprogrammer/util/Strings.kt @@ -17,24 +17,6 @@ */ package net.thauvin.erik.android.tesremoteprogrammer.util -fun String.plural(size: Int): String { - val consonants = "bcdfghjklmnpqrstvwxz" - - if (size > 1 && this.length > 2) { - if ((this.endsWith("o", true) || this.endsWith("s", true)) && - consonants.contains(this[this.length - 2], true)) { - return this + "es" - } - - if (this.endsWith("y", true) && - consonants.contains(this[this.length - 2], true)) { - return this + "ies" - } - } - - return this + "s" -} - fun String.replaceAll(replace: Array>): String { val result = StringBuilder(this) var offset: Int diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 1fd13b5..0dd532b 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -5,7 +5,10 @@ Configuration Errors TES Remote Programmer Import - digit + + digit + digits + Invalid DTMF: %1$s Missing or invalid fields data. Invalid: %1$d %2$s required @@ -20,6 +23,6 @@ <p><b>params</b>: <font color=\"red\">%1$s</font> invalid</p> <p><b>opts[%1$d]</b>: <font color=\"red\">fields</font> missing <p><p><b>params</b>: <font color=\"red\">%1$s</font> missing</p> - <font color=\"red\">opts</font> missing. - <b>opts[%1$d]</b>, <font color=\"red\">fields[%2$d]</font>: unused + <p><font color=\"red\">opts</font> missing.</p> + <p><b>opts[%1$d]</b>, <font color=\"red\">fields[%2$d]</font>: unused</p>