Skip to content

NPE in SaveSmartLock#saveCredentialsOrFinish #693

@SUPERCILEX

Description

@SUPERCILEX

@samtstern I got another NPE due to getActivity() being null... 😢

At some point, we had SaveSmartLock save the credentials when it booted up instead of caching the fragment; do you know why that was changed? I think it would be much better to simply start saving the credentials when the fragment starts instead of keeping it alive thus leading to a bunch of getActivity() NPEs. I know this would have some performance implications, but I doubt they are significant in comparison to the gain of no NPEs. @samtstern What do you think?

The crash:

Exception java.lang.NullPointerException: Activity must not be null
com.google.android.gms.common.internal.zzac.zzw (zzac.java)
<OR>.zzdr (zzac.java)
<OR>.zzh (zzac.java)
<OR>.zzb (zzac.java)
<OR>.zzaw (zzac.java)
<OR>.zza (zzac.java)
<OR>.zza (zzac.java)
<OR>.zza (zzac.java)
com.google.android.gms.internal.zzabd.<init> (zzabd.java)
com.google.android.gms.common.api.GoogleApiClient$Builder.addConnectionCallbacks (GoogleApiClient.java)
<OR>.addOnConnectionFailedListener (GoogleApiClient.java)
<OR>.addApi (GoogleApiClient.java)
<OR>.addApi (GoogleApiClient.java)
<OR>.enableAutoManage (GoogleApiClient.java)
<OR>.zzvp (GoogleApiClient.java)
com.firebase.ui.auth.util.signincontainer.SaveSmartLock.saveCredentialsOrFinish (SaveSmartLock.java:221)
com.firebase.ui.auth.ui.BaseHelper.saveCredentialsOrFinish (BaseHelper.java:129)
com.firebase.ui.auth.ui.idp.CredentialSignInHandler.onComplete (CredentialSignInHandler.java:78)
com.google.android.gms.tasks.zzc$1.run (zzc.java)
android.os.Handler.handleCallback (Handler.java:751)
android.os.Handler.dispatchMessage (Handler.java:95)
android.os.Looper.loop (Looper.java:154)
android.app.ActivityThread.main (ActivityThread.java:6121)
java.lang.reflect.Method.invoke (Method.java)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:889)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:779)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions