UI is more vivid when merchant sets amount
Auto Tag on Version Change / check-version (push) Successful in 3s
Auto Tag on Version Change / check-version (push) Successful in 3s
This commit is contained in:
@@ -498,6 +498,29 @@ class TransferFragment : Fragment() {
|
|||||||
updateTransferButton()
|
updateTransferButton()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Freezes the amount at a merchant's preset value. Unlike disabling the field this keeps it
|
||||||
|
* at full colour — it's the figure being paid, so it should read clearly — and a lock icon
|
||||||
|
* says why it can't be typed into.
|
||||||
|
*/
|
||||||
|
internal fun setAmountLocked(locked: Boolean) {
|
||||||
|
binding.etAmount.apply {
|
||||||
|
isFocusable = !locked
|
||||||
|
isFocusableInTouchMode = !locked
|
||||||
|
isCursorVisible = !locked
|
||||||
|
isLongClickable = !locked
|
||||||
|
if (locked) clearFocus()
|
||||||
|
}
|
||||||
|
binding.tilAmount.apply {
|
||||||
|
if (locked) {
|
||||||
|
endIconMode = com.google.android.material.textfield.TextInputLayout.END_ICON_CUSTOM
|
||||||
|
endIconDrawable = ContextCompat.getDrawable(requireContext(), R.drawable.ic_lock)
|
||||||
|
} else {
|
||||||
|
endIconMode = com.google.android.material.textfield.TextInputLayout.END_ICON_NONE
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
internal fun startLookupLoading() {
|
internal fun startLookupLoading() {
|
||||||
val spinner = CircularProgressDrawable(requireContext()).apply {
|
val spinner = CircularProgressDrawable(requireContext()).apply {
|
||||||
setStyle(CircularProgressDrawable.DEFAULT)
|
setStyle(CircularProgressDrawable.DEFAULT)
|
||||||
@@ -1669,6 +1692,7 @@ class TransferFragment : Fragment() {
|
|||||||
binding.tilFrom.visibility = View.VISIBLE
|
binding.tilFrom.visibility = View.VISIBLE
|
||||||
binding.tilAmount.prefixText = null
|
binding.tilAmount.prefixText = null
|
||||||
binding.tilAmount.isEnabled = true
|
binding.tilAmount.isEnabled = true
|
||||||
|
setAmountLocked(false)
|
||||||
binding.tilRemarks.isEnabled = true
|
binding.tilRemarks.isEnabled = true
|
||||||
binding.tilRemarks.alpha = 1f
|
binding.tilRemarks.alpha = 1f
|
||||||
binding.etAmount.setText("")
|
binding.etAmount.setText("")
|
||||||
|
|||||||
@@ -174,7 +174,7 @@ class BmlTransferHandler(
|
|||||||
if (qrInfo == null) return
|
if (qrInfo == null) return
|
||||||
draft.bmlQrInfo = null
|
draft.bmlQrInfo = null
|
||||||
draft.bmlGatewayQr = false
|
draft.bmlGatewayQr = false
|
||||||
binding.tilAmount.isEnabled = true
|
fragment.setAmountLocked(false)
|
||||||
binding.tilRemarks.isEnabled = true
|
binding.tilRemarks.isEnabled = true
|
||||||
binding.tilRemarks.alpha = 1f
|
binding.tilRemarks.alpha = 1f
|
||||||
binding.etAmount.setText("")
|
binding.etAmount.setText("")
|
||||||
@@ -293,7 +293,7 @@ class BmlTransferHandler(
|
|||||||
// Pre-fill amount if dynamic QR
|
// Pre-fill amount if dynamic QR
|
||||||
if (info.amount > 0.0) {
|
if (info.amount > 0.0) {
|
||||||
binding.etAmount.setText("%.2f".format(info.amount))
|
binding.etAmount.setText("%.2f".format(info.amount))
|
||||||
binding.tilAmount.isEnabled = false
|
fragment.setAmountLocked(true)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Remarks not applicable for merchant QR payments
|
// Remarks not applicable for merchant QR payments
|
||||||
|
|||||||
@@ -199,7 +199,7 @@ class MfaisaTransferHandler(
|
|||||||
fun clearQrMerchant() {
|
fun clearQrMerchant() {
|
||||||
if (qrInfo == null) return
|
if (qrInfo == null) return
|
||||||
qrInfo = null
|
qrInfo = null
|
||||||
binding.tilAmount.isEnabled = true
|
fragment.setAmountLocked(false)
|
||||||
binding.tilRemarks.isEnabled = true
|
binding.tilRemarks.isEnabled = true
|
||||||
binding.tilRemarks.alpha = 1f
|
binding.tilRemarks.alpha = 1f
|
||||||
binding.etAmount.setText("")
|
binding.etAmount.setText("")
|
||||||
@@ -288,7 +288,7 @@ class MfaisaTransferHandler(
|
|||||||
val dynamicAmount = merchant.txnAmount?.toDoubleOrNull()
|
val dynamicAmount = merchant.txnAmount?.toDoubleOrNull()
|
||||||
if (dynamicAmount != null && dynamicAmount > 0.0) {
|
if (dynamicAmount != null && dynamicAmount > 0.0) {
|
||||||
binding.etAmount.setText("%.2f".format(dynamicAmount))
|
binding.etAmount.setText("%.2f".format(dynamicAmount))
|
||||||
binding.tilAmount.isEnabled = false
|
fragment.setAmountLocked(true)
|
||||||
}
|
}
|
||||||
|
|
||||||
onRecipientChanged()
|
onRecipientChanged()
|
||||||
|
|||||||
Reference in New Issue
Block a user