[6.6.0][状态栏] refactor: 退出登录时关闭 FSM 异常弹框、状态栏总结弹框;

This commit is contained in:
aibingbing
2024-09-09 20:29:36 +08:00
parent eff13d2032
commit 612e4795cd
6 changed files with 41 additions and 2 deletions

View File

@@ -213,6 +213,8 @@ abstract class FacadeProvider : IMoGoFunctionProvider, ILoginCallback {
CallerHmiManager.hideToolsView()
ToggleDebugView.toggleDebugView.dismiss()
SopView.sopView.dismiss()
CallerHmiManager.dismissFSMStatusDetailWindow()
CallerHmiManager.hideStatusSummaryDialog()
commonService?.resetFragment()
val fragment = LoginStatusManager.getFragment()
val supportFragmentManager: FragmentManager? = activity?.supportFragmentManager

View File

@@ -4,10 +4,13 @@ import android.content.Context
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener
import com.mogo.eagle.core.function.api.autopilot.IMoGoFsm2024Listener
import com.mogo.eagle.core.function.api.autopilot.IMoGoNodeStateListener
import com.mogo.eagle.core.function.api.order.IOrderListener
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager
import com.mogo.eagle.core.function.call.autopilot.CallerFsm2024ListenerManager
import com.mogo.eagle.core.function.call.autopilot.CallerNodeStateListenerManager
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager
import com.mogo.eagle.core.function.call.order.CallerOrderListenerManager
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_DEVA
import com.zhjt.mogo.adas.data.AdasConstants
@@ -21,7 +24,7 @@ import kotlinx.coroutines.launch
import java.util.concurrent.atomic.AtomicReference
internal class FSMImpl(ctx: Context) : IFlow<FSMStatus>(ctx), IMoGoAutopilotStatusListener,
IMoGoFsm2024Listener, IMoGoNodeStateListener {
IMoGoFsm2024Listener, IMoGoNodeStateListener, IOrderListener {
companion object {
const val TAG = "FSMImpl"
@@ -73,8 +76,8 @@ internal class FSMImpl(ctx: Context) : IFlow<FSMStatus>(ctx), IMoGoAutopilotStat
CallerAutoPilotStatusListenerManager.addListener(TAG, this)
CallerFsm2024ListenerManager.addListener(TAG, this)
CallerNodeStateListenerManager.addNodeStateListener(TAG, setOf(AdasConstants.NodeName.FSM2024), this)
CallerOrderListenerManager.addListener(TAG, this)
}
override fun onAutopilotIpcConnectStatusChanged(
status: AdasConstants.IpcConnectionStatus,
reason: String?
@@ -124,11 +127,20 @@ internal class FSMImpl(ctx: Context) : IFlow<FSMStatus>(ctx), IMoGoAutopilotStat
}
}
override fun onLoginStatusUpdate(isLogin: Boolean) {
super.onLoginStatusUpdate(isLogin)
if (!isLogin) {
CallerLogger.d(TAG, "onLoginStatusUpdate isLogin=$isLogin")
CallerHmiManager.dismissFSMStatusDetailWindow()
}
}
override fun onDestroy() {
super.onDestroy()
CallerLogger.d("$M_DEVA$TAG", "-- onDestroy --")
CallerAutoPilotStatusListenerManager.removeListener(TAG)
CallerFsm2024ListenerManager.removeListener(TAG)
CallerNodeStateListenerManager.removeNodeStateListener(TAG)
CallerOrderListenerManager.removeListener(TAG)
}
}

View File

@@ -361,6 +361,10 @@ class MoGoHmiProvider : IMoGoHmiProvider {
context?.let { StatusView.statusView.toggle(it) }
}
override fun hideStatusSummaryDialog() {
context?.let { StatusView.statusView.toggle(it) }
}
/**
* 展示红绿灯
*/

View File

@@ -8,6 +8,8 @@ import android.view.WindowManager
import android.view.animation.OvershootInterpolator
import com.mogo.eagle.core.data.enums.SidePattern
import com.mogo.eagle.core.data.status.StatusSummaryEntity
import com.mogo.eagle.core.function.api.order.IOrderListener
import com.mogo.eagle.core.function.call.order.CallerOrderListenerManager
import com.mogo.eagle.core.function.hmi.notification.WarningFloat
import com.mogo.eagle.core.function.hmi.notification.anim.DefaultAnimator
import com.mogo.eagle.core.utilcode.util.BarUtils
@@ -22,12 +24,25 @@ class StatusView private constructor() {
private var mStatusSummaryViewFloat: WarningFloat.Builder? = null
private var mStatusSummaryView: StatusSummaryView? = null
companion object {
const val TAG = "StatusSummaryView"
val statusView by lazy(LazyThreadSafetyMode.SYNCHRONIZED) {
StatusView()
}
}
init {
CallerOrderListenerManager.addListener(TAG, object : IOrderListener{
override fun onLoginStatusUpdate(isLogin: Boolean) {
super.onLoginStatusUpdate(isLogin)
if (!isLogin) {
dismiss()
}
}
})
}
fun toggle(context: Context, gravity: Int = Gravity.RIGHT, sidePattern: SidePattern = SidePattern.RIGHT) {
if (mStatusSummaryViewFloat != null) {
dismiss()

View File

@@ -169,6 +169,8 @@ interface IMoGoHmiProvider :IProvider{
fun showStatusSummaryDialog()
fun hideStatusSummaryDialog()
/**
* 展示红绿灯
*/

View File

@@ -258,6 +258,10 @@ object CallerHmiManager {
hmiProviderApi?.showStatusSummaryDialog()
}
fun hideStatusSummaryDialog() {
hmiProviderApi?.hideStatusSummaryDialog()
}
/**
* 展示红绿灯
*/