[6.2.4]增加采集类型、长久保存状态
This commit is contained in:
@@ -272,8 +272,11 @@ internal object BadCaseManager : LifecycleEventObserver, IMoGoAutopilotRecordLis
|
||||
)
|
||||
} bag录制失败"
|
||||
)
|
||||
//获取录包失败集合
|
||||
val recordFail = BadCaseConfig.getRecordFailSet()
|
||||
//录包失败时,保存录包失败状态
|
||||
BadCaseConfig.bagRecordFailList.add(recordPanel.key)
|
||||
recordFail.add(recordPanel.key.toString())
|
||||
BadCaseConfig.setRecordFailSet(recordFail)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
@@ -201,8 +201,10 @@ class AIDataCollectWindow constructor(activity: Activity) : View.OnTouchListener
|
||||
//开始录制
|
||||
if(recordPanel.stat == 300){
|
||||
BadCaseConfig.recordKeyList.add(recordPanel.key)
|
||||
val aiDataSet = BadCaseConfig.getAiDataSet()
|
||||
//保存录包状态
|
||||
BadCaseConfig.bagResourceList.add(recordPanel.key)
|
||||
aiDataSet.add(recordPanel.key.toString())
|
||||
BadCaseConfig.setAiDataSet(aiDataSet)
|
||||
}
|
||||
if (recordFileName == null) {
|
||||
recordFileName = recordPanel.filename
|
||||
|
||||
@@ -27,6 +27,7 @@ import com.mogo.eagle.core.utilcode.util.UiThreadHandler
|
||||
import com.zhidao.loglib.download.DownloadManager
|
||||
import com.zhjt.mogo_core_function_devatools.R
|
||||
import com.zhjt.mogo_core_function_devatools.badcase.biz.adapter.BagManagerListAdapter
|
||||
import com.zhjt.mogo_core_function_devatools.badcase.consts.BadCaseConfig
|
||||
import com.zhjt.mogo_core_function_devatools.badcase.consts.BadCaseConfig.bagManagerList
|
||||
import com.zhjt.mogo_core_function_devatools.badcase.record.Audition
|
||||
import kotlinx.android.synthetic.main.layout_badcase_manager.view.*
|
||||
@@ -237,6 +238,9 @@ class BadCaseManagerView @JvmOverloads constructor(
|
||||
val linearLayoutManager = LinearLayoutManager(context)
|
||||
rvBagList.layoutManager = linearLayoutManager
|
||||
rvBagList.adapter = bagManagerListAdapter
|
||||
bagManagerListAdapter?.setRecordSet(BadCaseConfig.getInitiativeRecordSet(),
|
||||
BadCaseConfig.getAiDataSet(),BadCaseConfig.getRecordFailSet())
|
||||
|
||||
|
||||
//音频文件播放
|
||||
// Audition.getInstance().playOrStop("/mnt/sdcard/mogo/test.wav")
|
||||
|
||||
@@ -574,8 +574,11 @@ class InitiativeBadCaseWindow constructor(activity: Activity) : View.OnTouchList
|
||||
//开始录制
|
||||
if(recordPanel.stat == 300){
|
||||
BadCaseConfig.recordKeyList.add(recordPanel.key)
|
||||
//获取当前主动录包集合
|
||||
val recordSet = BadCaseConfig.getInitiativeRecordSet()
|
||||
//保存录包状态
|
||||
BadCaseConfig.bagResourceList.add(recordPanel.key)
|
||||
recordSet.add(recordPanel.key.toString())
|
||||
BadCaseConfig.setInitiativeRecordSet(recordSet)
|
||||
//开启高精地图截图
|
||||
CallerMapUIServiceManager.getMapUIController()?.getMapScreenShot()
|
||||
}
|
||||
|
||||
@@ -32,11 +32,24 @@ class BagManagerListAdapter: RecyclerView.Adapter<RecyclerView.ViewHolder>() {
|
||||
private var bagClickListener: BagClickListener ?= null
|
||||
private val format = DecimalFormat("0.00")
|
||||
|
||||
private var initiativeSet: HashSet<String> ?= null //录包来源为主动录包集合
|
||||
private var aiDataSet: HashSet<String> ?= null //录包来源为AI数据采集集合
|
||||
private var recordFailSet: HashSet<String> ?= null //录包失败集合
|
||||
|
||||
fun setData(data: List<BagInfoEntity>?){
|
||||
this.data = data
|
||||
notifyDataSetChanged()
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置录包缓存信息
|
||||
*/
|
||||
fun setRecordSet(initiative: HashSet<String>,aiData: HashSet<String>,recordFail: HashSet<String>){
|
||||
initiativeSet = initiative
|
||||
aiDataSet = aiData
|
||||
recordFailSet = recordFail
|
||||
}
|
||||
|
||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
|
||||
return if(viewType == 1){
|
||||
val view = LayoutInflater.from(parent.context)
|
||||
@@ -98,7 +111,7 @@ class BagManagerListAdapter: RecyclerView.Adapter<RecyclerView.ViewHolder>() {
|
||||
|
||||
|
||||
bagInfoEntity.description?.let { des->
|
||||
if(BadCaseConfig.bagRecordFailList.contains(bagInfoEntity.key)){
|
||||
if(!recordFailSet.isNullOrEmpty() && recordFailSet!!.contains(bagInfoEntity.key.toString())){
|
||||
//如果在录包失败列表中找到该Bag包,则该包为录包失败状态
|
||||
holder.tvBagReportStatus.text = "录包失败"
|
||||
holder.tvBagReportStatus.setBackgroundResource(R.drawable.bag_reported_button_bg)
|
||||
@@ -142,11 +155,17 @@ class BagManagerListAdapter: RecyclerView.Adapter<RecyclerView.ViewHolder>() {
|
||||
}
|
||||
}
|
||||
|
||||
//录包来源:自动 or 人工
|
||||
if(BadCaseConfig.bagResourceList.contains(bagInfoEntity.key)){
|
||||
//录包来源:自动 or 人工 or 采集
|
||||
if(!initiativeSet.isNullOrEmpty() && initiativeSet!!.contains(bagInfoEntity.key.toString())){
|
||||
//在该列表中找到Bag包的Key则代表该Bag为人工录包
|
||||
holder.tvBagResource.text = "人工"
|
||||
holder.tvBagResource.setBackgroundResource(R.drawable.bag_artificial_button_bg)
|
||||
}else if(!aiDataSet.isNullOrEmpty() && aiDataSet!!.contains(bagInfoEntity.key.toString())){
|
||||
//AI数据采集
|
||||
holder.tvBagResource.text = "采集"
|
||||
holder.tvBagResource.setBackgroundResource(R.drawable.bag_artificial_button_bg)
|
||||
//AI数据采集不显示截图播放按钮
|
||||
holder.ivMapScreen.visibility = View.INVISIBLE
|
||||
}else{
|
||||
//自动录包
|
||||
holder.tvBagResource.text = "自动"
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.zhjt.mogo_core_function_devatools.badcase.consts
|
||||
import com.mogo.eagle.core.data.deva.badcase.BagInfoEntity
|
||||
import com.mogo.eagle.core.data.deva.report.ReportEntity
|
||||
import com.mogo.eagle.core.data.msgbox.FMInfoMsg
|
||||
import com.mogo.eagle.core.utilcode.util.SPUtils
|
||||
|
||||
/**
|
||||
* @author XuXinChao
|
||||
@@ -56,11 +57,50 @@ object BadCaseConfig {
|
||||
//Bag包管理列表
|
||||
@JvmField
|
||||
var bagManagerList: ArrayList<BagInfoEntity> = ArrayList()
|
||||
//Bag包来源,将主动录包的Key保存在该列表中,不在该列表中的在录包管理页面的Bag包视为被动录包
|
||||
@JvmField
|
||||
var bagResourceList: ArrayList<Long> = ArrayList()
|
||||
//Bag包录包失败状态列表,当Bag录制失败时保存在该列表,当Bag包在该列表中不存在时即视为录包成功
|
||||
@JvmField
|
||||
var bagRecordFailList: ArrayList<Long> = ArrayList()
|
||||
|
||||
private const val resourceInitiative = "RESOURCE_INITIATIVE" //录包来源为主动录包
|
||||
private const val resourceAiData = "RESOURCE_AI_DATA" //录包来源为AI数据采集
|
||||
private const val recordFail = "RECORD_FAIL" //录包失败
|
||||
|
||||
/**
|
||||
* 获取主动录包集合
|
||||
*/
|
||||
fun getInitiativeRecordSet(): HashSet<String>{
|
||||
return SPUtils.getInstance().getStringSet(resourceInitiative,HashSet<String>()) as HashSet<String>
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存主动录包集合
|
||||
*/
|
||||
fun setInitiativeRecordSet(initiativeSet: Set<String>){
|
||||
SPUtils.getInstance().put(resourceInitiative,initiativeSet)
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取AI数据采集集合
|
||||
*/
|
||||
fun getAiDataSet(): HashSet<String>{
|
||||
return SPUtils.getInstance().getStringSet(resourceAiData,HashSet<String>()) as HashSet<String>
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存AI数据采集集合
|
||||
*/
|
||||
fun setAiDataSet(aiDataSet: Set<String>){
|
||||
SPUtils.getInstance().put(resourceAiData,aiDataSet)
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取录包失败集合
|
||||
*/
|
||||
fun getRecordFailSet(): HashSet<String>{
|
||||
return SPUtils.getInstance().getStringSet(recordFail,HashSet<String>()) as HashSet<String>
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存录包失败集合
|
||||
*/
|
||||
fun setRecordFailSet(recordFailSet: Set<String>){
|
||||
SPUtils.getInstance().put(recordFail,recordFailSet)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user