diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/biz/BadCaseManagerView.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/biz/BadCaseManagerView.kt
index 801708f121..31d0b57875 100644
--- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/biz/BadCaseManagerView.kt
+++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/biz/BadCaseManagerView.kt
@@ -35,7 +35,7 @@ import java.util.*
* @description BadCase录包管理页面
* @since: 2022/12/15
*/
-internal class BadCaseManagerView @JvmOverloads constructor(
+class BadCaseManagerView @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null,
defStyleAttr: Int = 0
@@ -66,6 +66,8 @@ internal class BadCaseManagerView @JvmOverloads constructor(
private fun initView(){
background = ColorDrawable(Color.parseColor("#F0151D41"))
+ clLayout.setOnClickListener {
+ }
//关闭BadCase管理窗口
ivManagerClose.setOnClickListener {
clickListener?.onClose()
@@ -272,6 +274,8 @@ internal class BadCaseManagerView @JvmOverloads constructor(
}
//遍历所有bag
else if(bagManager.reqType == 2){
+ clBagHaveDataLayout.visibility = View.VISIBLE
+ clBagNoDataLayout.visibility = View.GONE
if(bagManager.bagsInfoRespCount>0){
for(bagInfo in bagManager.bagsInfoRespList){
bagInfo?.let {
diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_bag_no_data.png b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_bag_no_data.png
new file mode 100644
index 0000000000..5f4ea0176b
Binary files /dev/null and b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_bag_no_data.png differ
diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/layout/layout_badcase_manager.xml b/core/function-impl/mogo-core-function-devatools/src/main/res/layout/layout_badcase_manager.xml
index 3db62e3e3f..6a86a27676 100644
--- a/core/function-impl/mogo-core-function-devatools/src/main/res/layout/layout_badcase_manager.xml
+++ b/core/function-impl/mogo-core-function-devatools/src/main/res/layout/layout_badcase_manager.xml
@@ -1,11 +1,11 @@
-
+ android:id="@+id/clLayout"
+ >
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ app:layout_constraintTop_toBottomOf="@id/viewManagerTitleLine"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintLeft_toLeftOf="@id/viewManagerTitleLine"
+ android:visibility="gone"
+ >
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt
index 582699cdbf..daed3fa99b 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt
+++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt
@@ -106,6 +106,7 @@ import com.mogo.eagle.core.utilcode.util.*
import com.mogo.eagle.core.utilcode.util.TimeUtils
import com.mogo.eagle.core.utilcode.util.TimeUtils.millis2String
import com.zhidao.support.adas.high.common.MogoReport.Code.Error.EMAP.*
+import com.zhjt.mogo_core_function_devatools.badcase.biz.BadCaseManagerView
import com.zhjt.mogo_core_function_devatools.badcase.biz.SpaceWarningDialog
import com.zhjt.mogo_core_function_devatools.badcase.consts.BadCaseConfig
import com.zhjt.service_biz.BizConfig
@@ -142,6 +143,10 @@ class MoGoHmiFragment : MvpFragment(),
private var mSOPSettingViewFloat: WarningFloat.Builder? = null
private var mSOPSettingView: SOPSettingView? = null
+ //BadCaseManagerView
+ private var mBadCaseManagerViewFloat: WarningFloat.Builder ?= null
+ private var mBadCaseManagerView: BadCaseManagerView?= null
+
//StatusView
private var statusBarView: StatusBarView? = null
@@ -564,7 +569,8 @@ class MoGoHmiFragment : MvpFragment(),
override fun showBadCaseManagerView() {
dismissToolsFloatView()
- CallerDevaToolsManager.showBadCaseManagerView(it)
+// CallerDevaToolsManager.showBadCaseManagerView(it)
+ toggleBagManagerView()
}
})
}
@@ -839,6 +845,55 @@ class MoGoHmiFragment : MvpFragment(),
}
}
+ override fun toggleBagManagerView() {
+ activity?.let{
+ if (mBadCaseManagerViewFloat != null) {
+ WarningFloat.dismiss(mBadCaseManagerViewFloat!!.config.floatTag, false)
+ mBadCaseManagerViewFloat = null
+ mBadCaseManagerView = null
+ } else {
+ if (mBadCaseManagerView == null) {
+ mBadCaseManagerView = BadCaseManagerView(it)
+ mBadCaseManagerView?.setOnClickListener(object: BadCaseManagerView.ClickListener{
+ override fun onClose() {
+ toggleBagManagerView()
+ }
+ })
+ }
+ mBadCaseManagerViewFloat = WarningFloat.with(it)
+ .setTag("mBadCaseManagerView")
+ .setLayout(mBadCaseManagerView!!)
+ .setSidePattern(LEFT)
+ .setGravity(Gravity.LEFT, offsetY = 70)
+ .setImmersionStatusBar(false)
+ .setWindowHeight(LayoutParams.MATCH_PARENT)
+ .setAnimator(object : DefaultAnimator() {
+ override fun enterAnim(
+ view: View,
+ params: LayoutParams,
+ windowManager: WindowManager,
+ sidePattern: SidePattern
+ ): Animator? =
+ super.enterAnim(view, params, windowManager, sidePattern)
+ ?.apply {
+ interpolator = OvershootInterpolator()
+ }
+
+ override fun exitAnim(
+ view: View,
+ params: LayoutParams,
+ windowManager: WindowManager,
+ sidePattern: SidePattern
+ ): Animator? =
+ super.exitAnim(view, params, windowManager, sidePattern)
+ ?.setDuration(200)
+ })
+ .show()
+ }
+ }
+ }
+
+
/**
* 展示VR下V2X预警
*
diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/warning/IMoGoWaringProvider.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/warning/IMoGoWaringProvider.kt
index 122866ef06..bc1a7dadbb 100644
--- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/warning/IMoGoWaringProvider.kt
+++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/warning/IMoGoWaringProvider.kt
@@ -89,6 +89,11 @@ interface IMoGoWaringProvider : IMoGoHmiViewProxy {
*/
fun toggleSOPView()
+ /**
+ * 开关Bag包任务管理页面
+ */
+ fun toggleBagManagerView()
+
/**
* 展示VR下V2X预警
*