From b9b6e133d0a4db539c765cef5a402ed7beff2c4f Mon Sep 17 00:00:00 2001 From: WhiteChi Date: Sat, 2 Dec 2023 16:19:05 +0800 Subject: [PATCH] `Shamrock`: fix #117 --- .../shamrock/remote/service/config/ShamrockConfig.kt | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/xposed/src/main/java/moe/fuqiuluo/shamrock/remote/service/config/ShamrockConfig.kt b/xposed/src/main/java/moe/fuqiuluo/shamrock/remote/service/config/ShamrockConfig.kt index 361c309..d2e927f 100644 --- a/xposed/src/main/java/moe/fuqiuluo/shamrock/remote/service/config/ShamrockConfig.kt +++ b/xposed/src/main/java/moe/fuqiuluo/shamrock/remote/service/config/ShamrockConfig.kt @@ -4,6 +4,8 @@ import android.content.Intent import com.tencent.mmkv.MMKV import kotlinx.serialization.decodeFromString import kotlinx.serialization.encodeToString +import moe.fuqiuluo.shamrock.helper.Level +import moe.fuqiuluo.shamrock.helper.LogCenter import moe.fuqiuluo.shamrock.tools.GlobalJson5 import moe.fuqiuluo.shamrock.utils.MMKVFetcher import mqq.app.MobileQQ @@ -15,10 +17,14 @@ internal object ShamrockConfig { if (it.exists()) it.delete() it.mkdirs() } - private val Config: ServiceConfig by lazy { - GlobalJson5.decodeFromString(ConfigDir.resolve("config.json").also { + private val Config = kotlin.runCatching { + GlobalJson5.decodeFromString(ConfigDir.resolve("config.json").also { if (!it.exists()) it.writeText("{}") }.readText()) + }.onFailure { + LogCenter.log("您的配置文件出现错误: ${it.stackTraceToString()}", Level.ERROR) + }.getOrElse { + ServiceConfig() } fun isInit(): Boolean {