Browse Source

测试修复

master
suliang 2 years ago
parent
commit
cd99f7b574

+ 4
- 0
.idea/misc.xml View File

<entry key="..\:/Work/XKL/XklLocal/app/src/main/res/layout/activity_splash.xml" value="0.1" /> <entry key="..\:/Work/XKL/XklLocal/app/src/main/res/layout/activity_splash.xml" value="0.1" />
<entry key="..\:/xuekaole/XKLLocal/app/src/main/res/drawable/shape_rounder_bottomlr_16_solider_white.xml" value="0.203125" /> <entry key="..\:/xuekaole/XKLLocal/app/src/main/res/drawable/shape_rounder_bottomlr_16_solider_white.xml" value="0.203125" />
<entry key="..\:/xuekaole/XKLLocal/app/src/main/res/drawable/shape_rounder_bottomlr_8_solider_white_1.xml" value="0.203125" /> <entry key="..\:/xuekaole/XKLLocal/app/src/main/res/drawable/shape_rounder_bottomlr_8_solider_white_1.xml" value="0.203125" />
<entry key="..\:/xuekaole/XKLLocal/app/src/main/res/layout/activity_course_main.xml" value="0.3338541666666667" />
<entry key="..\:/xuekaole/XKLLocal/app/src/main/res/layout/activity_dictionary.xml" value="0.1933876811594203" /> <entry key="..\:/xuekaole/XKLLocal/app/src/main/res/layout/activity_dictionary.xml" value="0.1933876811594203" />
<entry key="..\:/xuekaole/XKLLocal/app/src/main/res/layout/activity_dictionary_floating_search.xml" value="0.75" /> <entry key="..\:/xuekaole/XKLLocal/app/src/main/res/layout/activity_dictionary_floating_search.xml" value="0.75" />
<entry key="..\:/xuekaole/XKLLocal/app/src/main/res/layout/activity_learn_exam.xml" value="0.21666666666666667" /> <entry key="..\:/xuekaole/XKLLocal/app/src/main/res/layout/activity_learn_exam.xml" value="0.21666666666666667" />
<entry key="..\:/xuekaole/XKLLocal/app/src/main/res/layout/activity_test_detail.xml" value="0.21666666666666667" /> <entry key="..\:/xuekaole/XKLLocal/app/src/main/res/layout/activity_test_detail.xml" value="0.21666666666666667" />
<entry key="..\:/xuekaole/XKLLocal/app/src/main/res/layout/dialog_common.xml" value="0.33" /> <entry key="..\:/xuekaole/XKLLocal/app/src/main/res/layout/dialog_common.xml" value="0.33" />
<entry key="..\:/xuekaole/XKLLocal/app/src/main/res/layout/dictionary_floating_layout.xml" value="0.5" /> <entry key="..\:/xuekaole/XKLLocal/app/src/main/res/layout/dictionary_floating_layout.xml" value="0.5" />
<entry key="..\:/xuekaole/XKLLocal/app/src/main/res/layout/fragment_course_main.xml" value="0.3338541666666667" />
<entry key="..\:/xuekaole/XKLLocal/app/src/main/res/layout/fragment_course_pack.xml" value="0.3338541666666667" /> <entry key="..\:/xuekaole/XKLLocal/app/src/main/res/layout/fragment_course_pack.xml" value="0.3338541666666667" />
<entry key="..\:/xuekaole/XKLLocal/app/src/main/res/layout/fragment_learn_center.xml" value="0.3338541666666667" /> <entry key="..\:/xuekaole/XKLLocal/app/src/main/res/layout/fragment_learn_center.xml" value="0.3338541666666667" />
<entry key="..\:/xuekaole/XKLLocal/app/src/main/res/layout/fragment_statistics_time_top.xml" value="0.23385416666666667" /> <entry key="..\:/xuekaole/XKLLocal/app/src/main/res/layout/fragment_statistics_time_top.xml" value="0.23385416666666667" />
<entry key="..\:/xuekaole/XKLLocal/app/src/main/res/layout/include_main_learn_center_course_progress.xml" value="0.3338541666666667" />
<entry key="..\:/xuekaole/XKLLocal/app/src/main/res/layout/item_statics_for_time.xml" value="0.24791666666666667" /> <entry key="..\:/xuekaole/XKLLocal/app/src/main/res/layout/item_statics_for_time.xml" value="0.24791666666666667" />
<entry key="..\:/xuekaole/XKLLocal/app/src/main/res/layout/main_item_coursepack.xml" value="0.22864583333333333" />
<entry key="..\:/xuekaole/XKLLocal/lib/common/src/main/res/drawable/ic_search.xml" value="0.2212962962962963" /> <entry key="..\:/xuekaole/XKLLocal/lib/common/src/main/res/drawable/ic_search.xml" value="0.2212962962962963" />
<entry key="..\:/xuekaole/XKLLocal/videoplayer/src/main/res/layout/pine_player_media_controller.xml" value="0.125" /> <entry key="..\:/xuekaole/XKLLocal/videoplayer/src/main/res/layout/pine_player_media_controller.xml" value="0.125" />
<entry key="..\:/xuekaole/XKLLocal/videoplayer/src/main/res/layout/pine_player_media_controller_full.xml" value="0.125" /> <entry key="..\:/xuekaole/XKLLocal/videoplayer/src/main/res/layout/pine_player_media_controller_full.xml" value="0.125" />

