@Override public void onExpiryDateComplete() { mCvcNumberEditText.requestFocus(); if (mCardInputListener != null) { mCardInputListener.onExpirationComplete(); } } });
@Override public void onExpiryDateComplete() { mCvcEditText.requestFocus(); if (mCardInputListener != null) { mCardInputListener.onExpirationComplete(); } } });
@Override public void onDeleteEmpty() { String fieldText = backUpTarget.getText().toString(); if (fieldText.length() > 1) { backUpTarget.setText( fieldText.substring(0, fieldText.length() - 1)); } backUpTarget.requestFocus(); backUpTarget.setSelection(backUpTarget.length()); } }
@Override public boolean onInterceptTouchEvent(MotionEvent ev) { if (ev.getAction() != MotionEvent.ACTION_DOWN) { return super.onInterceptTouchEvent(ev); } StripeEditText focusEditText = getFocusRequestOnTouch((int) ev.getX()); if (focusEditText != null) { focusEditText.requestFocus(); return true; } return super.onInterceptTouchEvent(ev); }
@Override public void onTextChanged(String text) { if (ViewUtils.isCvcMaximalLength(mCardBrand, text)) { updateBrand(mCardBrand); if (mShouldShowPostalCode) { mPostalCodeEditText.requestFocus(); } if (mCardInputListener != null) { mCardInputListener.onCvcComplete(); } } else { flipToCvcIconIfNotFinished(); } mCvcEditText.setShouldShowError(false); } });
@Test public void onDeleteFromCvcDate_whenEmptyAndExpiryDateIsEmpty_shiftsFocusOnly() { mCardNumberEditText.setText(VALID_DINERS_CLUB_WITH_SPACES); // Simulates user tapping into this text field without filling out the date first. mCvcEditText.requestFocus(); ViewTestUtils.sendDeleteKeyEvent(mCvcEditText); assertEquals(R.id.et_cvc_number, mOnGlobalFocusChangeListener.getOldFocusId()); assertEquals(R.id.et_expiry_date, mOnGlobalFocusChangeListener.getNewFocusId()); }