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 kotlinx.coroutines.launch class BrightnessFragment : Fragment() { private lateinit var binding: FragmentSettingBinding private val viewModel by viewModels() 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 -> { viewModel.brightnessAdd() true } KeyEvent.KEYCODE_DPAD_LEFT -> { viewModel.brightnessSubtract() true } else -> { false } } } else { false } } } }