From eb1b7368377e0504225cd871371aa2c3ce1cba0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=96=E7=95=8C?= Date: Fri, 15 Aug 2025 13:11:10 +0800 Subject: [PATCH] Fix setup --- .../java/io/nekohasekai/sfa/Application.kt | 21 +++++++++++++++++ .../java/io/nekohasekai/sfa/bg/BoxService.kt | 23 ------------------- 2 files changed, 21 insertions(+), 23 deletions(-) diff --git a/app/src/main/java/io/nekohasekai/sfa/Application.kt b/app/src/main/java/io/nekohasekai/sfa/Application.kt index 51cfa5d..8c3144b 100644 --- a/app/src/main/java/io/nekohasekai/sfa/Application.kt +++ b/app/src/main/java/io/nekohasekai/sfa/Application.kt @@ -12,11 +12,14 @@ import android.os.PowerManager import androidx.core.content.getSystemService import go.Seq import io.nekohasekai.libbox.Libbox +import io.nekohasekai.libbox.SetupOptions import io.nekohasekai.sfa.bg.AppChangeReceiver import io.nekohasekai.sfa.bg.UpdateProfileWork +import io.nekohasekai.sfa.constant.Bugs import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.launch +import java.io.File import java.util.Locale import io.nekohasekai.sfa.Application as BoxApplication @@ -35,6 +38,7 @@ class Application : Application() { @Suppress("OPT_IN_USAGE") GlobalScope.launch(Dispatchers.IO) { + initialize() UpdateProfileWork.reconfigureUpdater() } @@ -42,6 +46,23 @@ class Application : Application() { addAction(Intent.ACTION_PACKAGE_ADDED) addDataScheme("package") }) + + } + + private fun initialize() { + val baseDir = filesDir + baseDir.mkdirs() + val workingDir = getExternalFilesDir(null) ?: return + workingDir.mkdirs() + val tempDir = cacheDir + tempDir.mkdirs() + Libbox.setup(SetupOptions().also { + it.basePath = baseDir.path + it.workingPath = workingDir.path + it.tempPath = tempDir.path + it.fixAndroidStack = Bugs.fixAndroidStack + }) + Libbox.redirectStderr(File(workingDir, "stderr.log").path) } companion object { diff --git a/app/src/main/java/io/nekohasekai/sfa/bg/BoxService.kt b/app/src/main/java/io/nekohasekai/sfa/bg/BoxService.kt index fadfad6..1206ea5 100644 --- a/app/src/main/java/io/nekohasekai/sfa/bg/BoxService.kt +++ b/app/src/main/java/io/nekohasekai/sfa/bg/BoxService.kt @@ -24,13 +24,11 @@ import io.nekohasekai.libbox.CommandServerHandler import io.nekohasekai.libbox.Libbox import io.nekohasekai.libbox.Notification import io.nekohasekai.libbox.PlatformInterface -import io.nekohasekai.libbox.SetupOptions import io.nekohasekai.libbox.SystemProxyStatus import io.nekohasekai.sfa.Application import io.nekohasekai.sfa.R import io.nekohasekai.sfa.constant.Action import io.nekohasekai.sfa.constant.Alert -import io.nekohasekai.sfa.constant.Bugs import io.nekohasekai.sfa.constant.Status import io.nekohasekai.sfa.database.ProfileManager import io.nekohasekai.sfa.database.Settings @@ -50,26 +48,6 @@ class BoxService( companion object { - private var initializeOnce = false - private fun initialize() { - if (initializeOnce) return - val baseDir = Application.application.filesDir - baseDir.mkdirs() - val workingDir = Application.application.getExternalFilesDir(null) ?: return - workingDir.mkdirs() - val tempDir = Application.application.cacheDir - tempDir.mkdirs() - Libbox.setup(SetupOptions().also { - it.basePath = baseDir.path - it.workingPath = workingDir.path - it.tempPath = tempDir.path - it.fixAndroidStack = Bugs.fixAndroidStack - }) - Libbox.redirectStderr(File(workingDir, "stderr.log").path) - initializeOnce = true - return - } - fun start() { val intent = runBlocking { withContext(Dispatchers.IO) { @@ -310,7 +288,6 @@ class BoxService( GlobalScope.launch(Dispatchers.IO) { Settings.startedByUser = true - initialize() try { startCommandServer() } catch (e: Exception) {