creating generic extension for converting empty strings to null and making use for finding option regex match
This commit is contained in:
parent
10016fcb15
commit
fa21b6d224
|
@ -27,3 +27,8 @@ fun CharSequence.ensurePrefix(prefix: CharSequence): CharSequence {
|
||||||
* Append a new line and then the provided string.
|
* Append a new line and then the provided string.
|
||||||
*/
|
*/
|
||||||
fun StringBuilder.appendNl(str: String) = append("\n").append(str)
|
fun StringBuilder.appendNl(str: String) = append("\n").append(str)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns null if the string is empty.
|
||||||
|
*/
|
||||||
|
fun String.ensureNotEmpty() = ifEmpty { null }
|
||||||
|
|
|
@ -16,6 +16,8 @@
|
||||||
|
|
||||||
package org.matrix.android.sdk.internal.auth.version
|
package org.matrix.android.sdk.internal.auth.version
|
||||||
|
|
||||||
|
import org.matrix.android.sdk.api.extensions.ensureNotEmpty
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Values will take the form "rX.Y.Z".
|
* Values will take the form "rX.Y.Z".
|
||||||
* Ref: https://matrix.org/docs/spec/client_server/latest#get-matrix-client-versions
|
* Ref: https://matrix.org/docs/spec/client_server/latest#get-matrix-client-versions
|
||||||
|
@ -45,7 +47,7 @@ internal data class HomeServerVersion(
|
||||||
return HomeServerVersion(
|
return HomeServerVersion(
|
||||||
major = result.groupValues[1].toInt(),
|
major = result.groupValues[1].toInt(),
|
||||||
minor = result.groupValues[2].toInt(),
|
minor = result.groupValues[2].toInt(),
|
||||||
patch = result.groupValues.getOptional(index = 3, default = "0").toInt()
|
patch = result.groupValues.getOrNull(index = 3)?.ensureNotEmpty()?.toInt() ?: 0
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -59,5 +61,3 @@ internal data class HomeServerVersion(
|
||||||
val v1_3_0 = HomeServerVersion(major = 1, minor = 3, patch = 0)
|
val v1_3_0 = HomeServerVersion(major = 1, minor = 3, patch = 0)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun List<String>.getOptional(index: Int, default: String) = getOrNull(index)?.ifEmpty { default } ?: default
|
|
||||||
|
|
Loading…
Reference in New Issue