diff options
author | Torsten Grote <t@grobox.de> | 2020-07-21 10:44:32 -0300 |
---|---|---|
committer | Torsten Grote <t@grobox.de> | 2020-07-21 15:06:53 -0300 |
commit | 5d3d85fa7190a70eea8fa67866c343005b9922b0 (patch) | |
tree | 784e53d20b17f63e5def8f0704e7539f338ed637 /taler-kotlin-common/src/main/java/net/taler/common/AndroidUtils.kt | |
parent | c9fb036798fc533a07b4b75386b51151b31f8be0 (diff) | |
download | taler-android-5d3d85fa7190a70eea8fa67866c343005b9922b0.tar.gz taler-android-5d3d85fa7190a70eea8fa67866c343005b9922b0.tar.bz2 taler-android-5d3d85fa7190a70eea8fa67866c343005b9922b0.zip |
[pos] compare version from backend and show error if incompatible
Diffstat (limited to 'taler-kotlin-common/src/main/java/net/taler/common/AndroidUtils.kt')
-rw-r--r-- | taler-kotlin-common/src/main/java/net/taler/common/AndroidUtils.kt | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/taler-kotlin-common/src/main/java/net/taler/common/AndroidUtils.kt b/taler-kotlin-common/src/main/java/net/taler/common/AndroidUtils.kt index ba6ee1c..b46f306 100644 --- a/taler-kotlin-common/src/main/java/net/taler/common/AndroidUtils.kt +++ b/taler-kotlin-common/src/main/java/net/taler/common/AndroidUtils.kt @@ -112,3 +112,12 @@ fun Long.toShortDate(context: Context): CharSequence { val flags = FORMAT_SHOW_DATE or FORMAT_SHOW_YEAR or FORMAT_ABBREV_ALL return formatDateTime(context, this, flags) } + +fun Version.getIncompatibleStringOrNull(context: Context, otherVersion: String): String? { + val other = Version.parse(otherVersion) ?: return context.getString(R.string.version_invalid) + val match = compare(other) ?: return context.getString(R.string.version_invalid) + if (match.compatible) return null + if (match.currentCmp < 0) return context.getString(R.string.version_too_old) + if (match.currentCmp > 0) return context.getString(R.string.version_too_new) + throw AssertionError("$this == $other") +} |