[6.2.4]魔方触发主动录包
This commit is contained in:
@@ -288,6 +288,13 @@ class DevaToolsProvider : IDevaToolsProvider {
|
|||||||
BadCaseManager.onReceiveBadCaseRecord(msgBoxBean, activity, countdown)
|
BadCaseManager.onReceiveBadCaseRecord(msgBoxBean, activity, countdown)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 魔方开启主动录包
|
||||||
|
*/
|
||||||
|
override fun startRecordByMoFang() {
|
||||||
|
BadCaseManager.startRecordByMoFang()
|
||||||
|
}
|
||||||
|
|
||||||
override fun showFeedbackWindow(ctx: Context) {
|
override fun showFeedbackWindow(ctx: Context) {
|
||||||
BadCaseManager.showBadCaseConfigWindow(ctx)
|
BadCaseManager.showBadCaseConfigWindow(ctx)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import android.app.Activity
|
|||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.WindowManager
|
import android.view.WindowManager
|
||||||
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.fragment.app.FragmentActivity
|
import androidx.fragment.app.FragmentActivity
|
||||||
import androidx.lifecycle.Lifecycle.Event
|
import androidx.lifecycle.Lifecycle.Event
|
||||||
import androidx.lifecycle.LifecycleEventObserver
|
import androidx.lifecycle.LifecycleEventObserver
|
||||||
@@ -12,10 +13,12 @@ import androidx.lifecycle.LifecycleOwner
|
|||||||
import com.mogo.cloud.passport.MoGoAiCloudClientConfig
|
import com.mogo.cloud.passport.MoGoAiCloudClientConfig
|
||||||
import com.mogo.eagle.core.data.app.AppConfigInfo
|
import com.mogo.eagle.core.data.app.AppConfigInfo
|
||||||
import com.mogo.eagle.core.data.config.FunctionBuildConfig
|
import com.mogo.eagle.core.data.config.FunctionBuildConfig
|
||||||
|
import com.mogo.eagle.core.data.deva.badcase.RecordCaseEntity
|
||||||
import com.mogo.eagle.core.data.msgbox.MsgBoxBean
|
import com.mogo.eagle.core.data.msgbox.MsgBoxBean
|
||||||
import com.mogo.eagle.core.data.msgbox.MsgBoxType
|
import com.mogo.eagle.core.data.msgbox.MsgBoxType
|
||||||
import com.mogo.eagle.core.data.msgbox.RecordBagMsg
|
import com.mogo.eagle.core.data.msgbox.RecordBagMsg
|
||||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotRecordListener
|
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotRecordListener
|
||||||
|
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager
|
||||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotRecordListenerManager
|
import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotRecordListenerManager
|
||||||
import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationWGS84ListenerManager
|
import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationWGS84ListenerManager
|
||||||
import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager
|
import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager
|
||||||
@@ -30,6 +33,7 @@ import com.zhjt.mogo_core_function_devatools.badcase.consts.BadCaseConfig
|
|||||||
import com.zhjt.mogo_core_function_devatools.badcase.repository.db.entity.AutoPilotRecord
|
import com.zhjt.mogo_core_function_devatools.badcase.repository.db.entity.AutoPilotRecord
|
||||||
import com.zhjt.mogo_core_function_devatools.ext.enqueuePop
|
import com.zhjt.mogo_core_function_devatools.ext.enqueuePop
|
||||||
import me.jessyan.autosize.utils.AutoSizeUtils
|
import me.jessyan.autosize.utils.AutoSizeUtils
|
||||||
|
import mogo.telematics.pad.MessagePad
|
||||||
import record_cache.RecordPanelOuterClass
|
import record_cache.RecordPanelOuterClass
|
||||||
|
|
||||||
internal object BadCaseManager : LifecycleEventObserver, IMoGoAutopilotRecordListener {
|
internal object BadCaseManager : LifecycleEventObserver, IMoGoAutopilotRecordListener {
|
||||||
@@ -41,11 +45,53 @@ internal object BadCaseManager : LifecycleEventObserver, IMoGoAutopilotRecordLis
|
|||||||
@Volatile
|
@Volatile
|
||||||
private var record: AutoPilotRecord? = null
|
private var record: AutoPilotRecord? = null
|
||||||
|
|
||||||
|
//是否处理录包配置回调数据
|
||||||
|
private var receiveRecordConfig: Boolean = false
|
||||||
|
|
||||||
fun init(context: Context) {
|
fun init(context: Context) {
|
||||||
CallerAutopilotRecordListenerManager.addListener(TAG, this)
|
CallerAutopilotRecordListenerManager.addListener(TAG, this)
|
||||||
SpeechUtils.init(context)
|
SpeechUtils.init(context)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 魔方开启主动录包
|
||||||
|
*/
|
||||||
|
fun startRecordByMoFang(){
|
||||||
|
if (NetworkUtils.isConnected()){
|
||||||
|
if (BadCaseConfig.dockerVersion != null){
|
||||||
|
val activity = AppStateManager.currentActivity()
|
||||||
|
if (activity !is AppCompatActivity) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
//兼容老MAP版本
|
||||||
|
if (BadCaseConfig.dockerVersion!!.contains("2.3.0")
|
||||||
|
|| BadCaseConfig.dockerVersion!!.contains("2.4.0")
|
||||||
|
|| BadCaseConfig.dockerVersion!!.contains("2.5.0")
|
||||||
|
|| BadCaseConfig.dockerVersion!!.contains("2.6.0")
|
||||||
|
|| BadCaseConfig.dockerVersion!!.contains("2.8.0")
|
||||||
|
){
|
||||||
|
val initiativeBadCaseWindow = InitiativeBadCaseWindow(activity)
|
||||||
|
initiativeBadCaseWindow.setClickListener(object :
|
||||||
|
InitiativeBadCaseWindow.ClickListener {
|
||||||
|
override fun closeWindow() {
|
||||||
|
initiativeBadCaseWindow.hideFloatWindow()
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
|
initiativeBadCaseWindow.showFloatWindow(null)
|
||||||
|
}else{
|
||||||
|
receiveRecordConfig = true
|
||||||
|
//获取数据采集录制模式配置列表
|
||||||
|
CallerAutoPilotControlManager.getBadCaseConfig(0, 0, ArrayList())
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
ToastUtils.showShort("工控机连接状态异常")
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
ToastUtils.showShort("网络异常,请检查网络")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 展示BadCase配置页面
|
* 展示BadCase配置页面
|
||||||
*/
|
*/
|
||||||
@@ -269,4 +315,33 @@ internal object BadCaseManager : LifecycleEventObserver, IMoGoAutopilotRecordLis
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数据采集配置应答
|
||||||
|
*/
|
||||||
|
override fun onAutopilotRecordConfig(config: MessagePad.RecordDataConfig) {
|
||||||
|
if(receiveRecordConfig){
|
||||||
|
ThreadUtils.runOnUiThread {
|
||||||
|
if(config.recordTypesCount >0){
|
||||||
|
config.recordTypesList.forEach {
|
||||||
|
//TODO 需要确认具体是哪个ID
|
||||||
|
if(it.id == 1){
|
||||||
|
val recordCaseEntity = RecordCaseEntity(it.id,it.desc,it.topicsList)
|
||||||
|
val initiativeBadCaseWindow = AppStateManager.currentActivity()
|
||||||
|
?.let { it1 -> InitiativeBadCaseWindow(it1) }
|
||||||
|
initiativeBadCaseWindow?.setClickListener(object :
|
||||||
|
InitiativeBadCaseWindow.ClickListener {
|
||||||
|
override fun closeWindow() {
|
||||||
|
initiativeBadCaseWindow.hideFloatWindow()
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
|
initiativeBadCaseWindow?.showFloatWindow(recordCaseEntity)
|
||||||
|
receiveRecordConfig = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import androidx.annotation.NonNull;
|
|||||||
import androidx.recyclerview.widget.GridLayoutManager;
|
import androidx.recyclerview.widget.GridLayoutManager;
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
|
|
||||||
|
import com.google.protobuf.ProtocolStringList;
|
||||||
import com.mogo.eagle.core.data.deva.badcase.RecordCaseEntity;
|
import com.mogo.eagle.core.data.deva.badcase.RecordCaseEntity;
|
||||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotRecordListener;
|
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotRecordListener;
|
||||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager;
|
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager;
|
||||||
@@ -99,19 +100,14 @@ public class CaseListDialog extends Dialog implements IMoGoAutopilotRecordListen
|
|||||||
if(config.getRecordTypesCount()>0){
|
if(config.getRecordTypesCount()>0){
|
||||||
for(int index=0;index<config.getRecordTypesCount();index++){
|
for(int index=0;index<config.getRecordTypesCount();index++){
|
||||||
if(config.getRecordTypes(index).getId() != 99){
|
if(config.getRecordTypes(index).getId() != 99){
|
||||||
ArrayList<String> topicList = new ArrayList<>();
|
|
||||||
// TODO java.lang.IndexOutOfBoundsException: Index: 38, Size: 38
|
|
||||||
// for(int position=0;index<config.getRecordTypes(index).getTopicsCount();position++){
|
|
||||||
// topicList.add(config.getRecordTypes(index).getTopicsList().get(position));
|
|
||||||
// }
|
|
||||||
recordTypeEntityArrayList.add(new RecordCaseEntity(
|
recordTypeEntityArrayList.add(new RecordCaseEntity(
|
||||||
config.getRecordTypes(index).getId(),config.getRecordTypes(index).getDesc(),
|
config.getRecordTypes(index).getId(),config.getRecordTypes(index).getDesc(),
|
||||||
topicList));
|
config.getAllTopicsList()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(BadCaseConfig.customTopicList.size()>0){
|
if(BadCaseConfig.customTopicList.size()>0){
|
||||||
recordTypeEntityArrayList.add(new RecordCaseEntity(0,"自定义A",BadCaseConfig.customTopicList));
|
recordTypeEntityArrayList.add(new RecordCaseEntity(0,"自定义A", (ProtocolStringList) BadCaseConfig.customTopicList));
|
||||||
}
|
}
|
||||||
caseListAdapter.setData(recordTypeEntityArrayList);
|
caseListAdapter.setData(recordTypeEntityArrayList);
|
||||||
caseListAdapter.notifyDataSetChanged();
|
caseListAdapter.notifyDataSetChanged();
|
||||||
|
|||||||
@@ -1,3 +1,9 @@
|
|||||||
package com.mogo.eagle.core.data.deva.badcase
|
package com.mogo.eagle.core.data.deva.badcase
|
||||||
|
|
||||||
data class RecordCaseEntity(var caseId: Int,var caseName: String,var topicList: ArrayList<String>)
|
import com.google.protobuf.ProtocolStringList
|
||||||
|
|
||||||
|
data class RecordCaseEntity(
|
||||||
|
var caseId: Int,
|
||||||
|
var caseName: String,
|
||||||
|
var topicList: ProtocolStringList
|
||||||
|
)
|
||||||
@@ -113,6 +113,11 @@ interface IDevaToolsProvider : IProvider {
|
|||||||
*/
|
*/
|
||||||
fun onReceiveBadCaseRecord(msgBoxBean: MsgBoxBean,activity: Activity,countdown: Boolean)
|
fun onReceiveBadCaseRecord(msgBoxBean: MsgBoxBean,activity: Activity,countdown: Boolean)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 魔方开启主动录包
|
||||||
|
*/
|
||||||
|
fun startRecordByMoFang()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 展示录包配置
|
* 展示录包配置
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -149,6 +149,13 @@ object CallerDevaToolsManager {
|
|||||||
devaToolsProviderApi?.onReceiveBadCaseRecord(msgBoxBean, activity,countdown)
|
devaToolsProviderApi?.onReceiveBadCaseRecord(msgBoxBean, activity,countdown)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 魔方开启主动录包
|
||||||
|
*/
|
||||||
|
fun startRecordByMoFang(){
|
||||||
|
devaToolsProviderApi?.startRecordByMoFang()
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 展示录包配置页面
|
* 展示录包配置页面
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user