diff --git a/app/src/main/java/io/legado/app/help/DirectLinkUpload.kt b/app/src/main/java/io/legado/app/help/DirectLinkUpload.kt index e4b4bf007..57e34e4a3 100644 --- a/app/src/main/java/io/legado/app/help/DirectLinkUpload.kt +++ b/app/src/main/java/io/legado/app/help/DirectLinkUpload.kt @@ -16,7 +16,7 @@ object DirectLinkUpload { @Throws(NoStackTraceException::class) suspend fun upLoad(fileName: String, file: Any, contentType: String): String { - val rule = defaultRule ?: getConfigRule() + val rule = getRule() rule ?: throw NoStackTraceException("直链上传规则未配置") val url = rule.uploadUrl if (url.isBlank()) { @@ -44,22 +44,27 @@ object DirectLinkUpload { GSON.fromJsonObject(json).getOrNull() } - fun getConfigRule(): Rule? { + fun getRule(): Rule? { + val json = ACache.get(cacheDir = false).getAsString(ruleFileName) + return GSON.fromJsonObject(json).getOrNull() ?: defaultRule + } + + fun getConfig(): Rule? { val json = ACache.get(cacheDir = false).getAsString(ruleFileName) return GSON.fromJsonObject(json).getOrNull() } - fun putConfigRule(uploadUrl: String, downloadUrlRule: String, summary: String?) { + fun putConfig(uploadUrl: String, downloadUrlRule: String, summary: String?) { val rule = Rule(uploadUrl, downloadUrlRule, summary) ACache.get(cacheDir = false).put(ruleFileName, GSON.toJson(rule)) } - fun delConfigRule() { + fun delConfig() { ACache.get(cacheDir = false).remove(ruleFileName) } fun getSummary(): String? { - return getConfigRule()?.summary + return getRule()?.summary } data class Rule( diff --git a/app/src/main/java/io/legado/app/help/storage/Backup.kt b/app/src/main/java/io/legado/app/help/storage/Backup.kt index 98e490980..a5098a740 100644 --- a/app/src/main/java/io/legado/app/help/storage/Backup.kt +++ b/app/src/main/java/io/legado/app/help/storage/Backup.kt @@ -94,7 +94,7 @@ object Backup { FileUtils.createFileIfNotExist(backupPath + File.separator + ThemeConfig.configFileName) .writeText(it) } - DirectLinkUpload.getConfigRule()?.let { + DirectLinkUpload.getConfig()?.let { FileUtils.createFileIfNotExist(backupPath + File.separator + DirectLinkUpload.ruleFileName) .writeText(GSON.toJson(it)) } diff --git a/app/src/main/java/io/legado/app/ui/config/DirectLinkUploadConfig.kt b/app/src/main/java/io/legado/app/ui/config/DirectLinkUploadConfig.kt index 595150fe2..8267c7f5e 100644 --- a/app/src/main/java/io/legado/app/ui/config/DirectLinkUploadConfig.kt +++ b/app/src/main/java/io/legado/app/ui/config/DirectLinkUploadConfig.kt @@ -24,7 +24,7 @@ class DirectLinkUploadConfig : BaseDialogFragment(R.layout.dialog_direct_link_up override fun onFragmentCreated(view: View, savedInstanceState: Bundle?) { binding.toolBar.setBackgroundColor(primaryColor) - DirectLinkUpload.getConfigRule()?.let { + DirectLinkUpload.getRule()?.let { binding.editUploadUrl.setText(it.uploadUrl) binding.editDownloadUrlRule.setText(it.downloadUrlRule) binding.editSummary.setText(it.summary) @@ -33,7 +33,7 @@ class DirectLinkUploadConfig : BaseDialogFragment(R.layout.dialog_direct_link_up dismiss() } binding.tvFooterLeft.onClick { - DirectLinkUpload.delConfigRule() + DirectLinkUpload.delConfig() dismiss() } binding.tvOk.onClick { @@ -48,7 +48,7 @@ class DirectLinkUploadConfig : BaseDialogFragment(R.layout.dialog_direct_link_up toastOnUi("下载Url规则不能为空") return@onClick } - DirectLinkUpload.putConfigRule(uploadUrl, downloadUrlRule, summary) + DirectLinkUpload.putConfig(uploadUrl, downloadUrlRule, summary) dismiss() } }