+ 12
- 0
app/src/main/java/com/xkl/cdl/data/manager/db/DbCoursePackManager.kt View File

) )
//课程包添加课程 //课程包添加课程
childrenCourses.add(course) childrenCourses.add(course)
//初始作文设置进度
if (subjectId == AppConstants.SUBJECT_CHINESE){
//语文初始需要给设置一下其进度,用于显示
run m@{
CourseManager.mSortInfoList[AppConstants.SUBJECT_CHINESE]?.forEach { sortInfo ->
if (coursePackId == sortInfo.packId && course.courseId == sortInfo.courseId ){
learnProgress = sortInfo.s //设置进度
return@m
}
}
}
}
} }
cursor.close() cursor.close()
} }

+ 21
- 5
app/src/main/java/com/xkl/cdl/module/floating/DictionaryFloatingWindowManager.kt View File

import com.suliang.common.util.os.ScreenUtil import com.suliang.common.util.os.ScreenUtil
import com.suliang.common.util.os.VersionUtil import com.suliang.common.util.os.VersionUtil
import com.xkl.cdl.R import com.xkl.cdl.R
import com.xkl.cdl.data.AppConstants
import com.xkl.cdl.databinding.DictionaryFloatingLayoutBinding import com.xkl.cdl.databinding.DictionaryFloatingLayoutBinding
import com.xkl.cdl.module.XKLApplication import com.xkl.cdl.module.XKLApplication
import kotlin.math.abs import kotlin.math.abs
private var windowParams : WindowManager.LayoutParams? = null private var windowParams : WindowManager.LayoutParams? = null
private var layoutBinding : DictionaryFloatingLayoutBinding? = null private var layoutBinding : DictionaryFloatingLayoutBinding? = null
private var isShowing = false private var isShowing = false
var courseId = 0
set(value) {
field = value
private var courseId:Long = 0
/**
* 显示词典
*/
public fun showFloatDictionary(subjectId:Int,courseId: Long = 0){
if (subjectId == AppConstants.SUBJECT_ENGLISH){
this.courseId = courseId
show()
} }
}
// /**
// * 隐藏词典
// */
// public fun hideFloatDictionary(){
// courseId = 0
// hide()
// }
fun show() {
private fun show() {
if (!checkOverlayerPermission()) return if (!checkOverlayerPermission()) return
windowParams?.let { windowParams?.let {
layoutBinding?.root?.visibility = View.VISIBLE layoutBinding?.root?.visibility = View.VISIBLE
isDrag = abs(x - mDownX) > scaledTouchSlop || abs(y - mDownY) > scaledTouchSlop isDrag = abs(x - mDownX) > scaledTouchSlop || abs(y - mDownY) > scaledTouchSlop
if (!isDrag){ if (!isDrag){
ActivityStackManager.topActivity()?.let{ ActivityStackManager.topActivity()?.let{
DictionaryFloatingSearchActivity.instance(it)
DictionaryFloatingSearchActivity.instance(it,courseId)
} }
} }
} }

+ 4
- 4
app/src/main/java/com/xkl/cdl/module/learn/LearnExamViewModel.kt View File

!isShowBackDialog -> showOrDismissBackDialogForTime(isShowBackDialog) !isShowBackDialog -> showOrDismissBackDialogForTime(isShowBackDialog)
} }
//不是在上传,且为英语类型,可显示词典浮窗 //不是在上传,且为英语类型,可显示词典浮窗
if (!isShowLoading && dbBaseControl.subjectId == AppConstants.SUBJECT_ENGLISH) {
DictionaryFloatingWindowManager.getInstance().show()
if (!isShowLoading ) {
DictionaryFloatingWindowManager.getInstance().showFloatDictionary(dbBaseControl.subjectId,dbBaseControl.courseId)
} }
} }
it.onComplete() it.onComplete()
}.compose(diskIo2Main()).subscribe({ }.compose(diskIo2Main()).subscribe({
showHideLoading(false) showHideLoading(false)
DictionaryFloatingWindowManager.getInstance().show()
DictionaryFloatingWindowManager.getInstance().showFloatDictionary(dbBaseControl.subjectId,dbBaseControl.courseId)
sendEventBus() //返回发送数据 sendEventBus() //返回发送数据
//数据保存完成后,通过数据为空进行通知,测试完成 //数据保存完成后,通过数据为空进行通知,测试完成
currentExamBean.value = null currentExamBean.value = null
}, { }, {
showHideLoading(false) showHideLoading(false)
DictionaryFloatingWindowManager.getInstance().show()
DictionaryFloatingWindowManager.getInstance().showFloatDictionary(dbBaseControl.subjectId,dbBaseControl.courseId)
it.printStackTrace() it.printStackTrace()
}) })
} }

