public class CardCredentialsViewModel extends PaymentOptionViewModel<CardCredentialsViewModelData,CardCredentialsViewHolder,CardCredentialsViewModel> implements CardCredentialsViewHolder.Data, CardNumberTextHandler.DataProvider, CardNumberTextHandler.DataListener
Modifier and Type | Class and Description |
---|---|
class |
CardCredentialsViewModel.BrandWithScheme
The type Brand with scheme.
|
Modifier and Type | Field and Description |
---|---|
private java.util.ArrayList<company.tap.tapcardvalidator_android.CardBrand> |
availableCardBrands |
private CardCredentialsViewHolder |
cardCredentialsViewHolder |
private java.lang.String |
cardNumber |
private CardNumberTextHandler |
cardNumberTextHandler |
private BINLookupResponse |
currentBINData |
private java.lang.String |
CVVnumber |
private CardCredentialsViewModelData |
dataOriginal |
private java.lang.String |
expirationMonth |
private java.lang.String |
expirationYear |
private boolean |
isShowAddressOnCardCell |
private java.lang.String |
nameOnCard |
private java.util.ArrayList<PaymentOption> |
paymentOptions |
private java.util.ArrayList<company.tap.tapcardvalidator_android.CardBrand> |
preferredCardBrands |
private PaymentOption |
selectedCardPaymentOption |
private boolean |
shouldSaveCard |
data, parentDataManager, position, type
Constructor and Description |
---|
CardCredentialsViewModel(PaymentOptionsDataManager parentDataManager,
CardCredentialsViewModelData data)
Instantiates a new Card credentials view model.
|
Modifier and Type | Method and Description |
---|---|
void |
addressOnCardClicked()
Address on card clicked.
|
void |
bindCardNumberFieldWithWatcher(android.widget.EditText cardNumberField)
Bind card number field with watcher.
|
void |
binNumberEntered(java.lang.String binNumber)
Bin number entered.
|
void |
cardDetailsFilled(boolean isFilled,
CardCredentialsViewModel cardCredentialsViewModel)
Card details filled.
|
void |
cardExpirationDateClicked()
Card expiration date clicked.
|
void |
cardNumberTextHandlerDidUpdateCardNumber(java.lang.String cardNumber)
Card number text handler did update card number.
|
void |
cardScannerButtonClicked()
Card scanner button clicked.
|
void |
checkShakingStatus() |
private java.util.ArrayList<company.tap.tapcardvalidator_android.CardBrand> |
getAvailableCardBrands() |
CreateTokenCard |
getCard()
Gets card.
|
CardCredentialsViewHolder |
getCardCredentialsViewHolder()
Get card credentials view holder card credentials view holder.
|
java.lang.String |
getCardholderNameText()
Gets cardholder name text.
|
java.lang.String |
getCardNumber()
Gets card number.
|
android.text.SpannableString |
getCardNumberText()
Gets card number text.
|
private CardNumberTextHandler |
getCardNumberTextHandler(android.widget.EditText editText) |
private BINLookupResponse |
getCurrentBINData() |
java.lang.String |
getCVVnumber()
Gets cv vnumber.
|
java.lang.String |
getCVVText()
Gets cvv text.
|
java.lang.String |
getExpirationDateText()
Gets expiration date text.
|
java.lang.String |
getExpirationMonth()
Gets expiration month.
|
java.lang.String |
getExpirationYear()
Gets expiration year.
|
java.lang.String |
getNameOnCard()
Gets name on card.
|
private java.util.ArrayList<company.tap.tapcardvalidator_android.CardBrand> |
getPreferredCardBrands() |
CardCredentialsViewModel.BrandWithScheme |
getRecognizedCardType()
Gets recognized card type.
|
PaymentOption |
getSelectedCardPaymentOption()
Get selected card payment option payment option.
|
boolean |
isShowAddressOnCardCell()
Is show address on card cell boolean.
|
void |
saveCardSwitchClicked(boolean state)
Save card switch clicked.
|
void |
setCardNumber(java.lang.String cardNumber)
Sets card number.
|
void |
setCardNumberColor(int color)
Sets card number color.
|
void |
setCardSwitchHeight(int cardSwitchHeight)
Sets card switch height.
|
void |
setCurrentBINData(BINLookupResponse _currentBINData)
Set current bin data.
|
void |
setCVVnumber(java.lang.String CVVnumber)
Sets cv vnumber.
|
void |
setExpirationMonth(java.lang.String expirationMonth)
Sets expiration month.
|
void |
setExpirationYear(java.lang.String expirationYear)
Sets expiration year.
|
void |
setNameOnCard(java.lang.String nameOnCard)
Sets name on card.
|
void |
setPaymentOption(company.tap.tapcardvalidator_android.CardBrand cardBrand,
CardScheme cardScheme)
Sets payment option.
|
boolean |
shouldSaveCard()
Should save card boolean.
|
void |
showAddressOnCardCell(boolean isShow)
Show address on card cell.
|
void |
updateCardsRecyclerViewWithCardAndSchema(company.tap.tapcardvalidator_android.CardBrand cardBrand,
CardScheme cardScheme)
Update cards recycler view with card and schema.
|
private void |
updatePayButtonWithExtraFees(PaymentOption paymentOption) |
void |
ViewHolderReference(CardCredentialsViewHolder cardCredentialsViewHolder)
View holder reference.
|
getData, getPaymentOption, getPaymentOptionsDataManager, getType, registerHolder, saveState, setData, setViewFocused, unregisterHolder, updateData
@Nullable private CardNumberTextHandler cardNumberTextHandler
private CardCredentialsViewHolder cardCredentialsViewHolder
private java.util.ArrayList<PaymentOption> paymentOptions
private PaymentOption selectedCardPaymentOption
private CardCredentialsViewModelData dataOriginal
private boolean isShowAddressOnCardCell
private java.lang.String cardNumber
private java.lang.String expirationMonth
private java.lang.String expirationYear
private java.lang.String CVVnumber
private java.lang.String nameOnCard
private boolean shouldSaveCard
@Nullable private BINLookupResponse currentBINData
@NonNull private java.util.ArrayList<company.tap.tapcardvalidator_android.CardBrand> availableCardBrands
@NonNull private java.util.ArrayList<company.tap.tapcardvalidator_android.CardBrand> preferredCardBrands
public CardCredentialsViewModel(PaymentOptionsDataManager parentDataManager, CardCredentialsViewModelData data)
parentDataManager
- the parent data managerdata
- the data@NonNull private CardNumberTextHandler getCardNumberTextHandler(android.widget.EditText editText)
public void bindCardNumberFieldWithWatcher(android.widget.EditText cardNumberField)
CardCredentialsViewHolder.Data
bindCardNumberFieldWithWatcher
in interface CardCredentialsViewHolder.Data
cardNumberField
- the card number fieldpublic android.text.SpannableString getCardNumberText()
CardCredentialsViewHolder.Data
getCardNumberText
in interface CardCredentialsViewHolder.Data
public java.lang.String getExpirationDateText()
CardCredentialsViewHolder.Data
getExpirationDateText
in interface CardCredentialsViewHolder.Data
public java.lang.String getCVVText()
CardCredentialsViewHolder.Data
getCVVText
in interface CardCredentialsViewHolder.Data
public java.lang.String getCardholderNameText()
CardCredentialsViewHolder.Data
getCardholderNameText
in interface CardCredentialsViewHolder.Data
@Nullable private BINLookupResponse getCurrentBINData()
public void setCurrentBINData(BINLookupResponse _currentBINData)
_currentBINData
- the current bin data@NonNull private java.util.ArrayList<company.tap.tapcardvalidator_android.CardBrand> getAvailableCardBrands()
@NonNull private java.util.ArrayList<company.tap.tapcardvalidator_android.CardBrand> getPreferredCardBrands()
public void cardScannerButtonClicked()
public void cardDetailsFilled(boolean isFilled, CardCredentialsViewModel cardCredentialsViewModel)
isFilled
- the is filledcardCredentialsViewModel
- the card credentials view modelpublic void addressOnCardClicked()
public void saveCardSwitchClicked(boolean state)
state
- the statepublic void cardExpirationDateClicked()
public void setCardSwitchHeight(int cardSwitchHeight)
cardSwitchHeight
- the card switch heightpublic void binNumberEntered(java.lang.String binNumber)
binNumber
- the bin numberpublic java.lang.String getCardNumber()
public java.lang.String getExpirationMonth()
public java.lang.String getExpirationYear()
public boolean shouldSaveCard()
public boolean isShowAddressOnCardCell()
public java.lang.String getCVVnumber()
public java.lang.String getNameOnCard()
@Nullable public CreateTokenCard getCard()
public void showAddressOnCardCell(boolean isShow)
isShow
- the is showpublic void setCardNumber(java.lang.String cardNumber)
cardNumber
- the card numberpublic void setExpirationMonth(java.lang.String expirationMonth)
expirationMonth
- the expiration monthpublic void setExpirationYear(java.lang.String expirationYear)
expirationYear
- the expiration yearpublic void setCVVnumber(java.lang.String CVVnumber)
CVVnumber
- the cv vnumberpublic void setNameOnCard(java.lang.String nameOnCard)
nameOnCard
- the name on cardpublic CardCredentialsViewModel.BrandWithScheme getRecognizedCardType()
CardNumberTextHandler.DataProvider
getRecognizedCardType
in interface CardNumberTextHandler.DataProvider
public void cardNumberTextHandlerDidUpdateCardNumber(java.lang.String cardNumber)
CardNumberTextHandler.DataListener
cardNumberTextHandlerDidUpdateCardNumber
in interface CardNumberTextHandler.DataListener
cardNumber
- the card numberpublic void updateCardsRecyclerViewWithCardAndSchema(company.tap.tapcardvalidator_android.CardBrand cardBrand, CardScheme cardScheme)
CardNumberTextHandler.DataListener
updateCardsRecyclerViewWithCardAndSchema
in interface CardNumberTextHandler.DataListener
cardBrand
- the card brandcardScheme
- the card schemepublic void ViewHolderReference(CardCredentialsViewHolder cardCredentialsViewHolder)
cardCredentialsViewHolder
- the card credentials view holderpublic CardCredentialsViewHolder getCardCredentialsViewHolder()
public void setPaymentOption(company.tap.tapcardvalidator_android.CardBrand cardBrand, CardScheme cardScheme)
cardBrand
- the card brandcardScheme
- the card schemeprivate void updatePayButtonWithExtraFees(PaymentOption paymentOption)
public PaymentOption getSelectedCardPaymentOption()
public void setCardNumberColor(int color)
color
- the colorpublic void checkShakingStatus()