I'm trying to implement Proto Datastore using Kotlin serialization and Hilt.
Reference: https://medium.com/androiddevelopers/using-datastore-with-kotlin-serialization-6552502c5345
I couldn't inject DataStore object using the new DataStore creation syntax.
@InstallIn(SingletonComponent::class)
@Module
object DataStoreModule {
@ExperimentalSerializationApi
@Singleton
@Provides
fun provideDataStore(@ApplicationContext context: Context): DataStore<UserPreferences> {
val Context.dataStore: DataStore<UserPreferences> by dataStore(
fileName = "user_pref.pb",
serializer = UserPreferencesSerializer
)
return dataStore
}
}
I get the lint message Local extension properties are not allowed
How can inject this Kotlin extension property? Or is there any way to inject dataStore object?