| | |
| | | package com.sinata.xqmuse.ui.course |
| | | |
| | | import android.view.View |
| | | import android.webkit.WebChromeClient |
| | | import android.webkit.WebSettings |
| | | import android.webkit.WebViewClient |
| | |
| | | import cn.sinata.xldutils.utils.isVideo |
| | | import cn.sinata.xldutils.utils.showAllowingStateLoss |
| | | import cn.sinata.xldutils.visible |
| | | import com.share.utils.ShareUtils |
| | | import com.sinata.xqmuse.R |
| | | import com.sinata.xqmuse.dialog.QrcodeDialog |
| | | import com.sinata.xqmuse.dialog.ShareDialog |
| | | import com.sinata.xqmuse.network.Apis |
| | | import com.sinata.xqmuse.network.HttpManager |
| | | import com.sinata.xqmuse.network.entity.CourseDetail |
| | | import com.sinata.xqmuse.network.request |
| | | import com.sinata.xqmuse.ui.TransparentStatusBarActivity |
| | | import com.sinata.xqmuse.utils.Const |
| | | import com.sinata.xqmuse.utils.glide.GlideUtil |
| | | import com.sinata.xqmuse.utils.interfaces.StringCallback |
| | | import com.umeng.socialize.bean.SHARE_MEDIA |
| | | import kotlinx.android.synthetic.main.activity_offline_course.* |
| | | import org.jetbrains.anko.backgroundColor |
| | | import org.jetbrains.anko.backgroundResource |
| | | import xyz.doikki.videocontroller.StandardVideoController |
| | | import xyz.doikki.videoplayer.player.BaseVideoView.* |
| | | |
| | |
| | | override fun setContentView() = R.layout.activity_offline_course |
| | | |
| | | private val data by lazy { intent.getParcelableExtra<CourseDetail>("data") } |
| | | private var first = true //第一次 加载视频封面 |
| | | |
| | | override fun initClick() { |
| | | iv_back.setOnClickListener { finish() } |
| | |
| | | val shareDialog = ShareDialog() |
| | | shareDialog.callback = object :StringCallback{ |
| | | override fun onResult(rst: String) { |
| | | |
| | | if (rst == "wx"){ |
| | | ShareUtils.share(this@OfflineCourseActivity, |
| | | SHARE_MEDIA.WEIXIN,data?.courseTitle, Const.SHARE.SHARE_COURSE_TITLE, |
| | | Apis.SHARE_OFFLINE.format(data?.id),null,"") |
| | | }else{ |
| | | ShareUtils.share(this@OfflineCourseActivity, |
| | | SHARE_MEDIA.WEIXIN_CIRCLE,data?.courseTitle,Const.SHARE.SHARE_COURSE_TITLE, |
| | | Apis.SHARE_OFFLINE.format(data?.id),null,"") |
| | | } |
| | | } |
| | | } |
| | | shareDialog.showAllowingStateLoss(supportFragmentManager,"share") |
| | | } |
| | | iv_collect.setOnClickListener { |
| | | HttpManager.collectCourse(data?.id?:"").request(this){_,_-> |
| | | data?.recommend = if (data?.recommend == 1) 2 else 1 |
| | | iv_collect.setImageResource(if (data?.recommend == 1) R.mipmap.collected else R.mipmap.uncollect) |
| | | data?.isCollect = if (data?.isCollect == 1) 2 else 1 |
| | | iv_collect.setImageResource(if (data?.isCollect == 1) R.mipmap.collected else R.mipmap.uncollect) |
| | | } |
| | | } |
| | | ivPlay.setOnClickListener { |
| | |
| | | settings.layoutAlgorithm = WebSettings.LayoutAlgorithm.TEXT_AUTOSIZING |
| | | webView.webChromeClient = object : WebChromeClient() {} |
| | | webView.webViewClient = object : WebViewClient() {} |
| | | webView.backgroundColor = 0 |
| | | webView.background.alpha = 0 |
| | | data?.apply { |
| | | iv_collect.setImageResource(if (data?.recommend == 1) R.mipmap.collected else R.mipmap.uncollect) |
| | | if (detailUrl.isVideo()){ |
| | | iv_collect.setImageResource(if (data?.isCollect == 1) R.mipmap.collected else R.mipmap.uncollect) |
| | | if ((detailUrl?:"").isVideo()){ |
| | | titleBar.gone() |
| | | val controller = StandardVideoController(this@OfflineCourseActivity) |
| | | controller.addDefaultControlComponent(courseTitle, false) |
| | | mVideoView.setVideoController(controller) //设置控制器 |
| | | mVideoView.setUrl(detailUrl) //设置视频地址 |
| | | GlideUtil.load(this@OfflineCourseActivity, detailUrl, iv_cover, 0) |
| | | // GlideUtil.load(this@OfflineCourseActivity, detailUrl, iv_cover, 0) |
| | | mVideoView.start() |
| | | }else{ |
| | | cl_title.gone() |
| | | iv_cover.gone() |
| | |
| | | } |
| | | tv_name.text = courseTitle |
| | | tv_teacher.text = "导师 ${tutor}" |
| | | tv_address.text = address |
| | | tv_address.text = address?:"" |
| | | 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( |
| | |
| | | override fun onPlayStateChanged(playState: Int) { |
| | | when(playState){ |
| | | STATE_PLAYING->{ |
| | | iv_cover.gone() |
| | | if (first){ |
| | | mVideoView.pause() |
| | | // iv_cover.gone() |
| | | ivPlay.visible() |
| | | first = false |
| | | } |
| | | } |
| | | STATE_PLAYBACK_COMPLETED->{ |
| | | iv_cover.visible() |
| | | ivPlay.visible() |
| | | // iv_cover.visible() |
| | | // ivPlay.visible() |
| | | } |
| | | } |
| | | } |