This commit is contained in:
844143714@qq,com 2026-07-19 03:37:54 +08:00
parent f840740a1a
commit 65943334b1
3 changed files with 46 additions and 33 deletions

View File

@ -43,7 +43,7 @@ class DeveloperActivity : AppCompatActivity() {
val etUser = EditText(this).apply {
hint = "账号"
setText("test007")
setText("test010")
}
layout.addView(etUser)

View File

@ -20,6 +20,9 @@ class MainActivity : AppCompatActivity() {
companion object {
private var instance: MainActivity? = null
@Volatile
private var geckoRuntime: GeckoRuntime? = null
// 防止对话框堆叠
@Volatile
private var isConflictDialogShowing = false
@ -186,7 +189,6 @@ class MainActivity : AppCompatActivity() {
}
private var geckoSession: GeckoSession? = null
private var geckoRuntime: GeckoRuntime? = null
private var pttInterface: AndroidInterface? = null
private var canGoBack = false
private lateinit var geckoView: GeckoView
@ -275,6 +277,12 @@ class MainActivity : AppCompatActivity() {
}
private fun createGeckoRuntime(): GeckoRuntime {
synchronized(MainActivity::class.java) {
val existing = geckoRuntime
if (existing != null) {
return existing
}
// 1. 将配置写入应用的本地沙盒文件 (YAML 格式)
val configFile = java.io.File(filesDir, "geckoview-config.yaml")
try {
@ -297,7 +305,8 @@ class MainActivity : AppCompatActivity() {
settingsBuilder.configFilePath(configFile.absolutePath)
}
val runtime = GeckoRuntime.create(this, settingsBuilder.build())
val runtime = GeckoRuntime.create(this.applicationContext, settingsBuilder.build())
geckoRuntime = runtime
// 3. 强制清缓存,确保 JS/CSS 等资源获取最新版本
try {
@ -308,6 +317,7 @@ class MainActivity : AppCompatActivity() {
}
return runtime
}
}
private fun createSession(): GeckoSession {
val session = GeckoSession()

View File

@ -47,6 +47,9 @@ object GpioManager {
handleGpioChange(currentValue)
lastGpioValue = currentValue
}
} catch (e: InterruptedException) {
Timber.tag("GPIO").i("GPIO thread interrupted, exiting gracefully")
break
} catch (e: Exception) {
Timber.tag("GPIO").e(e, "Error in GPIO loop")
}