From 16ff1f3136bbfd8d33519e3e6a694787e2fed5bc Mon Sep 17 00:00:00 2001 From: aibingbing Date: Sat, 14 Sep 2024 17:13:05 +0800 Subject: [PATCH] =?UTF-8?q?[6.7.0][FSM]=20feat:=20=E5=A2=9E=E5=8A=A0=20FSM?= =?UTF-8?q?=20=E5=BC=82=E5=B8=B8=E5=BC=B9=E6=A1=86=EF=BC=8C=E5=90=8C?= =?UTF-8?q?=E6=97=B6=E5=B1=95=E7=A4=BA=E5=AE=9E=E6=97=B6=20FSM=20=E7=8A=B6?= =?UTF-8?q?=E6=80=81=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hmi/ui/setting/FSMStatusDetailView.kt | 50 ----------- .../setting/FSMStatusDetailWindowManager.kt | 88 ------------------- 2 files changed, 138 deletions(-) delete mode 100644 core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/FSMStatusDetailView.kt delete mode 100644 core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/FSMStatusDetailWindowManager.kt diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/FSMStatusDetailView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/FSMStatusDetailView.kt deleted file mode 100644 index b7ea28758e..0000000000 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/FSMStatusDetailView.kt +++ /dev/null @@ -1,50 +0,0 @@ -package com.mogo.eagle.core.function.hmi.ui.setting - -import android.content.Context -import android.graphics.Color -import android.text.method.ScrollingMovementMethod -import android.util.AttributeSet -import android.view.LayoutInflater -import android.widget.FrameLayout -import android.widget.TextView -import com.mogo.eagle.core.function.hmi.R - -/** - * FSM状态展示 View - */ -class FSMStatusDetailView @JvmOverloads constructor( - context: Context, - attrs: AttributeSet? = null, - defStyleAttr: Int = 0 -) : FrameLayout( - context, - attrs, - defStyleAttr -) { - companion object { - private const val TAG = "FSMStatusView" - } - - private var tvTitle: TextView? = null - private var tvContent: TextView? = null - - init { - LayoutInflater.from(context).inflate(R.layout.view_status_fsm_layout, this, true) - initView() - } - - private fun initView() { - tvTitle = findViewById(R.id.tvTitle) - tvContent = findViewById(R.id.tvContent) - tvContent?.movementMethod = ScrollingMovementMethod.getInstance() - } - - fun setFsmMsg(title: String, titleColor: String , content: String) { - tvTitle?.text = title - tvContent?.text = content - runCatching { - val c = Color.parseColor(titleColor) - tvTitle?.setTextColor(c) - } - } -} \ 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/setting/FSMStatusDetailWindowManager.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/FSMStatusDetailWindowManager.kt deleted file mode 100644 index ada37cbee9..0000000000 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/FSMStatusDetailWindowManager.kt +++ /dev/null @@ -1,88 +0,0 @@ -package com.mogo.eagle.core.function.hmi.ui.setting - -import android.animation.Animator -import android.content.Context -import android.view.Gravity -import android.view.View -import android.view.WindowManager -import android.view.animation.OvershootInterpolator -import com.mogo.eagle.core.data.enums.SidePattern -import com.mogo.eagle.core.function.hmi.notification.WarningFloat -import com.mogo.eagle.core.function.hmi.notification.anim.DefaultAnimator -import me.jessyan.autosize.utils.AutoSizeUtils - -/** - * FSM 状态弹框管理类 - */ -class FSMStatusDetailWindowManager private constructor() { - - private var mFSMStatusViewFloat: WarningFloat.Builder? = null - private var mFSMStatusDetailView: FSMStatusDetailView? = null - - companion object { - val fsmStatusDetailWindowManager by lazy(LazyThreadSafetyMode.SYNCHRONIZED) { - FSMStatusDetailWindowManager() - } - } - - fun show( - context: Context, title: String, titleColor: String, content: String - ) { - if (mFSMStatusDetailView == null) { - mFSMStatusDetailView = FSMStatusDetailView(context) - } - if (mFSMStatusViewFloat?.isShow() == true) { - mFSMStatusDetailView?.apply { - setFsmMsg(title, titleColor, content) - } - } else { - mFSMStatusDetailView?.apply { - setFsmMsg(title, titleColor, content) - } - mFSMStatusViewFloat = WarningFloat.with(context) - .setTag("FSMStatusView") - .setLayout(mFSMStatusDetailView!!) - .setSidePattern(SidePattern.RIGHT) - .setGravity( - Gravity.RIGHT, - offsetY = AutoSizeUtils.dp2px(context, 112f), - offsetX = AutoSizeUtils.dp2px(context, (214f) * -1L) - ) - .setImmersionStatusBar(false) - .slideDel(false) - .setWindowHeight(WindowManager.LayoutParams.WRAP_CONTENT) - .setWindowWidth(AutoSizeUtils.dp2px(context, 538f)) - .setAnimator(object : DefaultAnimator() { - override fun enterAnim( - view: View, - params: WindowManager.LayoutParams, - windowManager: WindowManager, - sidePattern: SidePattern - ): Animator? = - super.enterAnim(view, params, windowManager, sidePattern) - ?.apply { - interpolator = OvershootInterpolator() - } - - override fun exitAnim( - view: View, - params: WindowManager.LayoutParams, - windowManager: WindowManager, - sidePattern: SidePattern - ): Animator? { - mFSMStatusViewFloat = null - mFSMStatusDetailView = null - return super.exitAnim(view, params, windowManager, sidePattern) - ?.setDuration(200) - } - }) - .show() - } - } - - fun dismiss() { - mFSMStatusViewFloat?.let { - WarningFloat.dismiss(it.config.floatTag, false) - } - } -} \ No newline at end of file