diff --git a/app/src/main/java/cash/z/ecc/android/ui/scan/ScanFragment.kt b/app/src/main/java/cash/z/ecc/android/ui/scan/ScanFragment.kt index 07f152f..d3461ba 100644 --- a/app/src/main/java/cash/z/ecc/android/ui/scan/ScanFragment.kt +++ b/app/src/main/java/cash/z/ecc/android/ui/scan/ScanFragment.kt @@ -18,6 +18,7 @@ import cash.z.ecc.android.ext.onClickNavTo import cash.z.ecc.android.feedback.Report import cash.z.ecc.android.feedback.Report.Tap.SCAN_BACK import cash.z.ecc.android.feedback.Report.Tap.SCAN_RECEIVE +import cash.z.ecc.android.sdk.ext.ZcashSdk import cash.z.ecc.android.sdk.ext.twig import cash.z.ecc.android.ui.base.BaseFragment import cash.z.ecc.android.ui.send.SendViewModel @@ -125,8 +126,13 @@ class ScanFragment : BaseFragment() { private fun onQrScanned(qrContent: String, image: ImageProxy) { resumedScope.launch { - if (viewModel.isNotValid(qrContent)) image.close() // continue scanning - else { + if (viewModel.isNotValid(qrContent)) { + //todo: use the "NETWORK" constant that will be available in the next SDK build + val network = ZcashSdk.DEFAULT_DB_NAME_PREFIX.split("_")[1] + binding.textScanError.text = "Invalid Zcash $network address:\n$qrContent" + image.close() + } else { /* continue scanning*/ + binding.textScanError.text = "" sendViewModel.toAddress = qrContent mainActivity?.safeNavigate(R.id.action_nav_scan_to_nav_send_address) } diff --git a/app/src/main/res/layout/fragment_scan.xml b/app/src/main/res/layout/fragment_scan.xml index 6ad8ae0..22cac4a 100644 --- a/app/src/main/res/layout/fragment_scan.xml +++ b/app/src/main/res/layout/fragment_scan.xml @@ -150,6 +150,23 @@ app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.3" /> + +