I have received numerous Crashlytics reports of an exception my app is throwing, but I have never seen this myself, and I am struggling to understand where it is coming from.
My running theory is that it is related to the Firebase Auth dependency I have - but that dependency isn't actively being used yet. There is a whole sign-up and sign-in flow that my production app has disabled. The only two instances of the library being used in production code is:
// Inside Activity.onCreate()
Firebase.auth.addAuthStateListener {
val user = it.currentUser
if (user != null) {
Firebase.analytics.setUserId(user.uid)
CoroutineScope(Dispatchers.IO).launch {
registerDeviceToken(applicationContext)
}
} else {
Firebase.analytics.setUserId(null)
Firebase.messaging.deleteToken()
}
}
and:
// Called from Activity.onStart()
fun hasPendingMagicLink(intent: Intent): Boolean {
val emailAddress = getMagicLinkEmailAddress()
return emailAddress != null
&& Firebase.auth.currentUser == null
&& Firebase.auth.isSignInWithEmailLink(intent.data.toString())
}
I have included the Crashlytics reports below.
Fatal Exception: java.lang.RuntimeException
Unable to start activity ComponentInfo{com.poliziano.notanotherpomodoroapp/com.google.android.gms.auth.api.signin.internal.SignInHubActivity}: java.lang.NullPointerException android.app.ActivityThread.performLaunchActivity
Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.poliziano.notanotherpomodoroapp/com.google.android.gms.auth.api.signin.internal.SignInHubActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2778)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6494)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
Caused by java.lang.NullPointerException
android.app.ActivityThread.performLaunchActivity
Caused by java.lang.NullPointerException
at java.util.Objects.requireNonNull(Objects.java:203)
at com.google.android.gms.internal.auth-api.zzaz.checkNotNull(zzaz.java:2)
at com.google.android.gms.auth.api.signin.internal.SignInHubActivity.onCreate(SignInHubActivity.java:5)
at android.app.Activity.performCreate(Activity.java:7009)
at android.app.Activity.performCreate(Activity.java:7000)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1214)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2731)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6494)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)