Minor cleanups

Pulling out some of the smaller changes that aren't related to the manga controller changes in #7244
This commit is contained in:
arkon
2022-06-04 16:01:49 -04:00
parent 5ea03fad87
commit 7fdbf40cd2
25 changed files with 94 additions and 79 deletions

View File

@@ -16,12 +16,8 @@ object MigrationFlags {
private const val TRACK = 0b0100
private const val CUSTOM_COVER = 0b1000
private const val CHAPTERS2 = 0x1
private const val CATEGORIES2 = 0x2
private const val TRACK2 = 0x4
private val coverCache: CoverCache by injectLazy()
private val db: DatabaseHelper = Injekt.get()
private val coverCache: CoverCache by injectLazy()
private val db: DatabaseHelper = Injekt.get()
val flags get() = arrayOf(CHAPTERS, CATEGORIES, TRACK, CUSTOM_COVER)
@@ -49,19 +45,19 @@ object MigrationFlags {
return positions.fold(0) { accumulated, position -> accumulated or (1 shl position) }
}
fun titles(manga: Manga?): Array<Int> {
val titles = arrayOf(R.string.chapters, R.string.categories).toMutableList()
if (manga != null) {
db.inTransaction {
if (db.getTracks(manga).executeAsBlocking().isNotEmpty()) {
titles.add(R.string.track)
}
fun titles(manga: Manga?): Array<Int> {
val titles = arrayOf(R.string.chapters, R.string.categories).toMutableList()
if (manga != null) {
db.inTransaction {
if (db.getTracks(manga.id).executeAsBlocking().isNotEmpty()) {
titles.add(R.string.track)
}
if (manga.hasCustomCover(coverCache)) {
titles.add(R.string.custom_cover)
}
}
}
return titles.toTypedArray()
}
if (manga.hasCustomCover(coverCache)) {
titles.add(R.string.custom_cover)
}
}
}
return titles.toTypedArray()
}
}

View File

