Files
QieKan-3.0/app/src/main/java/io/legato/kazusa/model/CheckSource.kt
T
2025-06-04 13:33:51 +08:00

69 lines
2.5 KiB
Kotlin

package io.legato.kazusa.model
import android.content.Context
import io.legato.kazusa.R
import io.legato.kazusa.constant.IntentAction
import io.legato.kazusa.data.entities.BookSourcePart
import io.legato.kazusa.help.CacheManager
import io.legato.kazusa.help.IntentData
import io.legato.kazusa.service.CheckSourceService
import io.legato.kazusa.utils.startService
import splitties.init.appCtx
object CheckSource {
var keyword = "我的"
//校验设置
var timeout = CacheManager.getLong("checkSourceTimeout") ?: 180000L
var checkSearch = CacheManager.get("checkSearch")?.toBoolean() ?: true
var checkDiscovery = CacheManager.get("checkDiscovery")?.toBoolean() ?: true
var checkInfo = CacheManager.get("checkInfo")?.toBoolean() ?: true
var checkCategory = CacheManager.get("checkCategory")?.toBoolean() ?: true
var checkContent = CacheManager.get("checkContent")?.toBoolean() ?: true
val summary get() = upSummary()
fun start(context: Context, sources: List<BookSourcePart>) {
val selectedIds = sources.map {
it.bookSourceUrl
}
IntentData.put("checkSourceSelectedIds", selectedIds)
context.startService<CheckSourceService> {
action = IntentAction.start
}
}
fun stop(context: Context) {
context.startService<CheckSourceService> {
action = IntentAction.stop
}
}
fun resume(context: Context) {
context.startService<CheckSourceService> {
action = IntentAction.resume
}
}
fun putConfig() {
CacheManager.put("checkSourceTimeout", timeout)
CacheManager.put("checkSearch", checkSearch)
CacheManager.put("checkDiscovery", checkDiscovery)
CacheManager.put("checkInfo", checkInfo)
CacheManager.put("checkCategory", checkCategory)
CacheManager.put("checkContent", checkContent)
}
private fun upSummary(): String {
var checkItem = ""
if (checkSearch) checkItem = "$checkItem ${appCtx.getString(R.string.search)}"
if (checkDiscovery) checkItem = "$checkItem ${appCtx.getString(R.string.discovery)}"
if (checkInfo) checkItem = "$checkItem ${appCtx.getString(R.string.source_tab_info)}"
if (checkCategory) checkItem = "$checkItem ${appCtx.getString(R.string.chapter_list)}"
if (checkContent) checkItem = "$checkItem ${appCtx.getString(R.string.main_body)}"
return appCtx.getString(
R.string.check_source_config_summary,
(timeout / 1000).toString(),
checkItem
)
}
}