From cf6993baa0bd5465cce61d8dd87edad1de7475e1 Mon Sep 17 00:00:00 2001 From: NkBe Date: Fri, 6 Mar 2026 13:25:31 +0000 Subject: [PATCH] Fix ConfigProvider crash: Make ConfigManager database initialization lazy to prevent UninitializedPropertyAccessException when ContentProvider is queried before Application.onCreate() runs. --- .../java/org/lsposed/npatch/config/ConfigManager.kt | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/manager/src/main/java/org/lsposed/npatch/config/ConfigManager.kt b/manager/src/main/java/org/lsposed/npatch/config/ConfigManager.kt index ec9eca9..0b0e3f4 100644 --- a/manager/src/main/java/org/lsposed/npatch/config/ConfigManager.kt +++ b/manager/src/main/java/org/lsposed/npatch/config/ConfigManager.kt @@ -20,12 +20,15 @@ object ConfigManager { @OptIn(ExperimentalCoroutinesApi::class) private val dispatcher = Dispatchers.Default.limitedParallelism(1) - private val db: LSPDatabase = Room.databaseBuilder( - lspApp, LSPDatabase::class.java, "modules_config.db" - ).build() + private val db: LSPDatabase by lazy { + Room.databaseBuilder( + lspApp, LSPDatabase::class.java, "modules_config.db" + ).build() + } - private val moduleDao = db.moduleDao() - private val scopeDao = db.scopeDao() + + private val moduleDao get() = db.moduleDao() + private val scopeDao get() = db.scopeDao() private val loadedModules = mutableMapOf()