+ 6
- 4
app/src/main/java/com/xkl/cdl/module/learn/LearnWordViewModel.kt View File

it.onComplete() it.onComplete()
}.compose(diskIo2Main()).subscribe({ }.compose(diskIo2Main()).subscribe({
showHideLoading(false) showHideLoading(false)
DictionaryFloatingWindowManager.getInstance().show()
DictionaryFloatingWindowManager.getInstance()
.showFloatDictionary(dbControlBase.subjectId, dbControlBase.courseId)
sendEventBus() //返回发送数据 sendEventBus() //返回发送数据
//数据保存完成后,通过数据为空进行通知,完成 //数据保存完成后,通过数据为空进行通知,完成
saveDataLiveData.value = isAllOver saveDataLiveData.value = isAllOver
}, { }, {
showHideLoading(false) showHideLoading(false)
it.printStackTrace() it.printStackTrace()
DictionaryFloatingWindowManager.getInstance().show()
DictionaryFloatingWindowManager.getInstance()
.showFloatDictionary(dbControlBase.subjectId, dbControlBase.courseId)
}) })
} }
startTotalCounting() startTotalCounting()
} }
//不是在上传,且为英语类型,可显示词典浮窗 //不是在上传,且为英语类型,可显示词典浮窗
if (!isShowLoading && dbControlBase.subjectId == AppConstants.SUBJECT_ENGLISH) {
DictionaryFloatingWindowManager.getInstance().show()
if (!isShowLoading) {
DictionaryFloatingWindowManager.getInstance().showFloatDictionary(dbControlBase.subjectId, dbControlBase.courseId)
} }
} }

+ 1
- 1
app/src/main/java/com/xkl/cdl/module/m_center_learn/CoursePackMainActivity.kt View File

