Rokid/app/src/main/java/com/yuanxuan/rokid/MainActivity.kt

57 lines
1.9 KiB
Kotlin

package com.yuanxuan.rokid
import android.os.Bundle
import androidx.activity.addCallback
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import androidx.lifecycle.lifecycleScope
import com.yuanxuan.rokid.databinding.ActivityMainBinding
import com.yuanxuan.rokid.dependencies.AppDependencies
import com.yuanxuan.rokid.device.DeviceServiceManager
import kotlinx.coroutines.launch
class MainActivity : AppCompatActivity() {
private lateinit var binding: ActivityMainBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets ->
val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)
insets
}
lifecycleScope.launch {
/**
* 监听电量
*/
AppDependencies.deviceServiceManager.batteryPercentage.collect {
binding.batteryLevel.text = "${it}%"
binding.batteryLevelIv.setImageLevel(it)
}
}
lifecycleScope.launch {
AppDependencies.deviceServiceManager.wifiState.collect {
when (it) {
is DeviceServiceManager.WifiState.Connected -> binding.wifiIv.setImageLevel(it.level)
DeviceServiceManager.WifiState.Unconnected -> binding.wifiIv.setImageLevel(0)
}
}
}
/**
* 拦截返回键事件,防止返回到桌面
*/
onBackPressedDispatcher.addCallback {
}
}
}