channel allow one num

This commit is contained in:
Li ZongYing 2024-01-25 12:21:16 +08:00
parent 0f4a33a3fc
commit f7eebb3f7a
2 changed files with 20 additions and 16 deletions

View File

@ -2,7 +2,6 @@ package com.lizongying.mytv
import android.os.Bundle import android.os.Bundle
import android.os.Handler import android.os.Handler
import android.util.Log
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
@ -16,6 +15,7 @@ class ChannelFragment : Fragment() {
private val handler = Handler() private val handler = Handler()
private val delay: Long = 3000 private val delay: Long = 3000
private var channel = 0
override fun onCreateView( override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?, inflater: LayoutInflater, container: ViewGroup?,
@ -28,37 +28,39 @@ class ChannelFragment : Fragment() {
} }
fun show(tvViewModel: TVViewModel) { fun show(tvViewModel: TVViewModel) {
handler.removeCallbacks(hideRunnable)
handler.removeCallbacks(playRunnable)
binding.channelContent.text = tvViewModel.id.value.toString() binding.channelContent.text = tvViewModel.id.value.toString()
handler.removeCallbacks(removeRunnable)
view?.visibility = View.VISIBLE view?.visibility = View.VISIBLE
handler.postDelayed(removeRunnable, delay) handler.postDelayed(hideRunnable, delay)
} }
fun show(channel: String) { fun show(channel: String) {
this.channel = "${binding.channelContent.text}$channel".toInt()
handler.removeCallbacks(hideRunnable)
handler.removeCallbacks(playRunnable)
if (binding.channelContent.text == "") { if (binding.channelContent.text == "") {
binding.channelContent.text = channel binding.channelContent.text = channel
handler.removeCallbacks(removeRunnable)
view?.visibility = View.VISIBLE view?.visibility = View.VISIBLE
handler.postDelayed(removeRunnable, delay) handler.postDelayed(playRunnable, delay)
} else { } else {
val ch = "${binding.channelContent.text}$channel".toInt() handler.postDelayed(playRunnable, 0)
(activity as MainActivity).play(ch)
binding.channelContent.text = ""
view?.visibility = View.GONE
} }
} }
override fun onResume() {
super.onResume()
handler.postDelayed(removeRunnable, delay)
}
override fun onPause() { override fun onPause() {
super.onPause() super.onPause()
handler.removeCallbacks(removeRunnable) handler.removeCallbacks(hideRunnable)
handler.removeCallbacks(playRunnable)
} }
private val removeRunnable = Runnable { private val hideRunnable = Runnable {
binding.channelContent.text = ""
view?.visibility = View.GONE
}
private val playRunnable = Runnable {
(activity as MainActivity).play(channel)
binding.channelContent.text = "" binding.channelContent.text = ""
view?.visibility = View.GONE view?.visibility = View.GONE
} }

View File

@ -255,6 +255,8 @@ class MainFragment : BrowseSupportFragment() {
this.itemPosition = itemPosition this.itemPosition = itemPosition
tvListViewModel.setItemPosition(itemPosition) tvListViewModel.setItemPosition(itemPosition)
tvListViewModel.getTVViewModel(itemPosition)?.changed() tvListViewModel.getTVViewModel(itemPosition)?.changed()
} else {
Toast.makeText(context, "频道不存在", Toast.LENGTH_SHORT).show()
} }
} }
} }