From c49246f5c78ae2f37e147ed11bd0f21c1371fcaa Mon Sep 17 00:00:00 2001 From: Li ZongYing Date: Sun, 7 Jan 2024 21:36:08 +0800 Subject: [PATCH] cctv8k --- .../java/com/lizongying/mytv/CardPresenter.kt | 15 +++++++++++---- .../java/com/lizongying/mytv/InfoFragment.kt | 17 ++++++++++++++--- .../java/com/lizongying/mytv/MainFragment.kt | 1 + .../main/java/com/lizongying/mytv/Request.kt | 2 +- .../main/java/com/lizongying/mytv/TVList.kt | 17 +++++++++++------ app/src/main/res/drawable/cctv8k.png | Bin 0 -> 6985 bytes 6 files changed, 38 insertions(+), 14 deletions(-) create mode 100644 app/src/main/res/drawable/cctv8k.png diff --git a/app/src/main/java/com/lizongying/mytv/CardPresenter.kt b/app/src/main/java/com/lizongying/mytv/CardPresenter.kt index 94171fe..a11ff12 100644 --- a/app/src/main/java/com/lizongying/mytv/CardPresenter.kt +++ b/app/src/main/java/com/lizongying/mytv/CardPresenter.kt @@ -32,10 +32,17 @@ class CardPresenter( cardView.tag = tvViewModel.videoUrl.value if (tvViewModel.logo.value != null) { - Glide.with(viewHolder.view.context) - .load(tvViewModel.logo.value) - .centerInside() - .into(cardView.mainImageView) + if (tvViewModel.title.value == "CCTV8K 超高清") { + Glide.with(viewHolder.view.context) + .load(R.drawable.cctv8k) + .centerInside() + .into(cardView.mainImageView) + } else { + Glide.with(viewHolder.view.context) + .load(tvViewModel.logo.value) + .centerInside() + .into(cardView.mainImageView) + } cardView.setBackgroundColor(Color.WHITE) cardView.setMainImageScaleType(ImageView.ScaleType.CENTER_INSIDE) diff --git a/app/src/main/java/com/lizongying/mytv/InfoFragment.kt b/app/src/main/java/com/lizongying/mytv/InfoFragment.kt index 5ff59dd..41133ee 100644 --- a/app/src/main/java/com/lizongying/mytv/InfoFragment.kt +++ b/app/src/main/java/com/lizongying/mytv/InfoFragment.kt @@ -6,6 +6,10 @@ import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import android.widget.ImageView +import androidx.core.content.ContextCompat +import androidx.core.view.marginBottom +import androidx.core.view.setPadding import androidx.fragment.app.Fragment import com.bumptech.glide.Glide import com.lizongying.mytv.databinding.InfoBinding @@ -36,9 +40,16 @@ class InfoFragment : Fragment() { fun show(tvViewModel: TVViewModel) { binding.textView.text = tvViewModel.title.value - Glide.with(this) - .load(tvViewModel.logo.value) - .into(binding.infoLogo) + if (tvViewModel.title.value == "CCTV8K 超高清") { + Glide.with(this) + .load(R.drawable.cctv8k) + .into(binding.infoLogo) + } else { + Glide.with(this) + .load(tvViewModel.logo.value) + .into(binding.infoLogo) + } + val program = tvViewModel.getProgramOne() if (program != null) { binding.infoDesc.text = program.name diff --git a/app/src/main/java/com/lizongying/mytv/MainFragment.kt b/app/src/main/java/com/lizongying/mytv/MainFragment.kt index 7316108..23bc58d 100644 --- a/app/src/main/java/com/lizongying/mytv/MainFragment.kt +++ b/app/src/main/java/com/lizongying/mytv/MainFragment.kt @@ -209,6 +209,7 @@ class MainFragment : BrowseSupportFragment() { ready++ Log.i(TAG, "ready $ready") if (ready == 3) { + request.fetchPage() val tvViewModel = tvListViewModel.getTVViewModel(itemPosition) tvViewModel?.changed() diff --git a/app/src/main/java/com/lizongying/mytv/Request.kt b/app/src/main/java/com/lizongying/mytv/Request.kt index dc21ff9..65c9514 100644 --- a/app/src/main/java/com/lizongying/mytv/Request.kt +++ b/app/src/main/java/com/lizongying/mytv/Request.kt @@ -278,7 +278,7 @@ class Request { } Log.i( TAG, - "${item.channelName} ,${item.tvLogo},${item.pid},${item.streamId}" + "${item.channelName},${item.pid},${item.streamId}" ) var channelType = "央视频道" if (item?.channelType === "weishi") { diff --git a/app/src/main/java/com/lizongying/mytv/TVList.kt b/app/src/main/java/com/lizongying/mytv/TVList.kt index 735e46b..011921b 100644 --- a/app/src/main/java/com/lizongying/mytv/TVList.kt +++ b/app/src/main/java/com/lizongying/mytv/TVList.kt @@ -7,6 +7,7 @@ object TVList { private var mappingLogo = mapOf( "CCTV4K 超高清" to "https://resources.yangshipin.cn/assets/oms/image/202306/3e9d06fd7244d950df5838750f1c6ac3456e172b51caca2c16d2282125b111e8.png?imageMogr2/format/webp", + "CCTV8K 超高清" to "https://static.wikia.nocookie.net/logos/images/6/69/CCTV8K.png/revision/latest/scale-to-width-down/120?cb=20230104110835&path-prefix=vi", "CCTV1 综合" to "https://resources.yangshipin.cn/assets/oms/image/202306/d57905b93540bd15f0c48230dbbbff7ee0d645ff539e38866e2d15c8b9f7dfcd.png?imageMogr2/format/webp", "CCTV2 财经" to "https://resources.yangshipin.cn/assets/oms/image/202306/20115388de0207131af17eac86c33049b95d69eaff064e55653a1b941810a006.png?imageMogr2/format/webp", "CCTV3 综艺" to "https://resources.yangshipin.cn/assets/oms/image/202306/7b7a65c712450da3deb6ca66fbacf4f9aee00d3f20bd80eafb5ada01ec63eb3a.png?imageMogr2/format/webp", @@ -68,6 +69,7 @@ object TVList { ) private var mappingEPG = mapOf( "CCTV4K 超高清" to "600002264", + "CCTV8K 超高清" to "600156816", "CCTV1 综合" to "600001859", "CCTV2 财经" to "600001800", "CCTV3 综艺" to "600001801", @@ -129,6 +131,7 @@ object TVList { ) private var mappingVideo = mapOf( "CCTV4K 超高清" to arrayOf("600002264", "2000266303"), + "CCTV8K 超高清" to arrayOf("600156816", "2020603421"), "CCTV1 综合" to arrayOf("600001859", "2000210103"), "CCTV2 财经" to arrayOf("600001800", "2000203603"), "CCTV3 综艺" to arrayOf("600001801", "2000203803"), @@ -194,6 +197,7 @@ object TVList { val tvs = """ 央视频道 CCTV4K 超高清, +CCTV8K 超高清, CCTV1 综合,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226231/index.m3u8 CCTV2 财经,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226195/index.m3u8 CCTV3 综艺,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226397/index.m3u8 @@ -212,12 +216,6 @@ CCTV14 少儿,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226193/inde CCTV15 音乐,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221225785/index.m3u8 CCTV16 奥林匹克,http://39.134.24.162/dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226921/index.m3u8;http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226921/index.m3u8 CCTV17 农业农村,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226198/index.m3u8 -CGTN,http://live.cgtn.com/1000/prog_index.m3u8 -CGTN 法语频道,https://livefr.cgtn.com/1000f/prog_index.m3u8 -CGTN 俄语频道,http://liveru.cgtn.com/1000r/prog_index.m3u8 -CGTN 阿拉伯语频道,http://livear.cgtn.com/1000a/prog_index.m3u8 -CGTN 西班牙语频道,http://livees.cgtn.com/500e/prog_index.m3u8;http://livees.cgtn.com/1000e/prog_index.m3u8 -CGTN 纪录频道,https://livedoc.cgtn.com/500d/prog_index.m3u8 风云剧场,http://dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226950/index.m3u8 第一剧场,http://dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226959/index.m3u8 怀旧剧场,http://dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226972/index.m3u8 @@ -253,6 +251,13 @@ CGTN 纪录频道,https://livedoc.cgtn.com/500d/prog_index.m3u8 四川卫视,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221225768/index.m3u8;http://39.134.24.166/dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221225768/index.m3u8 东南卫视,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226341/index.m3u8;http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221225766/index.m3u8 海南卫视,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226465/index.m3u8;http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221225769/index.m3u8 +国际频道 +CGTN,http://live.cgtn.com/1000/prog_index.m3u8 +CGTN 法语频道,https://livefr.cgtn.com/1000f/prog_index.m3u8 +CGTN 俄语频道,http://liveru.cgtn.com/1000r/prog_index.m3u8 +CGTN 阿拉伯语频道,http://livear.cgtn.com/1000a/prog_index.m3u8 +CGTN 西班牙语频道,http://livees.cgtn.com/500e/prog_index.m3u8;http://livees.cgtn.com/1000e/prog_index.m3u8 +CGTN 纪录频道,https://livedoc.cgtn.com/500d/prog_index.m3u8 """.trimIndent() val map: MutableMap> = mutableMapOf() diff --git a/app/src/main/res/drawable/cctv8k.png b/app/src/main/res/drawable/cctv8k.png new file mode 100644 index 0000000000000000000000000000000000000000..11846422d31bf89a711e486e119878db31800250 GIT binary patch literal 6985 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 bem3Rbad%bW5OTLq00000NkvXXu0mjfqmUG} literal 0 HcmV?d00001