VM
Size: a a a
VM
VM
private val quoteRepository: QuoteRepository = QuoteRepository(application)
object QuoteRepository : QuoteRepositoryAbs
/
/
КА
КА
ЮС
Application
. И нем прописать типаpublic static Context getContext() {
return getApplicationContext();
}
Если на Kotlin, то там вроде бы через companion object
делаешьЮС
SP
private val quoteRepository: QuoteRepository = QuoteRepository(application)
object QuoteRepository : QuoteRepositoryAbs
VM
AE
ЮС
VM
AE
VM
AE
class QuoteRepository(val dao: QuoteDao) {...}
@Provides
@Singleton
fun provideDatabase(
context: Context
) = QuoteRoomDataBase.getDatabase(context)
@Provides
fun provideDao(
database: QuoteRoomDataBase
) = QuoteRoomDataBase.getDao()
@Provides
@Singleton
fun provideRepository(
dao: QuoteDao
) = QuoteRepository(dao)
VM
class QuoteRepository(val dao: QuoteDao) {...}
@Provides
@Singleton
fun provideDatabase(
context: Context
) = QuoteRoomDataBase.getDatabase(context)
@Provides
fun provideDao(
database: QuoteRoomDataBase
) = QuoteRoomDataBase.getDao()
@Provides
@Singleton
fun provideRepository(
dao: QuoteDao
) = QuoteRepository(dao)
AE
AE
VM
private val preferenceRepository = PreferenceRepository.initObject(context)в AppModule
fun initObject(appContext: Context):PreferenceRepository {
preferences = PreferenceManager.getDefaultSharedPreferences(appContext)
return this
}