gnunet-svn
[Top][All Lists]
Advanced

[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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]