|
|
@@ -6,22 +6,49 @@ import coil.decode.GifDecoder
|
|
|
import coil.decode.ImageDecoderDecoder
|
|
|
import coil.decode.SvgDecoder
|
|
|
import io.legado.app.data.AppDatabase
|
|
|
+import io.legado.app.data.repository.AppStartupRepository
|
|
|
+import io.legado.app.data.repository.BookCacheCleanupRepository
|
|
|
+import io.legado.app.data.repository.BookDomainRepositoryImpl
|
|
|
import io.legado.app.data.repository.BookGroupRepository
|
|
|
import io.legado.app.data.repository.BookRepository
|
|
|
+import io.legado.app.data.repository.BookSourceCallbackRepository
|
|
|
+import io.legado.app.data.repository.CacheBookDownloadRepository
|
|
|
+import io.legado.app.data.repository.DatabaseMaintenanceRepository
|
|
|
import io.legado.app.data.repository.DirectLinkUploadRepository
|
|
|
+import io.legado.app.data.repository.DictRuleRepository
|
|
|
import io.legado.app.data.repository.ExploreRepository
|
|
|
import io.legado.app.data.repository.ExploreRepositoryImpl
|
|
|
+import io.legado.app.data.repository.LocalBookRepository
|
|
|
import io.legado.app.data.repository.ReadRecordRepository
|
|
|
import io.legado.app.data.repository.RemoteBookRepository
|
|
|
import io.legado.app.data.repository.SearchRepository
|
|
|
import io.legado.app.data.repository.SearchRepositoryImpl
|
|
|
import io.legado.app.data.repository.SearchContentRepository
|
|
|
import io.legado.app.data.repository.UploadRepository
|
|
|
+import io.legado.app.data.repository.WebDavBackupRepository
|
|
|
+import io.legado.app.data.repository.WebDavReadingProgressRepository
|
|
|
+import io.legado.app.domain.gateway.BookCacheCleanupGateway
|
|
|
+import io.legado.app.domain.gateway.AppStartupGateway
|
|
|
+import io.legado.app.domain.gateway.BookCacheDownloadGateway
|
|
|
+import io.legado.app.domain.gateway.BookSourceCallbackGateway
|
|
|
+import io.legado.app.domain.gateway.DatabaseMaintenanceGateway
|
|
|
+import io.legado.app.domain.gateway.LocalBookGateway
|
|
|
+import io.legado.app.domain.gateway.ReadingProgressGateway
|
|
|
+import io.legado.app.domain.gateway.WebDavBackupGateway
|
|
|
+import io.legado.app.domain.repository.BookDomainRepository
|
|
|
+import io.legado.app.domain.usecase.AppStartupMaintenanceUseCase
|
|
|
import io.legado.app.domain.usecase.BatchCacheDownloadUseCase
|
|
|
+import io.legado.app.domain.usecase.CacheBookChaptersUseCase
|
|
|
import io.legado.app.domain.usecase.ClearBookCacheUseCase
|
|
|
import io.legado.app.domain.usecase.DeleteBooksUseCase
|
|
|
-import io.legado.app.domain.usecase.ExploreKindUiUseCase
|
|
|
+import io.legado.app.domain.usecase.GetReadingProgressUseCase
|
|
|
+import io.legado.app.domain.usecase.RemoveBookGroupAssignmentUseCase
|
|
|
+import io.legado.app.ui.widget.components.explore.ExploreKindUiUseCase
|
|
|
+import io.legado.app.domain.usecase.ResolveBookShelfStateUseCase
|
|
|
+import io.legado.app.domain.usecase.ShrinkDatabaseUseCase
|
|
|
import io.legado.app.domain.usecase.UpdateBooksGroupUseCase
|
|
|
+import io.legado.app.domain.usecase.UploadReadingProgressUseCase
|
|
|
+import io.legado.app.domain.usecase.WebDavBackupUseCase
|
|
|
import io.legado.app.help.coil.CoverFetcher
|
|
|
import io.legado.app.help.coil.CoverInterceptor
|
|
|
import io.legado.app.help.http.okHttpClient
|
|
|
@@ -35,6 +62,8 @@ import io.legado.app.ui.book.explore.ExploreShowViewModel
|
|
|
import io.legado.app.ui.book.group.GroupViewModel
|
|
|
import io.legado.app.ui.book.import.local.ImportBookViewModel
|
|
|
import io.legado.app.ui.book.import.remote.RemoteBookViewModel
|
|
|
+import io.legado.app.ui.book.import.remote.ServerConfigViewModel
|
|
|
+import io.legado.app.ui.book.import.remote.ServersViewModel
|
|
|
import io.legado.app.ui.book.info.BookInfoViewModel
|
|
|
import io.legado.app.ui.book.readRecord.ReadRecordViewModel
|
|
|
import io.legado.app.ui.book.search.SearchViewModel
|
|
|
@@ -47,6 +76,7 @@ import io.legado.app.ui.config.coverConfig.CoverConfigViewModel
|
|
|
import io.legado.app.ui.config.otherConfig.OtherConfigViewModel
|
|
|
import io.legado.app.ui.config.readConfig.ReadConfigViewModel
|
|
|
import io.legado.app.ui.config.themeConfig.ThemeConfigViewModel
|
|
|
+import io.legado.app.ui.dict.DictViewModel
|
|
|
import io.legado.app.ui.dict.rule.DictRuleViewModel
|
|
|
import io.legado.app.ui.main.MainViewModel
|
|
|
import io.legado.app.ui.main.bookshelf.BookshelfViewModel
|
|
|
@@ -76,16 +106,34 @@ val appModule = module {
|
|
|
singleOf(::ReadRecordRepository)
|
|
|
singleOf(::BookRepository)
|
|
|
singleOf(::BookGroupRepository)
|
|
|
+ singleOf(::DictRuleRepository)
|
|
|
singleOf(::SearchContentRepository)
|
|
|
singleOf(::RemoteBookRepository)
|
|
|
singleOf(::ExploreKindUiUseCase)
|
|
|
+ singleOf(::AppStartupMaintenanceUseCase)
|
|
|
singleOf(::BatchCacheDownloadUseCase)
|
|
|
+ singleOf(::CacheBookChaptersUseCase)
|
|
|
singleOf(::ClearBookCacheUseCase)
|
|
|
singleOf(::DeleteBooksUseCase)
|
|
|
+ singleOf(::GetReadingProgressUseCase)
|
|
|
+ singleOf(::RemoveBookGroupAssignmentUseCase)
|
|
|
singleOf(::UpdateBooksGroupUseCase)
|
|
|
+ singleOf(::UploadReadingProgressUseCase)
|
|
|
+ singleOf(::ResolveBookShelfStateUseCase)
|
|
|
+ singleOf(::ShrinkDatabaseUseCase)
|
|
|
+ singleOf(::WebDavBackupUseCase)
|
|
|
singleOf(::CacheConfig)
|
|
|
|
|
|
single<UploadRepository> { DirectLinkUploadRepository() }
|
|
|
+ single<AppStartupGateway> { AppStartupRepository(get()) }
|
|
|
+ single<BookCacheDownloadGateway> { CacheBookDownloadRepository(get()) }
|
|
|
+ single<BookCacheCleanupGateway> { BookCacheCleanupRepository(get()) }
|
|
|
+ single<BookSourceCallbackGateway> { BookSourceCallbackRepository(get(), get()) }
|
|
|
+ single<LocalBookGateway> { LocalBookRepository(get()) }
|
|
|
+ single<DatabaseMaintenanceGateway> { DatabaseMaintenanceRepository(get()) }
|
|
|
+ single<WebDavBackupGateway> { WebDavBackupRepository() }
|
|
|
+ single<ReadingProgressGateway> { WebDavReadingProgressRepository() }
|
|
|
+ single<BookDomainRepository> { BookDomainRepositoryImpl(get(), get()) }
|
|
|
single<ExploreRepository> { ExploreRepositoryImpl(get()) }
|
|
|
single<SearchRepository> { SearchRepositoryImpl(get()) }
|
|
|
|
|
|
@@ -106,6 +154,7 @@ val appModule = module {
|
|
|
}
|
|
|
|
|
|
viewModelOf(::DictRuleViewModel)
|
|
|
+ viewModelOf(::DictViewModel)
|
|
|
viewModelOf(::RssSourceViewModel)
|
|
|
viewModelOf(::RssSortViewModel)
|
|
|
viewModelOf(::RssArticlesViewModel)
|
|
|
@@ -127,6 +176,8 @@ val appModule = module {
|
|
|
viewModelOf(::TocViewModel)
|
|
|
viewModelOf(::ImportBookViewModel)
|
|
|
viewModelOf(::RemoteBookViewModel)
|
|
|
+ viewModelOf(::ServerConfigViewModel)
|
|
|
+ viewModelOf(::ServersViewModel)
|
|
|
viewModelOf(::BookInfoViewModel)
|
|
|
viewModelOf(::ChangeCoverViewModel)
|
|
|
viewModelOf(::ChangeBookSourceComposeViewModel)
|
|
|
@@ -142,6 +193,7 @@ val appModule = module {
|
|
|
bookChapterDao = get(),
|
|
|
cacheConfig = get(),
|
|
|
batchCacheDownloadUseCase = get(),
|
|
|
+ cacheBookChaptersUseCase = get(),
|
|
|
clearBookCacheUseCase = get(),
|
|
|
deleteBooksUseCase = get(),
|
|
|
updateBooksGroupUseCase = get()
|