summaryrefslogtreecommitdiff
path: root/merchant-terminal/src/main/java/net/taler/merchantpos/config/ConfigManager.kt
diff options
context:
space:
mode:
Diffstat (limited to 'merchant-terminal/src/main/java/net/taler/merchantpos/config/ConfigManager.kt')
-rw-r--r--merchant-terminal/src/main/java/net/taler/merchantpos/config/ConfigManager.kt13
1 files changed, 7 insertions, 6 deletions
diff --git a/merchant-terminal/src/main/java/net/taler/merchantpos/config/ConfigManager.kt b/merchant-terminal/src/main/java/net/taler/merchantpos/config/ConfigManager.kt
index eee7905..a7aff18 100644
--- a/merchant-terminal/src/main/java/net/taler/merchantpos/config/ConfigManager.kt
+++ b/merchant-terminal/src/main/java/net/taler/merchantpos/config/ConfigManager.kt
@@ -34,14 +34,14 @@ import com.fasterxml.jackson.module.kotlin.readValue
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
+import net.taler.common.Version
+import net.taler.common.getIncompatibleStringOrNull
import net.taler.merchantlib.ConfigResponse
import net.taler.merchantlib.MerchantApi
import net.taler.merchantpos.LogErrorListener
import net.taler.merchantpos.R
import org.json.JSONObject
-private const val VERSION = "0:0:0"
-
private const val SETTINGS_NAME = "taler-merchant-terminal"
private const val SETTINGS_CONFIG_URL = "configUrl"
@@ -52,6 +52,8 @@ internal const val CONFIG_URL_DEMO = "https://docs.taler.net/_static/sample-pos-
internal const val CONFIG_USERNAME_DEMO = ""
internal const val CONFIG_PASSWORD_DEMO = ""
+private val VERSION = Version(1, 0, 0)
+
private val TAG = ConfigManager::class.java.simpleName
interface ConfigurationReceiver {
@@ -131,10 +133,9 @@ class ConfigManager(
merchantConfig: MerchantConfig,
configResponse: ConfigResponse
) = scope.launch(Dispatchers.Default) {
- // TODO do real matching
- if (VERSION != configResponse.version) {
- val str = context.getString(R.string.config_error_version)
- mConfigUpdateResult.postValue(ConfigUpdateResult.Error(str))
+ val versionIncompatible = VERSION.getIncompatibleStringOrNull(context, configResponse.version)
+ if (versionIncompatible != null) {
+ mConfigUpdateResult.postValue(ConfigUpdateResult.Error(versionIncompatible))
return@launch
}
for (receiver in configurationReceivers) {