mirror of
https://github.com/mihonapp/mihon.git
synced 2025-11-12 12:08:56 +01:00
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:
@@ -2,6 +2,7 @@ package eu.kanade.tachiyomi.data.backup
|
||||
|
||||
import android.content.Context
|
||||
import android.net.Uri
|
||||
import eu.kanade.data.chapter.NoChaptersException
|
||||
import eu.kanade.tachiyomi.R
|
||||
import eu.kanade.tachiyomi.data.database.DatabaseHelper
|
||||
import eu.kanade.tachiyomi.data.database.models.Chapter
|
||||
@@ -9,7 +10,6 @@ import eu.kanade.tachiyomi.data.database.models.Manga
|
||||
import eu.kanade.tachiyomi.data.database.models.Track
|
||||
import eu.kanade.tachiyomi.data.track.TrackManager
|
||||
import eu.kanade.tachiyomi.source.Source
|
||||
import eu.kanade.tachiyomi.util.chapter.NoChaptersException
|
||||
import eu.kanade.tachiyomi.util.system.createFileInCacheDir
|
||||
import kotlinx.coroutines.Job
|
||||
import uy.kohesive.injekt.injectLazy
|
||||
|
||||
@@ -175,7 +175,7 @@ class FullBackupManager(context: Context) : AbstractBackupManager(context) {
|
||||
|
||||
// Check if user wants track information in backup
|
||||
if (options and BACKUP_TRACK_MASK == BACKUP_TRACK) {
|
||||
val tracks = db.getTracks(manga).executeAsBlocking()
|
||||
val tracks = db.getTracks(manga.id).executeAsBlocking()
|
||||
if (tracks.isNotEmpty()) {
|
||||
mangaObject.tracking = tracks.map { BackupTracking.copyFrom(it) }
|
||||
}
|
||||
@@ -318,7 +318,7 @@ class FullBackupManager(context: Context) : AbstractBackupManager(context) {
|
||||
tracks.map { it.manga_id = manga.id!! }
|
||||
|
||||
// Get tracks from database
|
||||
val dbTracks = db.getTracks(manga).executeAsBlocking()
|
||||
val dbTracks = db.getTracks(manga.id).executeAsBlocking()
|
||||
val trackToUpdate = mutableListOf<Track>()
|
||||
|
||||
tracks.forEach { track ->
|
||||
|
||||
@@ -34,11 +34,11 @@ class CoverCache(private val context: Context) {
|
||||
/**
|
||||
* Returns the cover from cache.
|
||||
*
|
||||
* @param manga the manga.
|
||||
* @param mangaThumbnailUrl thumbnail url for the manga.
|
||||
* @return cover image.
|
||||
*/
|
||||
fun getCoverFile(manga: Manga): File? {
|
||||
return manga.thumbnail_url?.let {
|
||||
fun getCoverFile(mangaThumbnailUrl: String?): File? {
|
||||
return mangaThumbnailUrl?.let {
|
||||
File(cacheDir, DiskUtil.hashKeyForDisk(it))
|
||||
}
|
||||
}
|
||||
@@ -46,11 +46,11 @@ class CoverCache(private val context: Context) {
|
||||
/**
|
||||
* Returns the custom cover from cache.
|
||||
*
|
||||
* @param manga the manga.
|
||||
* @param mangaId the manga id.
|
||||
* @return cover image.
|
||||
*/
|
||||
fun getCustomCoverFile(manga: Manga): File {
|
||||
return File(customCoverCacheDir, DiskUtil.hashKeyForDisk(manga.id.toString()))
|
||||
fun getCustomCoverFile(mangaId: Long?): File {
|
||||
return File(customCoverCacheDir, DiskUtil.hashKeyForDisk(mangaId.toString()))
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -62,7 +62,7 @@ class CoverCache(private val context: Context) {
|
||||
*/
|
||||
@Throws(IOException::class)
|
||||
fun setCustomCoverToCache(manga: Manga, inputStream: InputStream) {
|
||||
getCustomCoverFile(manga).outputStream().use {
|
||||
getCustomCoverFile(manga.id).outputStream().use {
|
||||
inputStream.copyTo(it)
|
||||
}
|
||||
}
|
||||
@@ -77,12 +77,12 @@ class CoverCache(private val context: Context) {
|
||||
fun deleteFromCache(manga: Manga, deleteCustomCover: Boolean = false): Int {
|
||||
var deleted = 0
|
||||
|
||||
getCoverFile(manga)?.let {
|
||||
getCoverFile(manga.thumbnail_url)?.let {
|
||||
if (it.exists() && it.delete()) ++deleted
|
||||
}
|
||||
|
||||
if (deleteCustomCover) {
|
||||
if (deleteCustomCover(manga)) ++deleted
|
||||
if (deleteCustomCover(manga.id)) ++deleted
|
||||
}
|
||||
|
||||
return deleted
|
||||
@@ -91,11 +91,11 @@ class CoverCache(private val context: Context) {
|
||||
/**
|
||||
* Delete custom cover of the manga from the cache
|
||||
*
|
||||
* @param manga the manga.
|
||||
* @param mangaId the manga id.
|
||||
* @return whether the cover was deleted.
|
||||
*/
|
||||
fun deleteCustomCover(manga: Manga): Boolean {
|
||||
return getCustomCoverFile(manga).let {
|
||||
fun deleteCustomCover(mangaId: Long?): Boolean {
|
||||
return getCustomCoverFile(mangaId).let {
|
||||
it.exists() && it.delete()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -57,7 +57,7 @@ class MangaCoverFetcher(
|
||||
override suspend fun fetch(): FetchResult {
|
||||
// Use custom cover if exists
|
||||
val useCustomCover = options.parameters.value(USE_CUSTOM_COVER) ?: true
|
||||
val customCoverFile = coverCache.getCustomCoverFile(manga)
|
||||
val customCoverFile = coverCache.getCustomCoverFile(manga.id)
|
||||
if (useCustomCover && customCoverFile.exists()) {
|
||||
return fileLoader(customCoverFile)
|
||||
}
|
||||
@@ -82,7 +82,7 @@ class MangaCoverFetcher(
|
||||
private suspend fun httpLoader(): FetchResult {
|
||||
// Only cache separately if it's a library item
|
||||
val libraryCoverCacheFile = if (manga.favorite) {
|
||||
coverCache.getCoverFile(manga) ?: error("No cover specified")
|
||||
coverCache.getCoverFile(manga.thumbnail_url) ?: error("No cover specified")
|
||||
} else {
|
||||
null
|
||||
}
|
||||
|
||||
@@ -19,13 +19,13 @@ interface TrackQueries : DbProvider {
|
||||
)
|
||||
.prepare()
|
||||
|
||||
fun getTracks(manga: Manga) = db.get()
|
||||
fun getTracks(mangaId: Long?) = db.get()
|
||||
.listOfObjects(Track::class.java)
|
||||
.withQuery(
|
||||
Query.builder()
|
||||
.table(TrackTable.TABLE)
|
||||
.where("${TrackTable.COL_MANGA_ID} = ?")
|
||||
.whereArgs(manga.id)
|
||||
.whereArgs(mangaId)
|
||||
.build(),
|
||||
)
|
||||
.prepare()
|
||||
|
||||
@@ -102,8 +102,9 @@ class DownloadManager(
|
||||
downloader.clearQueue(isNotification)
|
||||
}
|
||||
|
||||
fun startDownloadNow(chapter: Chapter) {
|
||||
val download = downloader.queue.find { it.chapter.id == chapter.id } ?: return
|
||||
fun startDownloadNow(chapterId: Long?) {
|
||||
if (chapterId == null) return
|
||||
val download = downloader.queue.find { it.chapter.id == chapterId } ?: return
|
||||
val queue = downloader.queue.toMutableList()
|
||||
queue.remove(download)
|
||||
queue.add(0, download)
|
||||
|
||||
@@ -6,9 +6,12 @@ import eu.kanade.tachiyomi.source.model.Page
|
||||
import eu.kanade.tachiyomi.source.online.HttpSource
|
||||
import rx.subjects.PublishSubject
|
||||
|
||||
class Download(val source: HttpSource, val manga: Manga, val chapter: Chapter) {
|
||||
|
||||
var pages: List<Page>? = null
|
||||
data class Download(
|
||||
val source: HttpSource,
|
||||
val manga: Manga,
|
||||
val chapter: Chapter,
|
||||
var pages: List<Page>? = null,
|
||||
) {
|
||||
|
||||
@Volatile
|
||||
@Transient
|
||||
|
||||
@@ -6,6 +6,7 @@ import android.content.Intent
|
||||
import android.os.IBinder
|
||||
import android.os.PowerManager
|
||||
import androidx.core.content.ContextCompat
|
||||
import eu.kanade.data.chapter.NoChaptersException
|
||||
import eu.kanade.tachiyomi.R
|
||||
import eu.kanade.tachiyomi.data.cache.CoverCache
|
||||
import eu.kanade.tachiyomi.data.database.DatabaseHelper
|
||||
@@ -31,7 +32,6 @@ import eu.kanade.tachiyomi.source.model.SManga
|
||||
import eu.kanade.tachiyomi.source.model.toMangaInfo
|
||||
import eu.kanade.tachiyomi.source.model.toSChapter
|
||||
import eu.kanade.tachiyomi.source.model.toSManga
|
||||
import eu.kanade.tachiyomi.util.chapter.NoChaptersException
|
||||
import eu.kanade.tachiyomi.util.chapter.syncChaptersWithSource
|
||||
import eu.kanade.tachiyomi.util.chapter.syncChaptersWithTrackServiceTwoWay
|
||||
import eu.kanade.tachiyomi.util.lang.withIOContext
|
||||
@@ -500,7 +500,7 @@ class LibraryUpdateService(
|
||||
}
|
||||
|
||||
private suspend fun updateTrackings(manga: LibraryManga, loggedServices: List<TrackService>) {
|
||||
db.getTracks(manga).executeAsBlocking()
|
||||
db.getTracks(manga.id).executeAsBlocking()
|
||||
.map { track ->
|
||||
supervisorScope {
|
||||
async {
|
||||
|
||||
@@ -30,7 +30,7 @@ class DelayedTrackingUpdateJob(context: Context, workerParams: WorkerParameters)
|
||||
withContext(Dispatchers.IO) {
|
||||
val tracks = delayedTrackingStore.getItems().mapNotNull {
|
||||
val manga = db.getManga(it.mangaId).executeAsBlocking() ?: return@withContext
|
||||
db.getTracks(manga).executeAsBlocking()
|
||||
db.getTracks(manga.id).executeAsBlocking()
|
||||
.find { track -> track.id == it.trackId }
|
||||
?.also { track ->
|
||||
track.last_chapter_read = it.lastChapterRead
|
||||
|
||||
Reference in New Issue
Block a user