commit 4572a3d5fc5ae5f3bbeaa8836fb919dcec0483e0
parent ce5a1d2476b1a344b881dd92840934925aedd394
Author: Florian Dold <florian.dold@gmail.com>
Date: Thu, 3 Sep 2020 22:57:39 +0530
[cashier] API change
Diffstat:
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/cashier/src/main/java/net/taler/cashier/MainViewModel.kt b/cashier/src/main/java/net/taler/cashier/MainViewModel.kt
@@ -64,19 +64,20 @@ class MainViewModel(private val app: Application) : AndroidViewModel(app) {
fun getBalance() = viewModelScope.launch(Dispatchers.IO) {
check(configManager.hasConfig()) { "No config to get balance" }
val config = configManager.config
- val url = "${config.bankUrl}/accounts/${config.username}/balance"
+ val url = "${config.bankUrl}/accounts/${config.username}"
Log.d(TAG, "Checking balance at $url")
val result = when (val response = makeJsonGetRequest(url, config)) {
is HttpJsonResult.Success -> {
try {
- val balance = response.json.getString("amount")
+ val balanceObj = response.json.getJSONObject("balance");
+ val balanceAmount = balanceObj.getString("amount")
val positive = when (val creditDebitIndicator =
- response.json.getString("credit_debit_indicator")) {
+ balanceObj.getString("credit_debit_indicator")) {
"credit" -> true
"debit" -> false
else -> throw AmountParserException("Unexpected credit_debit_indicator: $creditDebitIndicator")
}
- BalanceResult.Success(SignedAmount(positive, Amount.fromJSONString(balance)))
+ BalanceResult.Success(SignedAmount(positive, Amount.fromJSONString(balanceAmount)))
} catch (e: Exception) {
Log.e(TAG, "Error parsing balance", e)
BalanceResult.Error("Invalid amount:\n${response.json.toString(2)}")