diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/biz/InitiativeBadCaseWindow.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/biz/InitiativeBadCaseWindow.kt index b9d63b1296..7a5dfc75e0 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/biz/InitiativeBadCaseWindow.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/biz/InitiativeBadCaseWindow.kt @@ -72,6 +72,7 @@ import org.json.JSONObject import record_cache.RecordPanelOuterClass import java.io.File import java.util.* +import kotlin.collections.ArrayList /** @@ -111,6 +112,7 @@ class InitiativeBadCaseWindow constructor(activity: Activity) : View.OnTouchList private var audioFileName:String?=null //录音文件名称 private var uploadReason: StringBuilder = StringBuilder() //上报原因,标签 + private var uploadList = ArrayList() //上报原因列表 private var reasonDetail: String = "" //语音转写 private var uploadReasonTotal: String = "" @Volatile @@ -180,10 +182,13 @@ class InitiativeBadCaseWindow constructor(activity: Activity) : View.OnTouchList badReasonListAdapter?.setListener(object: BadReasonListAdapter.ReasonClickListener{ override fun onClick(reason: String, isChecked: Boolean) { if(isChecked){ - uploadReason.append(reason) + if(!uploadList.contains(reason)){ + uploadList.add(reason) + } }else{ - val index = uploadReason.indexOf(reason) - uploadReason.delete(index,index+reason.length) + if(uploadList.contains(reason)){ + uploadList.remove(reason) + } } } }) @@ -214,10 +219,17 @@ class InitiativeBadCaseWindow constructor(activity: Activity) : View.OnTouchList //上报 tvInitiativeReport.setOnClickListener { - if(uploadReason.isBlank()){ + if(uploadList.isEmpty()){ ToastUtils.showShort("请选择最少一个原因") return@setOnClickListener } + uploadReason.clear() + for(index in uploadList.indices){ + if(index!=0){ + uploadReason.append("&") + } + uploadReason.append(uploadList[index]) + } tvInitiativeReport.text = "上报中..." if(audioStatus){ audioStatus = false diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/biz/PassiveBadCaseWindow.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/biz/PassiveBadCaseWindow.kt index b13cb793d2..442d2b6b29 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/biz/PassiveBadCaseWindow.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/biz/PassiveBadCaseWindow.kt @@ -89,6 +89,7 @@ class PassiveBadCaseWindow constructor(activity: Activity) : View.OnTouchListene private var bagManagerEntity: BagManagerEntity = BagManagerEntity() private var uploadReason: StringBuilder = StringBuilder() //上报原因,标签 + private var uploadList = ArrayList() //上报原因列表 private var recordKey: String?=null //录制bag包key private var recordFileName: String?=null //录制文件包名 private var receiveTime: String ?= null //接收时间 @@ -171,10 +172,13 @@ class PassiveBadCaseWindow constructor(activity: Activity) : View.OnTouchListene override fun onClick(reason: String, isChecked: Boolean) { hasOperated = true if(isChecked){ - uploadReason.append(reason) + if(!uploadList.contains(reason)){ + uploadList.add(reason) + } }else{ - val index = uploadReason.indexOf(reason) - uploadReason.delete(index,index+reason.length) + if(uploadList.contains(reason)){ + uploadList.remove(reason) + } } } }) @@ -203,10 +207,17 @@ class PassiveBadCaseWindow constructor(activity: Activity) : View.OnTouchListene tvPassiveReport.setOnClickListener { hasOperated = true - if(uploadReason.isEmpty()){ + if(uploadList.isEmpty()){ TipToast.shortTip("请选择至少一个Case") return@setOnClickListener } + uploadReason.clear() + for(index in uploadList.indices){ + if(index!=0){ + uploadReason.append("&") + } + uploadReason.append(uploadList[index]) + } tvPassiveReport.text = "上报中..." if(audioStatus){ audioStatus = !audioStatus