Buggy code:
private EditText etCvv ; private EditText etExpiryDate ; private CheckBox cbStoreCard ; private ImageView questionImg ; private ImageView questionSaveCardImg ; private Button payNowBtn ; private String cardNumber ; private String cvv ; private String expiryDate ; private String [ ] expDateArray ; private int expMonth ; private int expYear ; private VeritransSDK veritransSDK ; private UserDetail userDetail ; private ArrayList < BankDetail > bankDetails ; private String cardType = "" ; private RelativeLayout formLayout ; public AddCardDetailsFragment ( ) { } public static AddCardDetailsFragment newInstance ( ) { } @ Override public void onResume ( ) { } @ Override public void onCreate ( Bundle savedInstanceState ) { } @ Override public View onCreateView ( LayoutInflater inflater , ViewGroup container , Bundle savedInstanceState ) { } @ Override public void onViewCreated ( View view , Bundle savedInstanceState ) { } private void bindViews ( View view ) { formLayout = ( ( RelativeLayout ) ( view . findViewById ( form_layout ) ) ) ; etCardNo = ( ( EditText ) ( view . findViewById ( et_card_no ) ) ) ; etCvv = ( ( EditText ) ( view . findViewById ( et_cvv ) ) ) ; etExpiryDate = ( ( EditText ) ( view . findViewById ( et_exp_date ) ) ) ; cbStoreCard = ( ( CheckBox ) ( view . findViewById ( cb_store_card ) ) ) ; questionImg = ( ( ImageView ) ( view . findViewById ( image_question ) ) ) ; questionSaveCardImg = ( ( ImageView ) ( view . findViewById ( image_question_save_card ) ) ) ; payNowBtn = ( ( Button ) ( view . findViewById ( btn_pay_now ) ) ) ; etCardNo . setOnFocusChangeListener ( new View . OnFocusChangeListener ( ) { @ Override public void onFocusChange ( View v , boolean hasFocus ) { Logger . i ( "onFocus<seq2seq4repair_space>change<seq2seq4repair_space>etCardNo" ) ; if ( ! hasFocus ) { Logger . i ( "onFocus<seq2seq4repair_space>change<seq2seq4repair_space>not<seq2seq4repair_space>etCardNo" ) ; focusChange ( ) ; } else { Logger . i ( "onFocus<seq2seq4repair_space>change<seq2seq4repair_space>has<seq2seq4repair_space>focus<seq2seq4repair_space>etCardNo" ) ; } } } ) ; etCvv . setOnFocusChangeListener ( new View . OnFocusChangeListener ( ) { @ Override public void onFocusChange ( View v , boolean hasFocus ) { Logger . i ( "onFocus<seq2seq4repair_space>change<seq2seq4repair_space>etCvv" ) ; if ( ! hasFocus ) { Logger . i ( "onFocus<seq2seq4repair_space>change<seq2seq4repair_space>not<seq2seq4repair_space>etCvv" ) ; focusChange ( ) ; } else { Logger . i ( "onFocus<seq2seq4repair_space>change<seq2seq4repair_space>has<seq2seq4repair_space>focus<seq2seq4repair_space>etCvv" ) ; } } } ) ; etExpiryDate . setOnFocusChangeListener ( new View . OnFocusChangeListener ( ) { @ Override public void onFocusChange ( View v , boolean hasFocus ) { Logger . i ( "onFocus<seq2seq4repair_space>change<seq2seq4repair_space>etExpiryDate" ) ; if ( ! hasFocus ) { Logger . i ( "onFocus<seq2seq4repair_space>change<seq2seq4repair_space>not<seq2seq4repair_space>etExpiryDate" ) ; focusChange ( ) ; } else { Logger . i ( "onFocus<seq2seq4repair_space>change<seq2seq4repair_space>has<seq2seq4repair_space>focus<seq2seq4repair_space>etExpiryDate" ) ; } } } ) ; cbStoreCard . setOnFocusChangeListener ( new View . OnFocusChangeListener ( ) { @ Override public void onFocusChange ( View v , boolean hasFocus ) { isValid ( false ) ; } } ) ; if ( veritransSDK . isLogEnabled ( ) ) { } payNowBtn . setOnClickListener ( new View . OnClickListener ( ) { @ Override public void onClick ( View v ) { if ( isValid ( true ) ) { <START_BUG> CardTokenRequest cardTokenRequest = new CardTokenRequest ( cardNumber , Integer . parseInt ( cvv ) , expMonth , expYear , veritransSDK . getClientKey ( ) ) ; <END_BUG> cardTokenRequest . setIsSaved ( cbStoreCard . isChecked ( ) ) ; cardTokenRequest . setSecure ( veritransSDK . getTransactionRequest ( ) . isSecureCard ( ) ) ; cardTokenRequest . setGrossAmount ( veritransSDK . getTransactionRequest ( ) . getAmount ( ) ) ; cardTokenRequest . setCardType ( cardType ) ; if ( ( ( bankDetails ) != null ) && ( ! ( bankDetails . isEmpty ( ) ) ) ) { String firstSix = cardNumber . substring ( 0 , 6 ) ; for ( BankDetail bankDetail : bankDetails ) { if ( bankDetail . getBin ( ) . equalsIgnoreCase ( firstSix ) ) { cardTokenRequest . setBank ( bankDetail . getIssuing_bank ( ) ) ; cardTokenRequest . setCardType ( bankDetail . getCard_association ( ) ) ; break ; } } } SdkUtil . showProgressDialog ( getActivity ( ) , false ) ; ( ( CreditDebitCardFlowActivity ) ( getActivity ( ) ) ) . getToken ( cardTokenRequest ) ; } } } ) ; questionImg . setOnClickListener ( new View . OnClickListener ( ) { @ Override public void onClick ( View v ) { VeritransDialog veritransDialog = new VeritransDialog ( getActivity ( ) , getResources ( ) . getDrawable ( cvv_dialog_image , null ) , getString ( message_cvv ) , getString ( got_it ) , "" ) ; veritransDialog . show ( ) ; } } ) ; questionSaveCardImg . setOnClickListener ( new View . OnClickListener ( ) { @ Override public void onClick ( View v ) { VeritransDialog veritransDialog = new VeritransDialog ( getActivity ( ) , getResources ( ) . getDrawable ( cart_dialog , null ) , getString ( message_save_card ) , getString ( got_it ) , "" ) ; veritransDialog . show ( ) ; } } ) ; etCardNo . addTextChangedListener ( new TextWatcher ( ) { private static final char space = '<seq2seq4repair_space>' ; @ Override public void beforeTextChanged ( CharSequence s , int start , int count , int after ) { } @ Override public void onTextChanged ( CharSequence s , int start , int before , int count ) { } @ Override public void afterTextChanged ( Editable s ) { if ( ( ( s . length ( ) ) > 0 ) && ( ( ( s . length ( ) ) % 5 ) == 0 ) ) { final char c = s . charAt ( ( ( s . length ( ) ) - 1 ) ) ;

Fix:
CardTokenRequest cardTokenRequest = new CardTokenRequest ( cardNumber , Integer . parseInt ( cvv ) , String . valueOf ( expMonth ) , expYear , veritransSDK . getClientKey ( ) ) ;