Kotlin 1.6 optimization.
This commit is contained in:
parent
1baeb4902c
commit
16a219be2f
11 changed files with 49 additions and 69 deletions
2
.idea/misc.xml
generated
2
.idea/misc.xml
generated
|
@ -37,7 +37,7 @@
|
|||
<ConfirmationsSetting value="0" id="Add" />
|
||||
<ConfirmationsSetting value="0" id="Remove" />
|
||||
</component>
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" assert-keyword="true" jdk-15="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" assert-keyword="true" jdk-15="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/build/classes" />
|
||||
</component>
|
||||
<component name="ProjectType">
|
||||
|
|
|
@ -3,13 +3,13 @@ apply plugin: 'kotlin-android'
|
|||
apply plugin: 'kotlin-android-extensions'
|
||||
|
||||
android {
|
||||
compileSdkVersion 24
|
||||
buildToolsVersion "24.0.2"
|
||||
compileSdkVersion 25
|
||||
buildToolsVersion "25.0.1"
|
||||
|
||||
defaultConfig {
|
||||
applicationId "net.thauvin.erik.android.tesremoteprogrammer"
|
||||
minSdkVersion 21
|
||||
targetSdkVersion 24
|
||||
targetSdkVersion 25
|
||||
versionCode 1
|
||||
versionName "1.0"
|
||||
}
|
||||
|
@ -29,28 +29,29 @@ dependencies {
|
|||
|
||||
testCompile 'junit:junit:4.12'
|
||||
|
||||
compile 'com.android.support:support-v13:24.1.1'
|
||||
compile 'com.android.support:appcompat-v7:24.1.1'
|
||||
compile 'com.android.support:support-v13:25.0.1'
|
||||
compile 'com.android.support:appcompat-v7:25.0.1'
|
||||
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
|
||||
compile 'org.jetbrains.anko:anko-sdk23:0.9'
|
||||
compile 'org.jetbrains.anko:anko-appcompat-v7:0.9'
|
||||
compile 'org.jetbrains.anko:anko-support-v4:0.9'
|
||||
compile 'org.jetbrains.anko:anko-design:0.9'
|
||||
compile 'com.android.support:design:24.1.1'
|
||||
compile 'org.jetbrains.anko:anko-sdk23:0.9.1'
|
||||
compile 'org.jetbrains.anko:anko-appcompat-v7:0.9.1'
|
||||
compile 'org.jetbrains.anko:anko-support-v4:0.9.1'
|
||||
compile 'org.jetbrains.anko:anko-design:0.9.1'
|
||||
compile 'com.android.support:design:25.0.1'
|
||||
compile group: 'com.google.code.gson', name: 'gson', version: '2.7'
|
||||
|
||||
// https://github.com/JakeWharton/ViewPagerIndicator
|
||||
compile 'fr.avianey.com.viewpagerindicator:library:2.4.1.1@aar'
|
||||
|
||||
// https://github.com/AndroidDeveloperLB/AutoFitTextView
|
||||
compile 'com.github.AndroidDeveloperLB:AutoFitTextView:3'
|
||||
compile 'com.github.AndroidDeveloperLB:AutoFitTextView:4'
|
||||
|
||||
// https://github.com/hotchemi/PermissionsDispatcher
|
||||
compile 'com.github.hotchemi:permissionsdispatcher:2.1.3'
|
||||
kapt 'com.github.hotchemi:permissionsdispatcher-processor:2.1.3'
|
||||
compile 'com.github.hotchemi:permissionsdispatcher:2.2.0'
|
||||
kapt 'com.github.hotchemi:permissionsdispatcher-processor:2.2.0'
|
||||
}
|
||||
|
||||
repositories {
|
||||
maven { url 'https://dl.bintray.com/jetbrains/anko/'}
|
||||
mavenCentral()
|
||||
maven { url "https://jitpack.io" }
|
||||
}
|
||||
|
|
|
@ -138,7 +138,7 @@ class MainActivity : AppCompatActivity(), AnkoLogger {
|
|||
recreate()
|
||||
}
|
||||
|
||||
if (errors.length > 0) {
|
||||
if (errors.isNotEmpty()) {
|
||||
alert {
|
||||
title(R.string.alert_config_error)
|
||||
message(fromHtml("$errors"))
|
||||
|
@ -392,7 +392,7 @@ class MainActivity : AppCompatActivity(), AnkoLogger {
|
|||
}
|
||||
|
||||
// options
|
||||
if (opts.size == 0) {
|
||||
if (opts.isEmpty()) {
|
||||
errors.append(getString(R.string.validate_missing_opts))
|
||||
} else {
|
||||
opts.forEachIndexed { i, option ->
|
||||
|
@ -424,7 +424,7 @@ class MainActivity : AppCompatActivity(), AnkoLogger {
|
|||
R.string.validate_missing_opts_prop,
|
||||
i + 1,
|
||||
"dtmf"))
|
||||
} else if (fields.size == 0) { // fields missing
|
||||
} else if (fields.isEmpty()) { // fields missing
|
||||
errors.append(getString(
|
||||
R.string.validate_missing_opts_prop,
|
||||
i + 1,
|
||||
|
|
|
@ -21,13 +21,7 @@ import android.text.InputFilter
|
|||
import android.text.SpannableStringBuilder
|
||||
import android.text.Spanned
|
||||
|
||||
class AlphaFilter : InputFilter {
|
||||
private val extras: String
|
||||
|
||||
constructor(extras: String) {
|
||||
this.extras = extras
|
||||
}
|
||||
|
||||
class AlphaFilter(private val extras: String) : InputFilter {
|
||||
override fun filter(source: CharSequence,
|
||||
start: Int,
|
||||
end: Int,
|
||||
|
@ -45,12 +39,10 @@ class AlphaFilter : InputFilter {
|
|||
return source
|
||||
} else {
|
||||
val sb = StringBuilder()
|
||||
for (i in start..end - 1) {
|
||||
val c = source[i]
|
||||
if (c.isLetterOrDigit() || extras.contains(c)) {
|
||||
sb.append(c)
|
||||
}
|
||||
}
|
||||
(start..end - 1)
|
||||
.map { source[it] }
|
||||
.filter { it.isLetterOrDigit() || extras.contains(it) }
|
||||
.forEach { sb.append(it) }
|
||||
return sb.toString()
|
||||
}
|
||||
}
|
||||
|
|
|
@ -21,18 +21,7 @@ import android.text.InputFilter
|
|||
import android.text.Spanned
|
||||
import org.jetbrains.anko.AnkoLogger
|
||||
|
||||
class MinMaxFilter : InputFilter, AnkoLogger {
|
||||
private val min: Int
|
||||
private val max: Int
|
||||
private val size: Int
|
||||
private val zeros: Boolean
|
||||
|
||||
constructor(min: Int, max: Int, size: Int, zeros: Boolean) {
|
||||
this.min = min
|
||||
this.max = max
|
||||
this.size = size
|
||||
this.zeros = zeros
|
||||
}
|
||||
class MinMaxFilter(private val min: Int, private val max: Int, private val size: Int, private val zeros: Boolean) : InputFilter, AnkoLogger {
|
||||
|
||||
override fun filter(source: CharSequence, start: Int, end: Int, dest: Spanned, dstart: Int, dend: Int): CharSequence? {
|
||||
val input = (dest.toString() + source.toString())
|
||||
|
|
|
@ -23,18 +23,10 @@ import android.text.Spanned
|
|||
import net.thauvin.erik.android.tesremoteprogrammer.util.isDigits
|
||||
import org.jetbrains.anko.AnkoLogger
|
||||
|
||||
class NumberFilter : InputFilter, AnkoLogger {
|
||||
class NumberFilter(allowed: String, alt: String) : InputFilter, AnkoLogger {
|
||||
private val allowed: String
|
||||
private val digits = "0123456789"
|
||||
|
||||
constructor(allowed: String, alt: String) {
|
||||
this.allowed = if (allowed.isDigits()) {
|
||||
"$allowed$alt"
|
||||
} else {
|
||||
"$digits$alt"
|
||||
}
|
||||
}
|
||||
|
||||
override fun filter(source: CharSequence,
|
||||
start: Int,
|
||||
end: Int,
|
||||
|
@ -52,13 +44,19 @@ class NumberFilter : InputFilter, AnkoLogger {
|
|||
return source
|
||||
} else {
|
||||
val sb = StringBuilder()
|
||||
for (i in start..end - 1) {
|
||||
val c = source[i]
|
||||
if (allowed.contains(c)) {
|
||||
sb.append(c.toUpperCase())
|
||||
}
|
||||
}
|
||||
(start..end - 1)
|
||||
.map { source[it] }
|
||||
.filter { allowed.contains(it) }
|
||||
.forEach { sb.append(it.toUpperCase()) }
|
||||
return sb.toString()
|
||||
}
|
||||
}
|
||||
|
||||
init {
|
||||
this.allowed = if (allowed.isDigits()) {
|
||||
"$allowed$alt"
|
||||
} else {
|
||||
"$digits$alt"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -45,9 +45,9 @@ data class Field(var hint: String,
|
|||
constructor(source: Parcel) : this(
|
||||
source.readString(),
|
||||
source.readString(),
|
||||
1.equals(source.readInt()),
|
||||
1.equals(source.readInt()),
|
||||
1.equals(source.readInt()),
|
||||
1 == source.readInt(),
|
||||
1 == source.readInt(),
|
||||
1 == source.readInt(),
|
||||
source.readInt(),
|
||||
source.readInt(),
|
||||
source.readInt(),
|
||||
|
|
|
@ -41,8 +41,8 @@ data class Option(var title: String,
|
|||
constructor(source: Parcel) : this(
|
||||
source.readString(),
|
||||
source.createTypedArrayList(Field.CREATOR),
|
||||
1.equals(source.readInt()),
|
||||
1.equals(source.readInt()),
|
||||
1 == source.readInt(),
|
||||
1 == source.readInt(),
|
||||
source.readString())
|
||||
|
||||
override fun compareTo(other: Option): Int {
|
||||
|
|
|
@ -157,7 +157,7 @@ class Dtmf {
|
|||
ack: String,
|
||||
option: Option,
|
||||
fields: ArrayList<EditText>): String {
|
||||
val replace = arrayListOf(Pair("$DTMF_MASTER", master))
|
||||
val replace = arrayListOf(Pair(DTMF_MASTER, master))
|
||||
|
||||
fields.forEachIndexed { i, field ->
|
||||
replace.add(Pair(DTMF_FIELD.format(i + 1),
|
||||
|
@ -175,7 +175,7 @@ class Dtmf {
|
|||
|
||||
fun validate(dtmf: String, extra: String): Boolean {
|
||||
dtmf.forEach {
|
||||
if (!(it.isDigit() || it.equals(',') || extra.contains(it))) {
|
||||
if (!(it.isDigit() || it == ',' || extra.contains(it))) {
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
@ -183,7 +183,7 @@ class Dtmf {
|
|||
}
|
||||
|
||||
fun mock(option: Option, blank: String): String {
|
||||
val replace = arrayListOf(Pair("$DTMF_MASTER", blank))
|
||||
val replace = arrayListOf(Pair(DTMF_MASTER, blank))
|
||||
|
||||
option.fields.forEachIndexed { i, field ->
|
||||
replace.add(Pair(DTMF_FIELD.format(i + 1), blank))
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
||||
|
||||
buildscript {
|
||||
ext.kotlin_version = '1.0.4'
|
||||
ext.kotlin_version = '1.0.6'
|
||||
repositories {
|
||||
jcenter()
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:2.2.0'
|
||||
classpath 'com.android.tools.build:gradle:2.3.0-beta4'
|
||||
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
||||
|
||||
// NOTE: Do not place your application dependencies here; they belong
|
||||
|
|
4
gradle/wrapper/gradle-wrapper.properties
vendored
4
gradle/wrapper/gradle-wrapper.properties
vendored
|
@ -1,6 +1,6 @@
|
|||
#Mon Sep 19 21:43:42 PDT 2016
|
||||
#Thu Feb 09 15:12:18 PST 2017
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue