in LeanbackShowcase/app/src/main/java/androidx/leanback/leanbackshowcase/app/wizard/WizardNewPaymentStepFragment.java [91:132]
public long onGuidedActionEditedAndProceed(GuidedAction action) {
boolean cardNumberCheck = false;
boolean expDateCheck = false;
if (action.getId() == ACTION_ID_CARD_NUMBER) {
CharSequence cardNumber = action.getEditTitle();
cardNumberCheck = isCardNumberValid(cardNumber);
expDateCheck = isExpDateValid(findActionById(ACTION_ID_PAYMENT_EXP));
updateOkButton(cardNumberCheck && expDateCheck);
if (cardNumberCheck) {
String last4Digits = cardNumber.subSequence(cardNumber.length() - 4,
cardNumber.length()).toString();
if ( (Integer.parseInt(last4Digits) & 1) == 0 )
action.setDescription(getString(R.string.wizard_example_visa,
last4Digits));
else
action.setDescription(getString(R.string.wizard_example_master,
last4Digits));
return GuidedAction.ACTION_ID_NEXT;
} else if (cardNumber.length() == 0) {
action.setDescription(getString(R.string.wizard_example_input_card));
return GuidedAction.ACTION_ID_CURRENT;
} else {
action.setDescription(getString(R.string.wizard_example_input_credit_wrong));
return GuidedAction.ACTION_ID_CURRENT;
}
} else if (action.getId() == ACTION_ID_PAYMENT_EXP) {
expDateCheck = isExpDateValid(action);
cardNumberCheck = isCardNumberValid(findActionById(ACTION_ID_CARD_NUMBER)
.getEditTitle());
updateOkButton(cardNumberCheck && expDateCheck);
if (expDateCheck) {
return GuidedAction.ACTION_ID_NEXT;
}
}
return GuidedAction.ACTION_ID_CURRENT;
}