@@ -150,7 +150,7 @@ class SearchPresenter(
// Update track
if (migrateTracks) {
val tracksToUpdate = db.getTracks(prevManga).executeAsBlocking().mapNotNull { track ->
val tracksToUpdate = db.getTracks(prevManga.id).executeAsBlocking().mapNotNull { track ->
track.id = null
track.manga_id = manga.id!!
@@ -183,7 +183,7 @@ class SearchPresenter(
// Update custom cover
if (migrateCustomCover) {
coverCache.setCustomCoverToCache(manga, coverCache.getCustomCoverFile(prevManga).inputStream())
coverCache.setCustomCoverToCache(manga, coverCache.getCustomCoverFile(prevManga.id).inputStream())
}
// SearchPresenter#networkToLocalManga may have updated the manga title,

View File

@@ -467,7 +467,7 @@ class LibraryController(
override fun onActionItemClicked(mode: ActionMode, item: MenuItem): Boolean {
when (item.itemId) {
R.id.action_move_to_category -> showChangeMangaCategoriesDialog()
R.id.action_move_to_category -> showMangaCategoriesDialog()
R.id.action_download_unread -> downloadUnreadChapters()
R.id.action_mark_as_read -> markReadStatus(true)
R.id.action_mark_as_unread -> markReadStatus(false)
@@ -540,7 +540,7 @@ class LibraryController(
/**
* Move the selected manga to a list of categories.
*/
private fun showChangeMangaCategoriesDialog() {
private fun showMangaCategoriesDialog() {
// Create a copy of selected manga
val mangas = selectedMangas.toList()

View File

@@ -34,6 +34,7 @@ import com.google.android.material.snackbar.Snackbar
import dev.chrisbanes.insetter.applyInsetter
import eu.davidea.flexibleadapter.FlexibleAdapter
import eu.davidea.flexibleadapter.SelectableAdapter
import eu.kanade.data.chapter.NoChaptersException
import eu.kanade.domain.history.model.HistoryWithRelations
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.data.cache.CoverCache
@@ -84,7 +85,6 @@ import eu.kanade.tachiyomi.ui.reader.ReaderActivity
import eu.kanade.tachiyomi.ui.recent.history.HistoryController
import eu.kanade.tachiyomi.ui.recent.updates.UpdatesController
import eu.kanade.tachiyomi.ui.webview.WebViewActivity
import eu.kanade.tachiyomi.util.chapter.NoChaptersException
import eu.kanade.tachiyomi.util.hasCustomCover
import eu.kanade.tachiyomi.util.lang.launchIO
import eu.kanade.tachiyomi.util.lang.launchUI
@@ -149,7 +149,6 @@ class MangaController :
private val preferences: PreferencesHelper by injectLazy()
private val coverCache: CoverCache by injectLazy()
private val sourceManager: SourceManager by injectLazy()
private var mangaInfoAdapter: MangaInfoHeaderAdapter? = null
private var chaptersHeaderAdapter: MangaChaptersHeaderAdapter? = null

View File

@@ -185,7 +185,7 @@ class MangaPresenter(
return Observable.just(0)
}
return db.getTracks(manga).asRxObservable()
return db.getTracks(manga.id).asRxObservable()
.map { tracks ->
val loggedServices = trackManager.services.filter { it.isLogged }.map { it.id }
tracks.filter { it.sync_id in loggedServices }
@@ -335,7 +335,7 @@ class MangaPresenter(
fun deleteCustomCover(manga: Manga) {
Observable
.fromCallable {
coverCache.deleteCustomCover(manga)
coverCache.deleteCustomCover(manga.id)
manga.updateCoverLastModified(db)
coverCache.clearMemoryCache()
}
@@ -514,7 +514,7 @@ class MangaPresenter(
}
fun startDownloadingNow(chapter: Chapter) {
downloadManager.startDownloadNow(chapter)
downloadManager.startDownloadNow(chapter.id)
}
/**
@@ -720,7 +720,7 @@ class MangaPresenter(
private fun fetchTrackers() {
trackSubscription?.let { remove(it) }
trackSubscription = db.getTracks(manga)
trackSubscription = db.getTracks(manga.id)
.asRxObservable()
.map { tracks ->
loggedServices.map { service ->

View File

@@ -85,9 +85,9 @@ class ChaptersSettingsSheet(
private val unread = Item.TriStateGroup(R.string.action_filter_unread, this)
private val bookmarked = Item.TriStateGroup(R.string.action_filter_bookmarked, this)
override val header = null
override val header: Item? = null
override val items = listOf(downloaded, unread, bookmarked)
override val footer = null
override val footer: Item? = null
override fun initModels() {
if (presenter.forceDownloaded()) {
@@ -138,9 +138,9 @@ class ChaptersSettingsSheet(
private val chapterNum = Item.MultiSort(R.string.sort_by_number, this)
private val uploadDate = Item.MultiSort(R.string.sort_by_upload_date, this)
override val header = null
override val header: Item? = null
override val items = listOf(source, uploadDate, chapterNum)
override val footer = null
override val footer: Item? = null
override fun initModels() {
val sorting = presenter.manga.sorting
@@ -200,9 +200,9 @@ class ChaptersSettingsSheet(
private val displayTitle = Item.Radio(R.string.show_title, this)
private val displayChapterNum = Item.Radio(R.string.show_chapter_number, this)
override val header = null
override val header: Item? = null
override val items = listOf(displayTitle, displayChapterNum)
override val footer = null
override val footer: Item? = null
override fun initModels() {
val mode = presenter.manga.displayMode

View File

@@ -151,7 +151,7 @@ class ReaderPresenter(
private var hasTrackers: Boolean = false
private val checkTrackers: (Manga) -> Unit = { manga ->
val tracks = db.getTracks(manga).executeAsBlocking()
val tracks = db.getTracks(manga.id).executeAsBlocking()
hasTrackers = tracks.size > 0
}
@@ -755,7 +755,7 @@ class ReaderPresenter(
val context = Injekt.get<Application>()
launchIO {
db.getTracks(manga).executeAsBlocking()
db.getTracks(manga.id).executeAsBlocking()
.mapNotNull { track ->
val service = trackManager.getService(track.sync_id)
if (service != null && service.isLogged && chapterRead > track.last_chapter_read) {

View File

@@ -143,7 +143,7 @@ class UpdatesPresenter : BasePresenter<UpdatesController>() {
}
fun startDownloadingNow(chapter: Chapter) {
downloadManager.startDownloadNow(chapter)
downloadManager.startDownloadNow(chapter.id)
}
/**