From cc26e437dd2355c47af771508b60e70f666e2f43 Mon Sep 17 00:00:00 2001
From: TouHouNo <146928578+TouHouNo@users.noreply.github.com>
Date: Thu, 26 Oct 2023 10:42:01 +0200
Subject: [PATCH 1/3] [CBW-1440] added support for concordiumwallet://wc
deeplink
---
app/src/main/AndroidManifest.xml | 12 +++++++++++-
.../java/com/concordium/wallet/ui/MainActivity.kt | 10 +++++++---
.../wallet/ui/recipient/scanqr/ScanQRViewModel.kt | 3 ++-
3 files changed, 20 insertions(+), 5 deletions(-)
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 683a07ebb..bfc4e98d7 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -7,7 +7,7 @@
-
+
+
+
+
+
+
+
+
+
Date: Thu, 26 Oct 2023 10:44:30 +0200
Subject: [PATCH 2/3] [CBW-1440] formatting fix
---
.../com/concordium/wallet/ui/MainActivity.kt | 39 +++++++++----------
1 file changed, 18 insertions(+), 21 deletions(-)
diff --git a/app/src/main/java/com/concordium/wallet/ui/MainActivity.kt b/app/src/main/java/com/concordium/wallet/ui/MainActivity.kt
index 6803eaaee..fe79c0c11 100644
--- a/app/src/main/java/com/concordium/wallet/ui/MainActivity.kt
+++ b/app/src/main/java/com/concordium/wallet/ui/MainActivity.kt
@@ -62,7 +62,8 @@ class MainActivity : BaseActivity(), IdentityStatusDelegate by IdentityStatusDel
initializeViews()
intent?.data?.let {
- if (it.toString().startsWith("wc") || it.toString().startsWith("concordiumwallet")
+ if (it.toString().startsWith("wc") || it.toString()
+ .startsWith("concordiumwallet")
) wcUri = it.toString()
}
@@ -73,7 +74,8 @@ class MainActivity : BaseActivity(), IdentityStatusDelegate by IdentityStatusDel
return
} else {
intent?.data?.let {
- if (it.toString().startsWith("wc") || it.toString().startsWith("concordiumwallet")
+ if (it.toString().startsWith("wc") || it.toString()
+ .startsWith("concordiumwallet")
) {
wcUri = it.toString()
if (App.appCore.session.isLoggedIn.value == true && AuthPreferences(this).hasSeedPhrase()) {
@@ -92,9 +94,7 @@ class MainActivity : BaseActivity(), IdentityStatusDelegate by IdentityStatusDel
private fun setupToolbar() {
setupActionBar(
- binding.toolbarLayout.toolbar,
- binding.toolbarLayout.toolbarTitle,
- R.string.main_title
+ binding.toolbarLayout.toolbar, binding.toolbarLayout.toolbarTitle, R.string.main_title
)
supportActionBar?.setCustomView(R.layout.app_toolbar_main)
binding.toolbarLayout.settingsContainer.setOnClickListener {
@@ -198,8 +198,7 @@ class MainActivity : BaseActivity(), IdentityStatusDelegate by IdentityStatusDel
private fun initializeViewModel() {
viewModel = ViewModelProvider(
- this,
- ViewModelProvider.AndroidViewModelFactory.getInstance(application)
+ this, ViewModelProvider.AndroidViewModelFactory.getInstance(application)
)[MainViewModel::class.java]
viewModel.titleLiveData.observe(this) { title ->
@@ -213,8 +212,7 @@ class MainActivity : BaseActivity(), IdentityStatusDelegate by IdentityStatusDel
}
}
viewModel.newFinalizedAccountLiveData.observe(this) { newAccount ->
- newAccount?.let {
- }
+ newAccount?.let {}
}
viewModel.showTermsAndConditions.observe(this) { shouldShowTermsAndConditions ->
if (shouldShowTermsAndConditions) {
@@ -257,8 +255,7 @@ class MainActivity : BaseActivity(), IdentityStatusDelegate by IdentityStatusDel
wcUri = ""
getResultWalletNotSetupIntroTerms.launch(
Intent(
- this,
- WalletNotSetupActivity::class.java
+ this, WalletNotSetupActivity::class.java
)
)
} else {
@@ -266,30 +263,30 @@ class MainActivity : BaseActivity(), IdentityStatusDelegate by IdentityStatusDel
}
} else if (App.appCore.session.hasSetupPassword) {
if (wcUri.isNotBlank()) {
- if (AuthPreferences(this).hasSeedPhrase())
- getResultAuthLogin.launch(Intent(this, AuthLoginActivity::class.java))
+ if (AuthPreferences(this).hasSeedPhrase()) getResultAuthLogin.launch(
+ Intent(
+ this,
+ AuthLoginActivity::class.java
+ )
+ )
else {
wcUri = ""
getResultWalletNotSetupPassPhrase.launch(
Intent(
- this,
- WalletNotSetupActivity::class.java
+ this, WalletNotSetupActivity::class.java
)
)
}
- } else
- startActivity(Intent(this, AuthLoginActivity::class.java))
+ } else startActivity(Intent(this, AuthLoginActivity::class.java))
} else {
if (wcUri.isNotBlank()) {
wcUri = ""
getResultWalletNotSetupAuthSetup.launch(
Intent(
- this,
- WalletNotSetupActivity::class.java
+ this, WalletNotSetupActivity::class.java
)
)
- } else
- startActivity(Intent(this, AuthSetupActivity::class.java))
+ } else startActivity(Intent(this, AuthSetupActivity::class.java))
}
}
From 804dd38ae41e366a1a58a7a6b5c739f28220acad Mon Sep 17 00:00:00 2001
From: TouHouNo <146928578+TouHouNo@users.noreply.github.com>
Date: Mon, 30 Oct 2023 14:21:47 +0100
Subject: [PATCH 3/3] [CBW-1440] code style changes. removed unnecessary
"concordiumwallet:" check from QR codes
---
.../java/com/concordium/wallet/ui/MainActivity.kt | 14 +++++++-------
.../wallet/ui/recipient/scanqr/ScanQRViewModel.kt | 3 +--
2 files changed, 8 insertions(+), 9 deletions(-)
diff --git a/app/src/main/java/com/concordium/wallet/ui/MainActivity.kt b/app/src/main/java/com/concordium/wallet/ui/MainActivity.kt
index fe79c0c11..8ea506b8d 100644
--- a/app/src/main/java/com/concordium/wallet/ui/MainActivity.kt
+++ b/app/src/main/java/com/concordium/wallet/ui/MainActivity.kt
@@ -4,6 +4,7 @@ import android.app.Activity
import android.app.AlertDialog
import android.content.Context
import android.content.Intent
+import android.net.Uri
import android.os.Bundle
import android.util.TypedValue
import androidx.activity.result.contract.ActivityResultContracts
@@ -62,9 +63,7 @@ class MainActivity : BaseActivity(), IdentityStatusDelegate by IdentityStatusDel
initializeViews()
intent?.data?.let {
- if (it.toString().startsWith("wc") || it.toString()
- .startsWith("concordiumwallet")
- ) wcUri = it.toString()
+ if (it.containsHandleDeeplinkScheme()) wcUri = it.toString()
}
// If we're being restored from a previous state,
@@ -74,9 +73,7 @@ class MainActivity : BaseActivity(), IdentityStatusDelegate by IdentityStatusDel
return
} else {
intent?.data?.let {
- if (it.toString().startsWith("wc") || it.toString()
- .startsWith("concordiumwallet")
- ) {
+ if (it.containsHandleDeeplinkScheme()) {
wcUri = it.toString()
if (App.appCore.session.isLoggedIn.value == true && AuthPreferences(this).hasSeedPhrase()) {
gotoWalletConnect()
@@ -175,7 +172,7 @@ class MainActivity : BaseActivity(), IdentityStatusDelegate by IdentityStatusDel
override fun onNewIntent(intent: Intent?) {
super.onNewIntent(intent)
intent?.data?.let {
- if (it.toString().startsWith("wc") || it.toString().startsWith("concordiumwallet")) {
+ if (it.containsHandleDeeplinkScheme()) {
wcUri = it.toString()
if (App.appCore.session.isLoggedIn.value == true && AuthPreferences(this).hasSeedPhrase()) {
gotoWalletConnect()
@@ -325,4 +322,7 @@ class MainActivity : BaseActivity(), IdentityStatusDelegate by IdentityStatusDel
val hashOld = App.appCore.session.getTermsHashed()
return hashNew != hashOld
}
+
+ private fun Uri.containsHandleDeeplinkScheme() =
+ toString().run { startsWith("wc") || startsWith("concordiumwallet") }
}
diff --git a/app/src/main/java/com/concordium/wallet/ui/recipient/scanqr/ScanQRViewModel.kt b/app/src/main/java/com/concordium/wallet/ui/recipient/scanqr/ScanQRViewModel.kt
index 43e969910..b5b1ca509 100644
--- a/app/src/main/java/com/concordium/wallet/ui/recipient/scanqr/ScanQRViewModel.kt
+++ b/app/src/main/java/com/concordium/wallet/ui/recipient/scanqr/ScanQRViewModel.kt
@@ -46,7 +46,6 @@ class ScanQRViewModel(application: Application) : AndroidViewModel(application)
}
fun checkQrWalletConnect(qrInfo: String): Boolean {
- return qrInfo.isNotBlank() && (qrInfo.lowercase().startsWith("wc:") || qrInfo.lowercase()
- .startsWith("concordiumwallet:"))
+ return qrInfo.isNotBlank() && qrInfo.lowercase().startsWith("wc:")
}
}