vm.currentCourseProgress.observe(this) { vm.currentCourseProgress.observe(this) {
binding.includeCourseProgress.apply { binding.includeCourseProgress.apply {
//进度格式化 //进度格式化
progressbar.progress = it.toInt()
progressbar.progress = (it * 10).toInt() //进度条为千分制,需要乘十显示
tvProgress.text = if (binding.includeCourseTypeTab.root.visibility == View.VISIBLE) { tvProgress.text = if (binding.includeCourseTypeTab.root.visibility == View.VISIBLE) {
val format = when (binding.viewPager2.currentItem) { val format = when (binding.viewPager2.currentItem) {
0 -> "认读进度: %s%%" 0 -> "认读进度: %s%%"

+ 1
- 3
app/src/main/java/com/xkl/cdl/module/m_memo/MemoListDetailViewModel.kt View File

override fun onResume(owner : LifecycleOwner) { override fun onResume(owner : LifecycleOwner) {
super.onResume(owner) super.onResume(owner)
if (dbControlBase.subjectId == AppConstants.SUBJECT_ENGLISH){
DictionaryFloatingWindowManager.getInstance().show()
}
DictionaryFloatingWindowManager.getInstance().showFloatDictionary(dbControlBase.subjectId,dbControlBase.courseId)
} }
override fun onPause(owner : LifecycleOwner) { override fun onPause(owner : LifecycleOwner) {
super.onPause(owner) super.onPause(owner)

+ 0
- 82
app/src/main/java/com/xkl/cdl/module/m_statics/StatisticsTimeTopFragmentViewModel.kt View File

result.add(initEfficiency(statistics)) //效率 result.add(initEfficiency(statistics)) //效率
result.add(initCourseCount(statistics)) //课程 result.add(initCourseCount(statistics)) //课程
result.add(initLearnProgress(statistics)) //已学进度 result.add(initLearnProgress(statistics)) //已学进度
/* //有效学习时长
val timeStaticItem_1 = TimeStatisticItem().apply {
name = "有效学习时长"
backGround = R.drawable.shape_rounder_4_red_a5
}
//计算显示使用的单位
if (statistics.sd != 0L) {
val hour = statistics.sd / 3600000.0
val minute = statistics.sd / 60000.0
when {
//大于1小时
hour > 1 -> {
timeStaticItem_1.time =initShow(hour)
timeStaticItem_1.unit = "小时"
}
//大于1分钟
minute > 1 -> {
//取整和保留一位小数的值相同,则使用取整的值显示,否则使用保留小数的值显示
timeStaticItem_1.time =initShow(minute)
timeStaticItem_1.unit = "分钟"
}
//小于1分钟
else -> {
timeStaticItem_1.time = ""
timeStaticItem_1.unit = "不足1分钟"
}
}
}else{
timeStaticItem_1.time = ""
timeStaticItem_1.unit = "不足1分钟"
}
initIncr(timeStaticItem_1,statistics.sdIncr.toDouble())
//增量不为0
if (statistics.sdIncr != 0L ){
val hour_1 = statistics.sdIncr / 3600000.0
val minute_1 = statistics.sdIncr / 60000.0
val sencond = statistics.sdIncr / 1000
when {
//大于1小时
abs(hour_1) > 1 -> timeStaticItem_1.incr = if(statistics.sdIncr > 0) "${initShow(hour_1)}小时" else "-${initShow(abs(hour_1))}小时"
//大于1分钟
abs(minute_1) > 1 -> timeStaticItem_1.incr = if(statistics.sdIncr > 0) "${initShow(minute_1)}分钟" else "-${initShow(abs(minute_1))}分钟"
//小于1分钟 秒数
else -> timeStaticItem_1.incr = "${sencond}秒"
}
if (statistics.sdIncr > 0){
timeStaticItem_1.incr = "+${timeStaticItem_1.incr}"
}
}else{
timeStaticItem_1.incr = ""
}
result.add(timeStaticItem_1)*/
/* //综合学习效率
val timeStaticItem_2 = TimeStatisticItem().apply {
backGround = R.drawable.shape_rounder_4_theme_a5
name = "综合学习效率"
unit = "%"
time = initShow(statistics.se)
initIncr(this,statistics.seIncr)
}
result.add(timeStaticItem_2)
//已学课程
val timeStaticItem_3 = TimeStatisticItem().apply {
backGround = R.drawable.shape_rounder_4_green_a5
name = "已学课程"
unit = "/${CourseManager.getTotalCourseSize()}个"
time = "${statistics.sc}"
initIncr(this,statistics.scIncr.toDouble())
}
result.add(timeStaticItem_3)
//已学进度
val timeStaticItem_4 = TimeStatisticItem().apply {
backGround = R.drawable.shape_rounder_4_purple_a5
name = "已学进度"
unit = "%"
time = initShow(statistics.ts)
initIncr(this,statistics.tsIncr)
}
result.add(timeStaticItem_4)*/
return result return result
} }

Loading…
Cancel
Save