transfer button enables after you fill required feilds
All checks were successful
Auto Tag on Version Change / check-version (push) Successful in 2s

This commit is contained in:
2026-05-19 16:50:49 +05:00
parent 19f4d01015
commit 399cfbf108
2 changed files with 16 additions and 1 deletions

View File

@@ -149,8 +149,11 @@ class TransferFragment : Fragment() {
qrLauncher.launch(Intent(requireContext(), QrScannerActivity::class.java))
}
binding.btnTransfer.isEnabled = false
binding.btnTransfer.setOnClickListener { initiateTransfer() }
binding.etAmount.addTextChangedListener { updateTransferButton() }
// Pre-select contact if navigated from contacts page
arguments?.getString(ARG_ACCOUNT)?.let { account ->
prefillToDirectly(
@@ -186,6 +189,7 @@ class TransferFragment : Fragment() {
binding.cardFromInfo.visibility = View.GONE
binding.tilFrom.visibility = View.VISIBLE
binding.actvFrom.setText("", false)
updateTransferButton()
}
viewModel.accounts.observe(viewLifecycleOwner) { accounts ->
@@ -197,6 +201,7 @@ class TransferFragment : Fragment() {
selectedAccount = picked
updateAmountPrefix(picked)
showFromCard(picked)
updateTransferButton()
}
val fromNumber = arguments?.getString(ARG_FROM_ACCOUNT)
@@ -206,6 +211,7 @@ class TransferFragment : Fragment() {
selectedAccount = match
updateAmountPrefix(match)
showFromCard(match)
updateTransferButton()
}
}
}
@@ -273,6 +279,7 @@ class TransferFragment : Fragment() {
binding.btnPickContact.visibility = View.VISIBLE
binding.btnScanQr.visibility = View.VISIBLE
binding.tilTo.error = null
updateTransferButton()
}
binding.etTo.addTextChangedListener {
@@ -284,6 +291,7 @@ class TransferFragment : Fragment() {
binding.tilTo.visibility = View.VISIBLE
binding.btnPickContact.visibility = View.VISIBLE
binding.btnScanQr.visibility = View.VISIBLE
updateTransferButton()
}
}
}
@@ -396,6 +404,7 @@ class TransferFragment : Fragment() {
binding.btnPickContact.visibility = View.GONE
binding.btnScanQr.visibility = View.GONE
binding.cardToInfo.visibility = View.VISIBLE
updateTransferButton()
saveToRecents(info)
when {
@@ -522,6 +531,7 @@ class TransferFragment : Fragment() {
binding.btnPickContact.visibility = View.GONE
binding.btnScanQr.visibility = View.GONE
binding.cardToInfo.visibility = View.VISIBLE
updateTransferButton()
val contact = contacts.firstOrNull { it.benefAccount == accountNumber }
if (contact != null) {
@@ -852,6 +862,11 @@ class TransferFragment : Fragment() {
}
}
private fun updateTransferButton() {
val amount = binding.etAmount.text?.toString()?.trim()?.toDoubleOrNull() ?: 0.0
binding.btnTransfer.isEnabled = selectedAccount != null && resolvedAccountNumber.isNotBlank() && amount > 0
}
private fun clearForm() {
selectedAccount = null
binding.actvFrom.setText("", false)

View File

@@ -56,7 +56,7 @@ class OnboardingActivity : AppCompatActivity(), SecuritySetupFragment.Callback {
}
// Pre-select language button without triggering the listener
val savedLang = prefs.getString("language", null)
val savedLang = prefs.getString("language", null) ?: "en".also { selectLanguage(it) }
binding.languageToggle.clearOnButtonCheckedListeners()
when (savedLang) {
"en" -> binding.btnLangEnglish.isChecked = true