Files
SDK_Panel/app/src/main/java/com/kiwii/controlpanel/MainActivity.kt
T
pNexus 8a90d29b2a build(android): 初始化控制面板工程
添加 Android Gradle 工程骨架和应用模块,给 SDK 控制面板后续界面与联调提供可运行基础。
2026-06-10 18:07:18 +08:00

62 lines
2.0 KiB
Kotlin

package com.kiwii.controlpanel
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import androidx.navigation.fragment.NavHostFragment
import androidx.navigation.ui.setupActionBarWithNavController
import com.kiwii.bridge.KiwiiRuntimeClientBridge
import com.kiwii.controlpanel.databinding.ActivityMainBinding
import com.kiwii.controlpanel.logging.LogEntry
import com.kiwii.controlpanel.logging.SessionLogger
class MainActivity : AppCompatActivity() {
private lateinit var binding: ActivityMainBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
val navHostFragment = supportFragmentManager
.findFragmentById(R.id.nav_host_fragment) as NavHostFragment
val navController = navHostFragment.navController
setupActionBarWithNavController(navController)
autoBind()
}
private fun autoBind() {
val result = KiwiiRuntimeClientBridge.bind(this)
SessionLogger.log(LogEntry(
timestamp = System.currentTimeMillis(),
component = null,
action = "auto_bind",
params = null,
result = "bind=$result",
isStateChange = true
))
}
override fun onDestroy() {
super.onDestroy()
if (KiwiiRuntimeClientBridge.isBound()) {
KiwiiRuntimeClientBridge.unbind()
SessionLogger.log(LogEntry(
timestamp = System.currentTimeMillis(),
component = null,
action = "auto_unbind",
params = null,
result = "Activity destroyed",
isStateChange = true
))
}
}
override fun onSupportNavigateUp(): Boolean {
val navHostFragment = supportFragmentManager
.findFragmentById(R.id.nav_host_fragment) as NavHostFragment
return navHostFragment.navController.navigateUp() || super.onSupportNavigateUp()
}
}