taler-android

Android apps for GNU Taler (wallet, PoS, cashier)
Log | Files | Refs | README | LICENSE

commit 688b7a2a8169f4f587f6f8373ed26228e88a9727
parent 4113c8e0d1cc8a31e2deff2aecacb6731050f9a3
Author: Torsten Grote <t@grobox.de>
Date:   Tue, 12 May 2020 10:04:23 -0300

[wallet] upgrade wallet-core and show supported versions in settings

Diffstat:
Mwallet/build.gradle | 2+-
Mwallet/src/main/java/net/taler/wallet/MainViewModel.kt | 14++++++++++----
Mwallet/src/main/java/net/taler/wallet/SettingsFragment.kt | 2++
3 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/wallet/build.gradle b/wallet/build.gradle @@ -23,7 +23,7 @@ plugins { id "de.undercouch.download" } -def walletCoreVersion = "v0.7.1-dev.1" +def walletCoreVersion = "v0.7.1-dev.2" android { compileSdkVersion 29 diff --git a/wallet/src/main/java/net/taler/wallet/MainViewModel.kt b/wallet/src/main/java/net/taler/wallet/MainViewModel.kt @@ -52,14 +52,20 @@ class MainViewModel(val app: Application) : AndroidViewModel(app) { val devMode = MutableLiveData(BuildConfig.DEBUG) val showProgressBar = MutableLiveData<Boolean>() + var exchangeVersion: String? = null + private set + var merchantVersion: String? = null + private set private val walletBackendApi = WalletBackendApi(app, { // nothing to do when we connect, balance will be requested by BalanceFragment in onStart() }) { payload -> - if ( - payload.getString("type") != "waiting-for-retry" && // ignore ping - payload.optString("operation") != "init" // ignore init notification - ) { + if (payload.optString("operation") == "init") { + val result = payload.getJSONObject("result") + val versions = result.getJSONObject("supported_protocol_versions") + exchangeVersion = versions.getString("exchange") + merchantVersion = versions.getString("merchant") + } else if (payload.getString("type") != "waiting-for-retry") { // ignore ping Log.i(TAG, "Received notification from wallet-core: ${payload.toString(2)}") loadBalances() if (payload.optString("type") in transactionNotifications) { diff --git a/wallet/src/main/java/net/taler/wallet/SettingsFragment.kt b/wallet/src/main/java/net/taler/wallet/SettingsFragment.kt @@ -73,6 +73,8 @@ class SettingsFragment : PreferenceFragmentCompat() { if (enabled) { prefVersionApp.summary = "$VERSION_NAME ($VERSION_CODE)" prefVersionCore.summary = WALLET_CORE_VERSION + model.exchangeVersion?.let { prefVersionExchange.summary = it } + model.merchantVersion?.let { prefVersionMerchant.summary = it } } devPrefs.forEach { it.isVisible = enabled } })