braintree / android-card-form

A ready-made card form layout that can be included in your Android app, making it easy to accept credit and debit cards.
MIT License
366 stars 128 forks source link

Crash at CardType.validate() for Android 8.0.0 #62

Closed deandalm closed 5 years ago

deandalm commented 5 years ago

General information

Issue description

Crash reported by Crashylitcs but haven't both able to reproduce locally.

Stacktrace

Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'java.util.regex.Matcher java.util.regex.Pattern.matcher(java.lang.CharSequence)' on a null object reference
       at com.braintreepayments.cardform.utils.CardType.validate(CardType.java:223)
       at com.silvercar.mobi.ui.view.CardEditText.isValid(CardEditText.java:120)
       at com.silvercar.mobi.ui.view.CardForm.isCardNumberValid(CardForm.java:161)
       at com.silvercar.mobi.ui.account.CreditCardActivity.isCreditCardValid(CreditCardActivity.java:268)
       at com.silvercar.mobi.ui.account.CreditCardActivity.finishSubmission(CreditCardActivity.java:256)
       at com.silvercar.mobi.ui.account.CreditCardActivity.onFinishClicked(CreditCardActivity.java:238)
       at com.silvercar.mobi.ui.account.CreditCardActivity_ViewBinding$8.doClick(CreditCardActivity_ViewBinding.java:135)
       at butterknife.internal.DebouncingOnClickListener.onClick(DebouncingOnClickListener.java:22)
       at android.view.View.performClick(View.java:6897)
       at android.widget.TextView.performClick(TextView.java:12693)
       at android.view.View$PerformClick.run(View.java:26100)
       at android.os.Handler.handleCallback(Handler.java:789)
       at android.os.Handler.dispatchMessage(Handler.java:98)
       at android.os.Looper.loop(Looper.java:164)
       at android.app.ActivityThread.main(ActivityThread.java:6944)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)
quinnjn commented 5 years ago

Thanks for the report! We're missing a null check for sure. PR will be out shortly.

deandalm commented 5 years ago

@quinnjn awesome, any ETA on a release?

quinnjn commented 5 years ago

Released 3.5.1 which includes this change.