8a90d29b2a
添加 Android Gradle 工程骨架和应用模块,给 SDK 控制面板后续界面与联调提供可运行基础。
62 lines
2.0 KiB
Kotlin
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()
|
|
}
|
|
}
|