When using custom Kotlin objects for firestore drop 'is' prefix. It ruined my entire day.
data class UberRequest(val geoPoint: GeoPoint? = null,
//don't use 'is' prefix on boolean properties
val isAccepted:Boolean = false,
@ServerTimestamp
val timestamp: Date? = null)
I noted on the console that 'is' is dropped as shown on this snapshot from firestore console
So when you try to retrieve the isAccepted value it returns the default value which in this case is false. If the default value is null, you get a null value back
This is illustrated on this snapshot from my logcat
I noted on the console that 'is' is dropped as shown on this snapshot from firestore console
So when you try to retrieve the isAccepted value it returns the default value which in this case is false. If the default value is null, you get a null value back
This is illustrated on this snapshot from my logcat
Firestore uses Java Bean conventions for mapping properties between the Java class and the JSON in the database.
In Java Beans an is
prefix on a boolean field/method indicates a boolean property. So the fact that your isAccepted
is mapped to a JSON property with the name accepted
is expected.
If you want to control the name that Firebase uses in its JSON mapping, you can annotate the field/methods with @PropertyName("isAccepted")
.