From d1a9e3312387b6c47e6186af506787a8a66369d1 Mon Sep 17 00:00:00 2001
From: lmw <125975490@qq.com>
Date: 星期六, 09 十一月 2024 18:40:36 +0800
Subject: [PATCH] fix

---
 app/src/main/java/com/sinata/xqmuse/ui/course/TeacherFragment.kt |   48 ++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 46 insertions(+), 2 deletions(-)

diff --git a/app/src/main/java/com/sinata/xqmuse/ui/course/TeacherFragment.kt b/app/src/main/java/com/sinata/xqmuse/ui/course/TeacherFragment.kt
index 079c1b9..a909bac 100644
--- a/app/src/main/java/com/sinata/xqmuse/ui/course/TeacherFragment.kt
+++ b/app/src/main/java/com/sinata/xqmuse/ui/course/TeacherFragment.kt
@@ -4,14 +4,21 @@
 import android.webkit.WebSettings
 import android.webkit.WebViewClient
 import androidx.recyclerview.widget.GridLayoutManager
-import androidx.recyclerview.widget.LinearLayoutManager
 import cn.sinata.xldutils.fragment.BaseFragment
+import cn.sinata.xldutils.gone
+import cn.sinata.xldutils.visible
+import com.sinata.xqmuse.MainActivity
 import com.sinata.xqmuse.R
 import com.sinata.xqmuse.network.HttpManager
 import com.sinata.xqmuse.network.entity.CourseBean
 import com.sinata.xqmuse.network.requestByF
 import com.sinata.xqmuse.ui.course.adapter.CourseGridAdapter
+import com.sinata.xqmuse.utils.Const
+import com.sinata.xqmuse.utils.event.EmptyEvent
 import kotlinx.android.synthetic.main.fragment_teacher.*
+import org.greenrobot.eventbus.EventBus
+import org.greenrobot.eventbus.Subscribe
+import xyz.doikki.videocontroller.StandardVideoController
 
 class TeacherFragment : BaseFragment() {
     override fun contentViewId() = R.layout.fragment_teacher
@@ -20,6 +27,10 @@
     private val adapter = CourseGridAdapter(list)
 
     override fun onFirstVisibleToUser() {
+        val controller = StandardVideoController(requireContext())
+        controller.addDefaultControlComponent("", false)
+        mVideoView.setVideoController(controller) //设置控制器
+
         val settings = webView.settings
         settings.javaScriptEnabled = true
         settings.javaScriptCanOpenWindowsAutomatically = true
@@ -35,12 +46,29 @@
         rv_course.layoutManager = GridLayoutManager(requireContext(),2)
         rv_course.adapter = adapter
         getData()
+        adapter.setOnItemClickListener { view, position ->
+            showDialog()
+            HttpManager.getPayCourseInfoById(list[position].id).requestByF(this,success = { _, data->
+                dismissDialog()
+                data?.goDetail(requireContext())
+            }){_,_->
+                dismissDialog()
+            }
+        }
+        iv_play_teacher.setOnClickListener {
+            iv_cover.gone()
+            iv_play_teacher.gone()
+            mVideoView.start()
+        }
+        EventBus.getDefault().register(this)
     }
 
     private fun getData(){
         HttpManager.getCoursePageList().requestByF(this){_,data->
+            (requireActivity() as MainActivity).teacherVideoView = mVideoView
             mVideoView.setUrl(data?.videoUrl)
-            mVideoView.start()
+            iv_cover.setImageURI(data?.coverUrl)
+            iv_play_teacher.visible()
             val sHead =
                 "<html><head><meta name=\"viewport\" content=\"width=device-width, " + "initial-scale=1.0, minimum-scale=0.5, maximum-scale=2.0, user-scalable=yes\" />" + "<style>img{max-width:100% !important;height:auto !important;}</style>" + "<style>body{max-width:100% !important;}</style>" + "</head><body>"
             webView!!.loadDataWithBaseURL(null, sHead + data?.tutorIntroduction, "text/html", "utf-8", null)
@@ -49,4 +77,20 @@
             adapter.notifyDataSetChanged()
         }
     }
+
+    @Subscribe
+    fun pause(e:EmptyEvent){
+        if (e.code == Const.EventCode.PAUSE_TEACHER_VIDEO)
+            mVideoView.pause()
+    }
+
+    override fun onPause() {
+        super.onPause()
+        mVideoView.pause()
+    }
+
+    override fun onDestroy() {
+        super.onDestroy()
+        EventBus.getDefault().unregister(this)
+    }
 }

--
Gitblit v1.7.1