firebase / FirebaseUI-Android

Optimized UI components for Firebase
https://firebaseopensource.com/projects/firebase/firebaseui-android/
Apache License 2.0
4.63k stars 1.84k forks source link

SpacedEditText crash #1129

Closed RuiVarela closed 6 years ago

RuiVarela commented 6 years ago

Step 1: Are you in the right place?

Yes

Step 2: Describe your environment

Step 3: Describe the problem:

Hi All, while connecting with phone (we only use fb for phone) we have erratically this NPE in production

Fatal Exception: java.lang.IndexOutOfBoundsException: setSpan (21 ... 21) ends beyond length 11, requestedIndex=11, spacesUpToIndex=10, originalText=------
       at com.firebase.ui.auth.ui.phone.SpacedEditText.setSelection(SpacedEditText.java:81)
       at android.widget.EditText.setText(EditText.java:99)
       at com.firebase.ui.auth.ui.phone.SpacedEditText.setText(SpacedEditText.java:60)
       at android.widget.TextView.setText(TextView.java:4222)
       at com.firebase.ui.auth.ui.phone.SubmitConfirmationCodeFragment.setupConfirmationCodeEditText(SubmitConfirmationCodeFragment.java:193)
       at com.firebase.ui.auth.ui.phone.SubmitConfirmationCodeFragment.onCreateView(SubmitConfirmationCodeFragment.java:90)
       at android.support.v4.app.Fragment.performCreateView(Fragment.java:2261)
       at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1419)
       at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1750)
       at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1819)
       at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:797)
       at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2590)
       at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2377)
       at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2332)
       at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2239)
       at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:700)
       at android.os.Handler.handleCallback(Handler.java:815)
       at android.os.Handler.dispatchMessage(Handler.java:104)
       at android.os.Looper.loop(Looper.java:207)
       at android.app.ActivityThread.main(ActivityThread.java:5728)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:679)

Code to reproduce:

 startActivityForResult(AuthUI.getInstance()
                .createSignInIntentBuilder()
                .setLogo(R.mipmap.ic_launcher)
                .setIsSmartLockEnabled(false)
                .setAvailableProviders(
                        arrayListOf(AuthUI.IdpConfig.Builder(AuthUI.GOOGLE_PROVIDER).build()))
                .setTheme(R.style.LoginTheme)
                .setLogo(R.drawable.logo)
                .build(),
                requestCode)

Here is the crashlitics link: http://crashes.to/s/6f058a6e31b

samtstern commented 6 years ago

@RuiVarela thank you for reporting this. @SUPERCILEX we finally caught one with the new logging!

samtstern commented 6 years ago

@RuiVarela note this is a duplicate of #779 so I am going to close it, but we will definitely dig into this more now that we have your logs.