From 335f6b9e493dcca53647837e1fe998dbcc140777 Mon Sep 17 00:00:00 2001 From: Craig Everett Date: Wed, 26 Aug 2026 19:13:27 +0900 Subject: [PATCH] WIP: Fix the spend URL derp --- .../java/swiss/qpq/gajumobile/MainActivity.kt | 1 + .../gajumobile/ui/screens/QRReceiveScreen.kt | 19 +++++++++++++++---- gm-java | 2 +- 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/swiss/qpq/gajumobile/MainActivity.kt b/app/src/main/java/swiss/qpq/gajumobile/MainActivity.kt index e340189..12dbf43 100644 --- a/app/src/main/java/swiss/qpq/gajumobile/MainActivity.kt +++ b/app/src/main/java/swiss/qpq/gajumobile/MainActivity.kt @@ -847,6 +847,7 @@ fun GajuRouter( QRReceiveScreen( account = activeAccount, + networkId = activeWallet.networkId, balanceFormat = GajuFormat.Type.valueOf(appState.balanceFormat), balanceUnit = GajuFormat.Unit.valueOf(appState.balanceUnit), onDone = { navigateBack() }, diff --git a/app/src/main/java/swiss/qpq/gajumobile/ui/screens/QRReceiveScreen.kt b/app/src/main/java/swiss/qpq/gajumobile/ui/screens/QRReceiveScreen.kt index 58e5dd0..52c3fd4 100644 --- a/app/src/main/java/swiss/qpq/gajumobile/ui/screens/QRReceiveScreen.kt +++ b/app/src/main/java/swiss/qpq/gajumobile/ui/screens/QRReceiveScreen.kt @@ -57,6 +57,7 @@ import java.net.URLEncoder @Composable fun QRReceiveScreen( account: swiss.qpq.gajumobile.data.models.Account, + networkId: String, balanceFormat: GajuFormat.Type, balanceUnit: GajuFormat.Unit, onDone: () -> Unit, @@ -80,14 +81,24 @@ fun QRReceiveScreen( GajuFormat.amount(GajuFormat.standardSpec(balanceFormat, balanceUnit), amountPucks) } - val generatedUrl = remember(amountPucks, payload, account.gajuId) { + val generatedUrl = remember(amountPucks, payload, account.gajuId, networkId) { try { - val baseUrl = "grids://gaju/1/s/${account.gajuId}?a=$amountPucks" + val baseUrl = "grids://$networkId/1/s/${account.gajuId}" + val queryParams = mutableListOf() + + if (amountPucks > BigInteger.ZERO) { + queryParams.add("a=$amountPucks") + } + if (payload.isNotBlank()) { val p = URLEncoder.encode(payload, "UTF-8") - "$baseUrl&p=$p" - } else { + queryParams.add("p=$p") + } + + if (queryParams.isEmpty()) { baseUrl + } else { + baseUrl + "?" + queryParams.joinToString("&") } } catch (_: Exception) { "" diff --git a/gm-java b/gm-java index 7cd299d..45c6f9c 160000 --- a/gm-java +++ b/gm-java @@ -1 +1 @@ -Subproject commit 7cd299d250963ccefad8325a25bd29eb4c86c63e +Subproject commit 45c6f9c73010fa0373524accb23c125ede052730