support vip

This commit is contained in:
Li ZongYing
2024-01-05 14:53:54 +08:00
parent 940d7620a1
commit 57d42bc917
8 changed files with 133 additions and 71 deletions
@@ -6,7 +6,6 @@ import android.os.Bundle
import android.os.Handler
import android.os.Looper
import android.util.Log
import android.view.View
import androidx.leanback.app.BrowseSupportFragment
import androidx.leanback.widget.ArrayObjectAdapter
import androidx.leanback.widget.HeaderItem
@@ -29,7 +28,7 @@ import kotlinx.coroutines.launch
class MainFragment : BrowseSupportFragment() {
var itemPosition: Int = 0
private var request: Request? = null
private var request: Request = Request()
private var rowsAdapter: ArrayObjectAdapter? = null
@@ -44,6 +43,10 @@ class MainFragment : BrowseSupportFragment() {
private var ready = 0
init {
request.fetchToken(::fragmentReady)
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
headersState = HEADERS_DISABLED
@@ -52,9 +55,9 @@ class MainFragment : BrowseSupportFragment() {
override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)
sharedPref = activity?.getPreferences(Context.MODE_PRIVATE)
activity?.let { request.initYSP(it) }
request = activity?.let { Request(it) }
sharedPref = activity?.getPreferences(Context.MODE_PRIVATE)
loadRows()
@@ -82,7 +85,7 @@ class MainFragment : BrowseSupportFragment() {
if (tvViewModel.pid.value != null) {
Log.i(TAG, "request $title")
lifecycleScope.launch(Dispatchers.IO) {
tvViewModel.let { request?.fetchData(it) }
tvViewModel.let { request.fetchData(it) }
}
(activity as? MainActivity)?.showInfoFragment(tvViewModel)
setSelectedPosition(
@@ -107,10 +110,6 @@ class MainFragment : BrowseSupportFragment() {
fragmentReady()
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
}
override fun onDestroy() {
super.onDestroy()
handler.removeCallbacks(mUpdateProgramRunnable)
@@ -125,11 +124,11 @@ class MainFragment : BrowseSupportFragment() {
if (timestamp - tvViewModel.programUpdateTime > 60) {
if (tvViewModel.program.value!!.isEmpty()) {
tvViewModel.programUpdateTime = timestamp
request?.fetchProgram(tvViewModel)
request.fetchProgram(tvViewModel)
} else {
if (timestamp - tvViewModel.program.value!!.last().et < 600) {
tvViewModel.programUpdateTime = timestamp
request?.fetchProgram(tvViewModel)
request.fetchProgram(tvViewModel)
}
}
}
@@ -213,7 +212,7 @@ class MainFragment : BrowseSupportFragment() {
fun fragmentReady() {
ready++
Log.i(TAG, "ready $ready")
if (ready == 3) {
if (ready == 4) {
// request?.fetchPage()
// tvListViewModel.getTVViewModel(0)?.let { request?.fetchProgram(it) }