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/CourseDetailActivity.kt |   88 ++++++++++++++++++++++++++++++++-----------
 1 files changed, 65 insertions(+), 23 deletions(-)

diff --git a/app/src/main/java/com/sinata/xqmuse/ui/course/CourseDetailActivity.kt b/app/src/main/java/com/sinata/xqmuse/ui/course/CourseDetailActivity.kt
index 49a60fb..8493853 100644
--- a/app/src/main/java/com/sinata/xqmuse/ui/course/CourseDetailActivity.kt
+++ b/app/src/main/java/com/sinata/xqmuse/ui/course/CourseDetailActivity.kt
@@ -1,5 +1,6 @@
 package com.sinata.xqmuse.ui.course
 
+import android.content.Intent
 import android.os.CountDownTimer
 import android.util.TypedValue
 import android.webkit.WebChromeClient
@@ -13,9 +14,11 @@
 import cn.sinata.xldutils.utils.showAllowingStateLoss
 import cn.sinata.xldutils.visible
 import com.google.android.material.appbar.AppBarLayout
+import com.share.utils.ShareUtils
 import com.sinata.xqmuse.R
 import com.sinata.xqmuse.dialog.SendConfirmDialog
 import com.sinata.xqmuse.dialog.ShareDialog
+import com.sinata.xqmuse.network.Apis
 import com.sinata.xqmuse.network.HttpManager
 import com.sinata.xqmuse.network.entity.Chapter
 import com.sinata.xqmuse.network.entity.CourseBean
@@ -25,18 +28,14 @@
 import com.sinata.xqmuse.ui.course.adapter.ChapterAdapter
 import com.sinata.xqmuse.ui.course.adapter.CourseGridAdapter
 import com.sinata.xqmuse.utils.AppBarStateChangeListener
+import com.sinata.xqmuse.utils.Const
 import com.sinata.xqmuse.utils.interfaces.StringCallback
-import kotlinx.android.synthetic.main.activity_buy_course.*
+import com.umeng.socialize.bean.SHARE_MEDIA
 import kotlinx.android.synthetic.main.activity_course_deatil.*
-import kotlinx.android.synthetic.main.activity_course_deatil.iv_cover
-import kotlinx.android.synthetic.main.activity_course_deatil.tv_1
-import kotlinx.android.synthetic.main.activity_course_deatil.tv_action
-import kotlinx.android.synthetic.main.activity_course_deatil.tv_count
-import kotlinx.android.synthetic.main.activity_course_deatil.tv_name
-import kotlinx.android.synthetic.main.activity_course_deatil.tv_teacher
-import org.jetbrains.anko.imageResource
-import org.jetbrains.anko.startActivity
-import org.jetbrains.anko.textColorResource
+import kotlinx.android.synthetic.main.activity_course_deatil.iv_back
+import kotlinx.android.synthetic.main.activity_course_deatil.webView
+import kotlinx.android.synthetic.main.activity_level.*
+import org.jetbrains.anko.*
 
 class CourseDetailActivity : TransparentStatusBarActivity() {
     override fun setContentView() = R.layout.activity_course_deatil
@@ -60,19 +59,34 @@
         }
 
         tv_action.setOnClickListener {
-            getData(false)
+            if (tv_action.text == "立即学习"){
+                if (data?.list?.isNullOrEmpty() == true)
+                    toast("该课程暂未添加章节")
+                else
+                    startActivity<StudyActivity>("id" to data?.list?.firstOrNull()?.id)
+            } else
+                getData(false)
         }
         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)
+                toast(if (data?.isCollect == 1) "收藏成功" else "已取消收藏")
             }
         }
         iv_share.setOnClickListener {
             val shareDialog = ShareDialog()
             shareDialog.callback = object :StringCallback{
                 override fun onResult(rst: String) {
-
+                    if (rst == "wx"){
+                        ShareUtils.share(this@CourseDetailActivity,
+                            SHARE_MEDIA.WEIXIN,data?.courseTitle, Const.SHARE.SHARE_COURSE_TITLE,
+                            Apis.SHARE_COURSE.format(data?.id),null,"")
+                    }else{
+                        ShareUtils.share(this@CourseDetailActivity,
+                            SHARE_MEDIA.WEIXIN_CIRCLE,data?.courseTitle,Const.SHARE.SHARE_COURSE_TITLE,
+                            Apis.SHARE_COURSE.format(data?.id),null,"")
+                    }
                 }
             }
             shareDialog.showAllowingStateLoss(supportFragmentManager,"share")
@@ -89,7 +103,7 @@
             scroll2Position(2)
             checkTab(2)
         }
