| | |
| | | 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 |
| | |
| | | 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 |
| | |
| | | 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) |
| | |
| | | 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) |
| | | } |
| | | } |