Ellen Spertus
04/06/2020, 8:46 PMUnresolved reference: Callback error in the expression ContactDatabase.Callback.
Why? As shown, ContactDatabase extends RoomDatabase, and RoomDatabase.Callback is defined.
@Database(entities = arrayOf(ContactEntity::class), version = 1)
abstract class ContactDatabase : RoomDatabase() {
abstract fun contactDao(): ContactDao
lateinit var callback: RoomDatabase.Callback
private class ContactDatabaseCallback(
private val scope: CoroutineScope
) : ContactDatabase.Callback() { <-- Error on this linetseisel
04/06/2020, 9:02 PMabstract class ContactDatabase : RoomDatabase() {
[...]
private class ContactDatabaseCallback(
private val scope: CoroutineScope
) : RoomDatabase.Callback() { <-- Difference is here
}
}Ellen Spertus
04/06/2020, 9:02 PM@Database(entities = arrayOf(ContactEntity::class), version = 1)
abstract class ContactDatabase : RoomDatabase() {
abstract fun contactDao(): ContactDao
lateinit var callback: RoomDatabase.Callback
private class ContactDatabaseCallback(
private val scope: CoroutineScope
) : Callback() { <-- No error here
How come?Ellen Spertus
04/06/2020, 9:03 PMtseisel
04/06/2020, 9:05 PMContactDatabase extends from RoomDatabase, it can access its inner class RoomDatabase.Callback without specifying the full qualifier. That's a rather odd rule, probably inherited from Java.Ellen Spertus
04/06/2020, 9:06 PMContactDatabase.Callback exist, when ContactDatabase extends RoomDatabase?tseisel
04/06/2020, 9:07 PMEllen Spertus
04/06/2020, 9:07 PM