feat: 基础功能
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
package com.yuanxuan.rokid.ui
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.KeyEvent
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.viewModels
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import com.yuanxuan.rokid.R
|
||||
import com.yuanxuan.rokid.databinding.FragmentSettingBinding
|
||||
import com.yuanxuan.rokid.dependencies.AppDependencies
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
class BrightnessFragment : Fragment() {
|
||||
|
||||
private lateinit var binding: FragmentSettingBinding
|
||||
private val viewModel by viewModels<SettingViewModel>()
|
||||
|
||||
private val adapter by lazy {
|
||||
SeekBarAdapter()
|
||||
}
|
||||
|
||||
override fun onCreateView(
|
||||
inflater: LayoutInflater,
|
||||
container: ViewGroup?,
|
||||
savedInstanceState: Bundle?
|
||||
): View {
|
||||
binding = FragmentSettingBinding.inflate(inflater, container, false)
|
||||
return binding.root
|
||||
}
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
binding.title.text = resources.getString(R.string.setting_brightness_title)
|
||||
binding.tip.text = resources.getString(R.string.setting_brightness_tip)
|
||||
|
||||
binding.recyclerView.adapter = adapter
|
||||
|
||||
viewLifecycleOwner.lifecycleScope.launch {
|
||||
viewModel.brightnessFlow.collect { data ->
|
||||
adapter.submitList(data)
|
||||
}
|
||||
}
|
||||
|
||||
binding.root.requestFocus()
|
||||
binding.root.setOnKeyListener { _, _, event ->
|
||||
return@setOnKeyListener if (event.action == KeyEvent.ACTION_UP) {
|
||||
when (event.keyCode) {
|
||||
KeyEvent.KEYCODE_DPAD_RIGHT -> {
|
||||
AppDependencies.deviceServiceManager.brightnessAdd()
|
||||
true
|
||||
}
|
||||
|
||||
KeyEvent.KEYCODE_DPAD_LEFT -> {
|
||||
AppDependencies.deviceServiceManager.brightnessSubtract()
|
||||
true
|
||||
}
|
||||
|
||||
else -> {
|
||||
false
|
||||
}
|
||||
}
|
||||
} else {
|
||||
false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user