| @@ -1,5 +1,7 @@ | |||
| package com.xkl.cdl.data.bean.course | |||
| import android.os.Parcel | |||
| import android.os.Parcelable | |||
| import androidx.databinding.BaseObservable | |||
| import androidx.databinding.Bindable | |||
| import com.xkl.cdl.BR | |||
| @@ -29,6 +31,10 @@ data class CoursePack( | |||
| var downLoadZipUrl : String = "" //压缩包下载地址 | |||
| var isDown = false //是否下载 | |||
| //阶段id | |||
| var stageId = 0 | |||
| //年级id | |||
| var gradeId = 0 | |||
| //在CourseManger中的subjectWithCoursePackMap对应subject下的list中所在的位置 | |||
| @@ -50,37 +56,23 @@ data class CoursePack( | |||
| field = value | |||
| notifyPropertyChanged(BR.reviewNumber) | |||
| } | |||
| override fun equals(other : Any?) : Boolean { | |||
| if (this === other) return true | |||
| if (javaClass != other?.javaClass) return false | |||
| other as CoursePack | |||
| if (coursePackId != other.coursePackId) return false | |||
| if (coursePackName != other.coursePackName) return false | |||
| if (cover != other.cover) return false | |||
| if (summary != other.summary) return false | |||
| if (subjectId != other.subjectId) return false | |||
| if (coursePackType != other.coursePackType) return false | |||
| if (inCoursePackPosition != other.inCoursePackPosition) return false | |||
| if (childrenCourses != other.childrenCourses) return false | |||
| if (learnProgress != other.learnProgress) return false | |||
| return true | |||
| } | |||
| override fun hashCode() : Int { | |||
| var result = coursePackId.hashCode() | |||
| result = 31 * result + coursePackName.hashCode() | |||
| result = 31 * result + cover.hashCode() | |||
| result = 31 * result + summary.hashCode() | |||
| result = 31 * result + subjectId | |||
| result = 31 * result + coursePackType | |||
| result = 31 * result + cover.hashCode() | |||
| result = 31 * result + downLoadZipUrl.hashCode() | |||
| result = 31 * result + isDown.hashCode() | |||
| result = 31 * result + stageId | |||
| result = 31 * result + gradeId | |||
| result = 31 * result + inCoursePackPosition | |||
| result = 31 * result + childrenCourses.hashCode() | |||
| result = 31 * result + learnProgress.hashCode() | |||
| return result | |||
| } | |||
| } | |||
| @@ -358,6 +358,9 @@ class LearnCVideoActivity : BaseActivityVM<ActivityLearnCvideoBinding, LearnCVid | |||
| } | |||
| override fun onDestroy() { | |||
| mPlayer?.setCompletionListener(null) | |||
| mPlayer?.setOnStopListener(null) | |||
| mPlayer?.setPlayingListener(null) | |||
| mPlayer?.release() | |||
| super.onDestroy() | |||
| } | |||
| @@ -1,6 +1,5 @@ | |||
| package com.xkl.cdl.module.splash | |||
| import android.os.Handler | |||
| import androidx.lifecycle.MutableLiveData | |||
| import com.suliang.common.base.viewmodel.BaseViewModel | |||
| import com.suliang.common.util.LogUtil | |||
| @@ -21,6 +20,7 @@ import okhttp3.MediaType.Companion.toMediaType | |||
| import okhttp3.Request | |||
| import okhttp3.RequestBody.Companion.toRequestBody | |||
| import okhttp3.Response | |||
| import org.json.JSONException | |||
| import org.json.JSONObject | |||
| import java.io.* | |||
| import java.util.zip.ZipEntry | |||
| @@ -113,7 +113,7 @@ class SplashViewModel : BaseViewModel() { | |||
| }) | |||
| } | |||
| @Throws(JSONException::class) | |||
| private fun decodeBinderCourseJson(json : String) : MutableList<CoursePack>? { | |||
| if (json.isEmpty()) return null | |||
| val result = mutableListOf<CoursePack>() | |||
| @@ -131,6 +131,9 @@ class SplashViewModel : BaseViewModel() { | |||
| //定义课程包 | |||
| val coursePack = CoursePack(coursePackId, coursePackName, summary, subject_id, coursePackType) | |||
| coursePack.gradeId = cp.getInt("grade_id") | |||
| coursePack.stageId = cp.getInt("stage_id") | |||
| //定义课程列表集合 | |||
| val courseList = mutableListOf<Course>() | |||
| val courseMap = mutableMapOf<Int, Course>() // key : typeId value : Course | |||
| @@ -169,6 +172,16 @@ class SplashViewModel : BaseViewModel() { | |||
| coursePack.childrenCourses = courseList | |||
| result.add(coursePack) | |||
| } | |||
| //排序 | |||
| result.sortWith { o1, o2 -> | |||
| var compareResult = o2.stageId.compareTo(o1.stageId) | |||
| if (compareResult == 0) { | |||
| compareResult = o2.gradeId.compareTo(o1.gradeId) | |||
| } | |||
| compareResult | |||
| } | |||
| return result | |||
| } | |||
| @@ -285,6 +298,11 @@ class SplashViewModel : BaseViewModel() { | |||
| } | |||
| } | |||
| } | |||
| //课程排序 | |||
| // englishCoursePack.sortBy { | |||
| // it. | |||
| // } | |||
| // | |||
| CourseManager.subjectWithCoursePackMap[AppConstants.SUBJECT_ENGLISH] = englishCoursePack.toList() | |||
| CourseManager.subjectWithCoursePackMap[AppConstants.SUBJECT_CHINESE] = chineseCoursePack.toList() | |||
| mergeCoursePackResult.postValue(true) | |||
| @@ -479,10 +497,12 @@ class SplashViewModel : BaseViewModel() { | |||
| it.flush() | |||
| } | |||
| } | |||
| zipInputStream?.close() | |||
| outPut.forEach { | |||
| it.flush() | |||
| it.close() | |||
| } | |||
| zipInputStream?.close() | |||
| } | |||
| } | |||
| } | |||