diff options
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)) { |