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预警 *