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:
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