build(android): 初始化控制面板工程
添加 Android Gradle 工程骨架和应用模块,给 SDK 控制面板后续界面与联调提供可运行基础。
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
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()
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user