diff options
author | Torsten Grote <t@grobox.de> | 2022-11-02 08:58:45 -0300 |
---|---|---|
committer | Torsten Grote <t@grobox.de> | 2022-11-02 08:58:45 -0300 |
commit | 865f80d49a8741de55d27002717d7ca1b42c875f (patch) | |
tree | a2402ce7c72780510a3c707d803b012e2318d732 /wallet/src/main/java/net/taler/wallet/MainActivity.kt | |
parent | 55624eb33bae14380efe8ca085dc420390b23702 (diff) | |
download | taler-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.kt | 15 |
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)) { |