taler-android

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

commit 4d17586e94b89a6c4abcdf4622441715c46f0f78
parent c107260db2099de581e76a1f38e3697b7665440a
Author: Iván Ávalos <avalos@disroot.org>
Date:   Tue, 18 Jun 2024 13:05:45 -0600

[wallet] Better HTTP error logs + fix build error

bug 0008920

Diffstat:
Mmerchant-terminal/src/main/java/net/taler/merchantpos/MainViewModel.kt | 2+-
Mwallet/proguard-rules.pro | 7+++++++
Mwallet/src/main/java/net/taler/wallet/backend/NetworkInterface.kt | 17+++++++----------
3 files changed, 15 insertions(+), 11 deletions(-)

diff --git a/merchant-terminal/src/main/java/net/taler/merchantpos/MainViewModel.kt b/merchant-terminal/src/main/java/net/taler/merchantpos/MainViewModel.kt @@ -19,8 +19,8 @@ package net.taler.merchantpos import android.app.Application import androidx.lifecycle.AndroidViewModel import androidx.lifecycle.viewModelScope +import net.taler.common.getDefaultHttpClient import net.taler.merchantlib.MerchantApi -import net.taler.merchantlib.getDefaultHttpClient import net.taler.merchantpos.config.ConfigManager import net.taler.merchantpos.history.HistoryManager import net.taler.merchantpos.order.OrderManager diff --git a/wallet/proguard-rules.pro b/wallet/proguard-rules.pro @@ -24,3 +24,9 @@ -dontobfuscate -keep class net.taler.wallet.** {*;} + +-dontwarn java.lang.management.ManagementFactory +-dontwarn java.lang.management.RuntimeMXBean +-dontwarn org.slf4j.impl.StaticLoggerBinder +-dontwarn org.slf4j.impl.StaticMDCBinder +-dontwarn org.slf4j.impl.StaticMarkerBinder +\ No newline at end of file diff --git a/wallet/src/main/java/net/taler/wallet/backend/NetworkInterface.kt b/wallet/src/main/java/net/taler/wallet/backend/NetworkInterface.kt @@ -18,15 +18,13 @@ package net.taler.wallet.backend import android.util.Log import io.ktor.client.call.body -import io.ktor.client.plugins.ClientRequestException -import io.ktor.client.plugins.ServerResponseException +import io.ktor.client.plugins.ResponseException import io.ktor.client.request.header import io.ktor.client.request.headers import io.ktor.client.request.request import io.ktor.client.request.setBody import io.ktor.client.request.url import io.ktor.util.toMap -import io.ktor.utils.io.errors.IOException import kotlinx.coroutines.DelicateCoroutinesApi import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.Job @@ -36,6 +34,7 @@ import net.taler.common.getDefaultHttpClient import net.taler.common.toHttpMethod import net.taler.qtart.Networking import net.taler.wallet.TAG +import java.io.IOException import java.util.concurrent.ConcurrentHashMap @OptIn(DelicateCoroutinesApi::class) @@ -52,6 +51,7 @@ class NetworkInterface: Networking.RequestHandler { requests[id] = GlobalScope.launch { val resp = try { + // TODO: reuse the same client for every request getDefaultHttpClient( timeoutMs = req.timeoutMs, followRedirect = req.redirectMode == Networking.RedirectMode.Transparent, @@ -71,17 +71,14 @@ class NetworkInterface: Networking.RequestHandler { setBody(req.body) } } - } catch (e: ClientRequestException) { - Log.d(TAG, e.message) - null - } catch (e: ServerResponseException) { - Log.d(TAG, e.message) + } catch (e: ResponseException) { + Log.d(TAG, "Exception handling HTTP response", e) null } catch (e: IOException) { - Log.d(TAG, e.message ?: "IOException") + Log.d(TAG, "Exception handling HTTP response", e) null } catch (e: SerializationException) { - Log.d(TAG, e.message ?: "SerializationException") + Log.d(TAG, "Exception handling HTTP response", e) null } ?: return@launch