WelcomeActivity.kt 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. package com.nova.brain.glass.ui
  2. import android.content.Intent
  3. import android.os.Bundle
  4. import androidx.lifecycle.ViewModelProvider
  5. import com.nova.brain.glass.R
  6. import com.nova.brain.glass.databinding.ActivityWelcomeBinding
  7. import com.nova.brain.glass.helper.OfflineCmdListener
  8. import com.nova.brain.glass.helper.OfflineCmdServiceHelper
  9. import com.nova.brain.glass.viewmodel.WelcomeVM
  10. import com.xuqm.base.ui.BaseActivity
  11. import kotlin.jvm.java
  12. class WelcomeActivity : BaseActivity<ActivityWelcomeBinding>() {
  13. override fun getLayoutId(): Int = R.layout.activity_welcome
  14. override fun fullscreen(): Boolean = true
  15. private lateinit var vm: WelcomeVM
  16. override fun initView(savedInstanceState: Bundle?) {
  17. super.initView(savedInstanceState)
  18. vm = ViewModelProvider(this).get(WelcomeVM::class.java)
  19. window.addFlags(android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
  20. binding.tv.setOnClickListener {
  21. startActivity(Intent(this@WelcomeActivity, TaskListActivity::class.java))
  22. }
  23. binding.btnGet.setOnClickListener { vm.demoGet() }
  24. binding.btnPost.setOnClickListener { vm.demoPost() }
  25. binding.md.setOnClickListener { startActivity(Intent(this@WelcomeActivity, ChatActivity::class.java)) }
  26. }
  27. override fun initData() {
  28. super.initData()
  29. vm.result.observe(this) { text ->
  30. binding.tvResult.text = text
  31. }
  32. }
  33. private val offlineCmdListener = object : OfflineCmdListener {
  34. override fun onOfflineCmd(cmd: String) {
  35. runOnUiThread {
  36. when (cmd) {
  37. "任务列表", "查看任务", "查看任务列表" -> {
  38. startActivity(Intent(this@WelcomeActivity, TaskListActivity::class.java))
  39. }
  40. }
  41. }
  42. }
  43. }
  44. override fun onResume() {
  45. super.onResume()
  46. OfflineCmdServiceHelper.addOnLineListener(offlineCmdListener)
  47. }
  48. override fun onPause() {
  49. super.onPause()
  50. OfflineCmdServiceHelper.removeOnLineListener(offlineCmdListener)
  51. }
  52. override fun onDestroy() {
  53. super.onDestroy()
  54. window.clearFlags(android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
  55. }
  56. }