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:") } }