Every time the app has crashed after update some doc fields. These fields updated as expected, but crash comes in callback addOnSuccessListener
. When I remove OnSuccessListener, this works fine. Any suggestions?
Upd: I've figured out that all my Firestore calls makes the app crash in addOnSuccessListener
, so the reason is more global. Also using addOnCompleteListener
instead of addOnSuccessListener
works as expected.
Upd2: Issue discussion and solution
fun setAppointmentStatus(docId: String, status: String, callback: (succeed: Boolean) -> Unit) {
db.collection(path)
.document(docId)
.update("status", status, "updatedAt", FieldValue.serverTimestamp())
.addOnSuccessListener {
callback(true)
}
}
Stack trace:
2022-01-03 18:25:50.654 9378-9378/com.project.provider E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.project.provider, PID: 9378
java.lang.NullPointerException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkNotNullParameter, parameter it
at com.biosensics.nula.cloud.AppointmentCloudHelper$setAppointmentStatus$1.onSuccess(Unknown Source:2)
at com.biosensics.nula.cloud.AppointmentCloudHelper$setAppointmentStatus$1.onSuccess(Unknown Source:2)
at com.google.android.gms.tasks.zzm.run(com.google.android.gms:play-services-tasks@@18.0.0:1)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:201)
at android.os.Looper.loop(Looper.java:288)
at android.app.ActivityThread.main(ActivityThread.java:7839)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)