diff --git a/app/src/main/java/sh/sar/basedbank/ui/home/PayMvQrFragment.kt b/app/src/main/java/sh/sar/basedbank/ui/home/PayMvQrFragment.kt index afca8b7..6263df0 100644 --- a/app/src/main/java/sh/sar/basedbank/ui/home/PayMvQrFragment.kt +++ b/app/src/main/java/sh/sar/basedbank/ui/home/PayMvQrFragment.kt @@ -7,13 +7,10 @@ import android.os.Build import android.os.Bundle import android.os.Environment import android.provider.MediaStore -import android.app.Activity -import android.content.Intent import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.* -import androidx.activity.result.contract.ActivityResultContracts import androidx.appcompat.content.res.AppCompatResources import androidx.core.content.FileProvider import androidx.core.view.ViewCompat @@ -39,7 +36,6 @@ import sh.sar.basedbank.databinding.FragmentPayMvQrBinding import sh.sar.basedbank.util.CredentialStore import sh.sar.basedbank.databinding.ItemAccountDropdownBinding import sh.sar.basedbank.util.AccountListParser -import sh.sar.basedbank.util.PaymvQrParser import sh.sar.basedbank.util.bmlapi.BmlCardParser import sh.sar.basedbank.util.bmlapi.BmlDashboardParser import java.io.File @@ -56,31 +52,6 @@ class PayMvQrFragment : Fragment() { private var generateJob: Job? = null private val dropdownProfileImageCache = mutableMapOf() - private val qrLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result -> - if (result.resultCode != Activity.RESULT_OK) return@registerForActivityResult - val raw = result.data?.getStringExtra(QrScannerActivity.EXTRA_QR_CONTENT) ?: return@registerForActivityResult - - // BML card/gateway QR — hand off to dedicated payment screen - val bmlUrl = PaymvQrParser.extractBmlGatewayUrl(raw) - if (raw.startsWith("https://ebanking.bankofmaldives.com.mv/qrpay/") || bmlUrl != null) { - (requireActivity() as HomeActivity).navigateTo(R.id.nav_transfer, TransferFragment.newInstanceFromBmlQr(bmlUrl ?: raw)) - return@registerForActivityResult - } - - val qr = PaymvQrParser.parse(raw) - if (qr == null || qr.accountNumber == null) { - Toast.makeText(requireContext(), R.string.transfer_qr_invalid, Toast.LENGTH_SHORT).show() - return@registerForActivityResult - } - val activity = requireActivity() as HomeActivity - activity.navigateTo(R.id.nav_transfer, TransferFragment.newInstanceFromQr( - accountNumber = qr.accountNumber, - displayName = qr.merchantName ?: qr.accountNumber, - amount = qr.amount, - remarks = qr.purpose - )) - } - override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View { @@ -106,7 +77,7 @@ class PayMvQrFragment : Fragment() { binding.btnShare.setOnClickListener { shareQr() } binding.btnSave.setOnClickListener { saveQr() } binding.btnScanQr.setOnClickListener { - qrLauncher.launch(Intent(requireContext(), QrScannerActivity::class.java)) + (requireActivity() as HomeActivity).navigateTo(R.id.nav_transfer, TransferFragment.newInstanceWithAutoScan()) } }