From 718f31c92e2029d05260810435a2c70cef6e6ce5 Mon Sep 17 00:00:00 2001
From: lmw <125975490@qq.com>
Date: 星期四, 24 四月 2025 10:45:55 +0800
Subject: [PATCH] save

---
 app/src/main/java/com/sinata/xqmuse/ui/course/OfflineCourseActivity.kt |   44 ++++++++++++++++++++++++++++++++++----------
 1 files changed, 34 insertions(+), 10 deletions(-)

diff --git a/app/src/main/java/com/sinata/xqmuse/ui/course/OfflineCourseActivity.kt b/app/src/main/java/com/sinata/xqmuse/ui/course/OfflineCourseActivity.kt
index 08bb885..35d28d9 100644
--- a/app/src/main/java/com/sinata/xqmuse/ui/course/OfflineCourseActivity.kt
+++ b/app/src/main/java/com/sinata/xqmuse/ui/course/OfflineCourseActivity.kt
@@ -1,5 +1,6 @@
 package com.sinata.xqmuse.ui.course
 
+import android.view.View
 import android.webkit.WebChromeClient
 import android.webkit.WebSettings
 import android.webkit.WebViewClient
@@ -7,16 +8,22 @@
 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.*
 
@@ -25,6 +32,7 @@
     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() }
@@ -32,15 +40,23 @@
             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 {
@@ -66,15 +82,18 @@
         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()
@@ -83,7 +102,7 @@
             }
             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(
@@ -106,11 +125,16 @@
     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()
             }
         }
     }

--
Gitblit v1.7.1