summaryrefslogtreecommitdiff
path: root/wallet/src/main/java/net/taler/wallet/MainActivity.kt
diff options
context:
space:
mode:
authorTorsten Grote <t@grobox.de>2022-11-02 08:58:45 -0300
committerTorsten Grote <t@grobox.de>2022-11-02 08:58:45 -0300
commit865f80d49a8741de55d27002717d7ca1b42c875f (patch)
treea2402ce7c72780510a3c707d803b012e2318d732 /wallet/src/main/java/net/taler/wallet/MainActivity.kt
parent55624eb33bae14380efe8ca085dc420390b23702 (diff)
downloadtaler-android-865f80d49a8741de55d27002717d7ca1b42c875f.tar.gz
taler-android-865f80d49a8741de55d27002717d7ca1b42c875f.tar.bz2
taler-android-865f80d49a8741de55d27002717d7ca1b42c875f.zip
[wallet] Open payto:// URIs and hook into deposit to bank account flow
Diffstat (limited to 'wallet/src/main/java/net/taler/wallet/MainActivity.kt')
-rw-r--r--wallet/src/main/java/net/taler/wallet/MainActivity.kt15
1 files changed, 15 insertions, 0 deletions
diff --git a/wallet/src/main/java/net/taler/wallet/MainActivity.kt b/wallet/src/main/java/net/taler/wallet/MainActivity.kt
index cb48c30..13fd394 100644
--- a/wallet/src/main/java/net/taler/wallet/MainActivity.kt
+++ b/wallet/src/main/java/net/taler/wallet/MainActivity.kt
@@ -32,6 +32,7 @@ import android.view.View.VISIBLE
import android.widget.TextView
import androidx.activity.viewModels
import androidx.appcompat.app.AppCompatActivity
+import androidx.core.os.bundleOf
import androidx.core.view.GravityCompat.START
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.Observer
@@ -146,6 +147,13 @@ class MainActivity : AppCompatActivity(), OnNavigationItemSelectedListener,
else super.onBackPressed()
}
+ override fun onNewIntent(intent: Intent?) {
+ super.onNewIntent(intent)
+ if (intent?.action == ACTION_VIEW) intent.dataString?.let { uri ->
+ handleTalerUri(uri, "intent")
+ }
+ }
+
override fun onNavigationItemSelected(item: MenuItem): Boolean {
when (item.itemId) {
R.id.nav_home -> nav.navigate(R.id.nav_main)
@@ -218,6 +226,13 @@ class MainActivity : AppCompatActivity(), OnNavigationItemSelectedListener,
getTalerAction(uri, 3, MutableLiveData<String>()).observe(this) { u ->
Log.v(TAG, "found action $u")
+ if (u.startsWith("payto://", ignoreCase = true)) {
+ Log.v(TAG, "navigating with paytoUri!")
+ val bundle = bundleOf("uri" to u)
+ nav.navigate(R.id.action_nav_payto_uri, bundle)
+ return@observe
+ }
+
val normalizedURL = u.lowercase(ROOT)
val action = normalizedURL.substring(
if (normalizedURL.startsWith("taler://", ignoreCase = true)) {