[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-taler-android] 04/05: [wallet] Add support for ext+taler:// URI
From: |
gnunet |
Subject: |
[taler-taler-android] 04/05: [wallet] Add support for ext+taler:// URI |
Date: |
Tue, 14 Feb 2023 20:30:26 +0100 |
This is an automated email from the git hooks/post-receive script.
torsten-grote pushed a commit to branch master
in repository taler-android.
commit 2731915faa8cfa57419fef8747ecab09a51ac991
Author: Iván Ávalos <avalos@disroot.org>
AuthorDate: Tue Feb 14 11:12:42 2023 -0600
[wallet] Add support for ext+taler:// URI
---
wallet/src/main/AndroidManifest.xml | 4 ++++
.../src/main/java/net/taler/wallet/MainActivity.kt | 23 +++++++++++++++-------
2 files changed, 20 insertions(+), 7 deletions(-)
diff --git a/wallet/src/main/AndroidManifest.xml
b/wallet/src/main/AndroidManifest.xml
index 01e82a6..c40b87e 100644
--- a/wallet/src/main/AndroidManifest.xml
+++ b/wallet/src/main/AndroidManifest.xml
@@ -65,6 +65,10 @@
<data
android:scheme="TALER"
tools:ignore="AppLinkUrlError" />
+ <data android:scheme="ext+taler" />
+ <data
+ android:scheme="EXT+TALER"
+ tools:ignore="AppLinkUrlError" />
<data android:scheme="payto" />
</intent-filter>
</activity>
diff --git a/wallet/src/main/java/net/taler/wallet/MainActivity.kt
b/wallet/src/main/java/net/taler/wallet/MainActivity.kt
index c3fc433..fcc9dee 100644
--- a/wallet/src/main/java/net/taler/wallet/MainActivity.kt
+++ b/wallet/src/main/java/net/taler/wallet/MainActivity.kt
@@ -235,9 +235,13 @@ class MainActivity : AppCompatActivity(),
OnNavigationItemSelectedListener,
}
val normalizedURL = u.lowercase(ROOT)
+ var ext = false
val action = normalizedURL.substring(
if (normalizedURL.startsWith("taler://", ignoreCase = true)) {
"taler://".length
+ } else if (normalizedURL.startsWith("ext+taler://", ignoreCase
= true)) {
+ ext = true
+ "ext+taler://".length
} else if (normalizedURL.startsWith("taler+http://",
ignoreCase = true) &&
model.devMode.value == true
) {
@@ -247,37 +251,42 @@ class MainActivity : AppCompatActivity(),
OnNavigationItemSelectedListener,
}
)
+ // Remove ext+ scheme prefix if present
+ val u2 = if (ext) {
+ "taler://" + u.substring("ext+taler://".length)
+ } else u
+
when {
action.startsWith("pay/", ignoreCase = true) -> {
Log.v(TAG, "navigating!")
nav.navigate(R.id.action_global_promptPayment)
- model.paymentManager.preparePay(u)
+ model.paymentManager.preparePay(u2)
}
action.startsWith("tip/", ignoreCase = true) -> {
Log.v(TAG, "navigating!")
nav.navigate(R.id.action_global_promptTip)
- model.tipManager.prepareTip(u)
+ model.tipManager.prepareTip(u2)
}
action.startsWith("withdraw/", ignoreCase = true) -> {
Log.v(TAG, "navigating!")
// there's more than one entry point, so use global action
nav.navigate(R.id.action_global_promptWithdraw)
- model.withdrawManager.getWithdrawalDetails(u)
+ model.withdrawManager.getWithdrawalDetails(u2)
}
action.startsWith("refund/", ignoreCase = true) -> {
model.showProgressBar.value = true
- model.refundManager.refund(u).observe(this,
Observer(::onRefundResponse))
+ model.refundManager.refund(u2).observe(this,
Observer(::onRefundResponse))
}
action.startsWith("pay-pull/", ignoreCase = true) -> {
nav.navigate(R.id.action_global_prompt_pull_payment)
- model.peerManager.checkPeerPullPayment(u)
+ model.peerManager.checkPeerPullPayment(u2)
}
action.startsWith("pay-push/", ignoreCase = true) -> {
nav.navigate(R.id.action_global_prompt_push_payment)
- model.peerManager.checkPeerPushPayment(u)
+ model.peerManager.checkPeerPushPayment(u2)
}
else -> {
- showError(R.string.error_unsupported_uri, "From:
$from\nURI: $u")
+ showError(R.string.error_unsupported_uri, "From:
$from\nURI: $u2")
}
}
}
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.