-        scrollView.setOnScrollChangeListener { v: NestedScrollView?, scrollX: Int, scrollY: Int, oldScrollX: Int, oldScrollY: Int ->
+        scrollView.setOnScrollChangeListener { _: NestedScrollView?, _: Int, scrollY: Int, _: Int, _: Int ->
             if (!scrollByTab)
                 when {
                     scrollY>=tv_2.top -> checkTab(2)
@@ -97,8 +111,20 @@
                     else -> checkTab(0)
                 }
         }
-        chapterAdapter.setOnItemClickListener { view, position ->
-            getData(false)
+        chapterAdapter.setOnItemClickListener { _, position ->
+            if (tv_action.text == "立即学习")
+                startActivity<StudyActivity>("id" to data?.list?.get(position)?.id,"index" to position)
+            else
+                getData(false)
+        }
+        courseAdapter.setOnItemClickListener { _, position ->
+            showDialog()
+            HttpManager.getPayCourseInfoById(courseList[position].id?:"").request(this,success = { _, data->
+                dismissDialog()
+                data?.goDetail(this)
+            }){_,_->
+                dismissDialog()
+            }
         }
     }
 
@@ -120,7 +146,8 @@
         rv_chapter.adapter = chapterAdapter
         rv_push.layoutManager = GridLayoutManager(this,2)
         rv_push.adapter = courseAdapter
-
+        webView.backgroundColor = 0
+        webView.background.alpha = 0
         appbar.addOnOffsetChangedListener(object : AppBarStateChangeListener() {
             override fun onStateChanged(appBarLayout: AppBarLayout?, state: State?, ratio:Double) {
                 bg.alpha = if(ratio<0.2) 0f else ((ratio-0.2)/0.8).toFloat()
@@ -128,11 +155,17 @@
                     State.EXPANDED -> {
                         //展开状态
                         iv_back.imageResource = R.mipmap.icon_back_white
+                        iv_share.imageResource = R.mipmap.ic_share
+                        if (data?.isCollect!=1)
+                            iv_collect.imageResource = R.mipmap.uncollect
                         tvTitle.textColorResource = R.color.white
                     }
                     State.COLLAPSED -> {
                         //折叠状态
                         iv_back.imageResource = R.mipmap.back
+                        iv_share.imageResource = R.mipmap.ic_share_black
+                        if (data?.isCollect!=1)
+                            iv_collect.imageResource = R.mipmap.uncollect_b
                         tvTitle.textColorResource = R.color.textColor
                     }
                 }
@@ -140,7 +173,7 @@
         })
 
         data?.apply {
-            iv_collect.setImageResource(if (data?.recommend == 1) R.mipmap.collected else R.mipmap.uncollect)
+            iv_collect.setImageResource(if (data?.isCollect == 1) R.mipmap.collected else R.mipmap.uncollect)
             iv_cover.setImageURI(detailUrl)
             tv_name.text = courseTitle
             tv_teacher.text = "导师 ${tutor}"
@@ -158,11 +191,12 @@
             chapterAdapter.notifyDataSetChanged()
             courseList.addAll(list2)
             courseAdapter.notifyDataSetChanged()
-
-            if (chargeType == 1||(courseType == 2&&isVip == 1)){
+            if (chargeType == 3)
+                tv_send.visible()
+            if (chargeType == 1||isBuy == 1||(chargeType == 2&&isVip == 1)){
                 tv_action.text = "立即学习"
             }else{
-                val s = "¥ %s 立即购买".format(generalPrice)
+                val s = "¥ %s 立即购买".format(generalPrice!!)
                 tv_action.text = SpanBuilder(s).size(0,1,12).size(2,generalPrice.length+2,21).build()
             }
         }
@@ -240,7 +274,15 @@
                     }
                 })
             }else
-                startActivity<BuyCourseActivity>("isSend" to isSend,"data" to data)
+                startActivityForResult<BuyCourseActivity>(1,"isSend" to isSend,"data" to data)
+        }
+    }
+
+    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
+        super.onActivityResult(requestCode, resultCode, data)
+        if (resultCode == RESULT_OK){
+            this.data?.isBuy = 1
+            tv_action.text = "立即学习"
         }
     }
 }

--
Gitblit v1.7.1