komikku/app/src/main/java/exh/ui/metadata/MetadataViewPresenter.kt

44 lines
1.4 KiB
Kotlin
Raw Normal View History

package exh.ui.metadata
import android.os.Bundle
Use SQLDelight for all Manga related queries (#7447) (cherry picked from commit 17951cfd68159d083df54c3e03094d8d66fe02ec) # Conflicts: # app/src/main/java/eu/kanade/domain/DomainModule.kt # app/src/main/java/eu/kanade/domain/manga/repository/MangaRepository.kt # app/src/main/java/eu/kanade/tachiyomi/data/database/DatabaseHelper.kt # app/src/main/java/eu/kanade/tachiyomi/data/database/DbExtensions.kt # app/src/main/java/eu/kanade/tachiyomi/data/database/DbProvider.kt # app/src/main/java/eu/kanade/tachiyomi/data/database/mappers/ChapterTypeMapping.kt # app/src/main/java/eu/kanade/tachiyomi/data/database/mappers/MangaCategoryTypeMapping.kt # app/src/main/java/eu/kanade/tachiyomi/data/database/mappers/MangaTypeMapping.kt # app/src/main/java/eu/kanade/tachiyomi/data/database/queries/MangaQueries.kt # app/src/main/java/eu/kanade/tachiyomi/data/database/queries/RawQueries.kt # app/src/main/java/eu/kanade/tachiyomi/data/database/resolvers/ChapterProgressPutResolver.kt # app/src/main/java/eu/kanade/tachiyomi/data/database/resolvers/LibraryMangaGetResolver.kt # app/src/main/java/eu/kanade/tachiyomi/data/database/resolvers/MangaFlagsPutResolver.kt # app/src/main/java/eu/kanade/tachiyomi/data/database/tables/CategoryTable.kt # app/src/main/java/eu/kanade/tachiyomi/data/database/tables/ChapterTable.kt # app/src/main/java/eu/kanade/tachiyomi/data/database/tables/MangaCategoryTable.kt # app/src/main/java/eu/kanade/tachiyomi/data/database/tables/MangaTable.kt # app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt # app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchController.kt # app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt # app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt # app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt
2022-07-03 16:17:41 +02:00
import eu.kanade.domain.manga.interactor.GetFlatMetadataById
import eu.kanade.domain.manga.model.Manga
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
import eu.kanade.tachiyomi.source.Source
2020-12-21 00:56:09 +01:00
import eu.kanade.tachiyomi.source.online.MetadataSource
2021-01-27 05:47:26 +01:00
import eu.kanade.tachiyomi.util.lang.launchIO
import exh.metadata.metadata.base.RaisedSearchMetadata
2020-12-21 00:56:09 +01:00
import exh.source.getMainSource
import exh.ui.base.CoroutinePresenter
import kotlinx.coroutines.flow.MutableStateFlow
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
class MetadataViewPresenter(
val manga: Manga,
val source: Source,
val preferences: PreferencesHelper = Injekt.get(),
Use SQLDelight for all Manga related queries (#7447) (cherry picked from commit 17951cfd68159d083df54c3e03094d8d66fe02ec) # Conflicts: # app/src/main/java/eu/kanade/domain/DomainModule.kt # app/src/main/java/eu/kanade/domain/manga/repository/MangaRepository.kt # app/src/main/java/eu/kanade/tachiyomi/data/database/DatabaseHelper.kt # app/src/main/java/eu/kanade/tachiyomi/data/database/DbExtensions.kt # app/src/main/java/eu/kanade/tachiyomi/data/database/DbProvider.kt # app/src/main/java/eu/kanade/tachiyomi/data/database/mappers/ChapterTypeMapping.kt # app/src/main/java/eu/kanade/tachiyomi/data/database/mappers/MangaCategoryTypeMapping.kt # app/src/main/java/eu/kanade/tachiyomi/data/database/mappers/MangaTypeMapping.kt # app/src/main/java/eu/kanade/tachiyomi/data/database/queries/MangaQueries.kt # app/src/main/java/eu/kanade/tachiyomi/data/database/queries/RawQueries.kt # app/src/main/java/eu/kanade/tachiyomi/data/database/resolvers/ChapterProgressPutResolver.kt # app/src/main/java/eu/kanade/tachiyomi/data/database/resolvers/LibraryMangaGetResolver.kt # app/src/main/java/eu/kanade/tachiyomi/data/database/resolvers/MangaFlagsPutResolver.kt # app/src/main/java/eu/kanade/tachiyomi/data/database/tables/CategoryTable.kt # app/src/main/java/eu/kanade/tachiyomi/data/database/tables/ChapterTable.kt # app/src/main/java/eu/kanade/tachiyomi/data/database/tables/MangaCategoryTable.kt # app/src/main/java/eu/kanade/tachiyomi/data/database/tables/MangaTable.kt # app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt # app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchController.kt # app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt # app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt # app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt
2022-07-03 16:17:41 +02:00
private val getFlatMetadataById: GetFlatMetadataById = Injekt.get(),
2020-12-21 00:56:09 +01:00
) : CoroutinePresenter<MetadataViewController>() {
2020-12-21 00:56:09 +01:00
val meta = MutableStateFlow<RaisedSearchMetadata?>(null)
override fun onCreate(savedState: Bundle?) {
super.onCreate(savedState)
2021-01-27 05:47:26 +01:00
launchIO {
Use SQLDelight for all Manga related queries (#7447) (cherry picked from commit 17951cfd68159d083df54c3e03094d8d66fe02ec) # Conflicts: # app/src/main/java/eu/kanade/domain/DomainModule.kt # app/src/main/java/eu/kanade/domain/manga/repository/MangaRepository.kt # app/src/main/java/eu/kanade/tachiyomi/data/database/DatabaseHelper.kt # app/src/main/java/eu/kanade/tachiyomi/data/database/DbExtensions.kt # app/src/main/java/eu/kanade/tachiyomi/data/database/DbProvider.kt # app/src/main/java/eu/kanade/tachiyomi/data/database/mappers/ChapterTypeMapping.kt # app/src/main/java/eu/kanade/tachiyomi/data/database/mappers/MangaCategoryTypeMapping.kt # app/src/main/java/eu/kanade/tachiyomi/data/database/mappers/MangaTypeMapping.kt # app/src/main/java/eu/kanade/tachiyomi/data/database/queries/MangaQueries.kt # app/src/main/java/eu/kanade/tachiyomi/data/database/queries/RawQueries.kt # app/src/main/java/eu/kanade/tachiyomi/data/database/resolvers/ChapterProgressPutResolver.kt # app/src/main/java/eu/kanade/tachiyomi/data/database/resolvers/LibraryMangaGetResolver.kt # app/src/main/java/eu/kanade/tachiyomi/data/database/resolvers/MangaFlagsPutResolver.kt # app/src/main/java/eu/kanade/tachiyomi/data/database/tables/CategoryTable.kt # app/src/main/java/eu/kanade/tachiyomi/data/database/tables/ChapterTable.kt # app/src/main/java/eu/kanade/tachiyomi/data/database/tables/MangaCategoryTable.kt # app/src/main/java/eu/kanade/tachiyomi/data/database/tables/MangaTable.kt # app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt # app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchController.kt # app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt # app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt # app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt
2022-07-03 16:17:41 +02:00
val flatMetadata = getFlatMetadataById.await(manga.id) ?: return@launchIO
2021-07-25 20:16:16 +02:00
val mainSource = source.getMainSource<MetadataSource<*, *>>()
if (mainSource != null) {
2021-01-27 05:47:26 +01:00
meta.value = flatMetadata.raise(mainSource.metaClass)
2020-12-21 00:56:09 +01:00
}
2021-01-27 05:47:26 +01:00
}
2020-12-21 00:56:09 +01:00
meta
2021-01-06 06:54:11 +01:00
.inView { view, metadata ->
2020-12-21 00:56:09 +01:00
view.onNextMangaInfo(metadata)
}
2021-01-06 06:54:11 +01:00
.launch()
}
}