57 lines
1.9 KiB
Kotlin
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 {
|
|
}
|
|
}
|
|
} |