diff --git a/OCH/bus/driver/src/main/res/layout/bus_base_fragment.xml b/OCH/bus/driver/src/main/res/layout/bus_base_fragment.xml
index ba88783b21..ef1063f4fc 100644
--- a/OCH/bus/driver/src/main/res/layout/bus_base_fragment.xml
+++ b/OCH/bus/driver/src/main/res/layout/bus_base_fragment.xml
@@ -117,16 +117,6 @@
app:layout_goneMarginEnd="40dp"
app:layout_goneMarginTop="@dimen/dp_236" />
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
@@ -51,6 +60,15 @@ class RoadCrossRoamView @JvmOverloads constructor(
private var rotationAnim: ObjectAnimator? = null
private var lightMode = CallerSkinModeListenerManager.getMode() == 1
+ private val handler = object : Handler(Looper.getMainLooper()) {
+ override fun handleMessage(msg: Message) {
+ super.handleMessage(msg)
+ if (msg.what == MSG_HIDE_VIEW) {
+ detachView()
+ }
+ }
+ }
+
init {
val res = if (lightMode) {
R.layout.view_road_cross_roam_light
@@ -75,9 +93,17 @@ class RoadCrossRoamView @JvmOverloads constructor(
}
}
+ override fun mainPageViewVisible(v: Int) {
+ super.mainPageViewVisible(v)
+ if (v == View.GONE && this.visibility == View.VISIBLE) {
+ detachView()
+ }
+ }
+
override fun onAttachedToWindow() {
super.onAttachedToWindow()
CallerMapRoadListenerManager.addListener(TAG, this)
+ CallerHmiViewControlListenerManager.addListener(TAG, this)
}
private fun updateView(state: Boolean) {
@@ -93,11 +119,11 @@ class RoadCrossRoamView @JvmOverloads constructor(
override fun onStopLineInfo(info: StopLine) {
super.onStopLineInfo(info)
- if(info.distance == 0.0 || info.distance > 200){
+ if (info.distance == 0.0 || info.distance > 200) {
CallerLogger.d("$M_MAP$TAG", "showState return , distance is ${info.distance}")
return
}
- showState = info.distance <= 200 && info.distance > 100
+ showState = info.distance in 110.0..200.0
}
private fun attachView() {
@@ -115,7 +141,10 @@ class RoadCrossRoamView @JvmOverloads constructor(
mapRoamView.openRoam()
//播放语音
val dis = CallerMapRoadListenerManager.getStopLineDistance()?.toInt() ?: 0
- AIAssist.getInstance(context).speakTTSVoice("前方${dis}米将通过路口,蘑菇为您提供路口全息影像,助力出行")
+ if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) {
+ AIAssist.getInstance(context)
+ .speakTTSVoice("前方${dis}米将通过路口,蘑菇为您提供路口全息影像,助力出行")
+ }
lvRoadCrossRoamTip.adapter = RoadCrossRoamListAdapter(context, lightMode)
// 创建横向移动的动画
if (animator == null) {
@@ -145,12 +174,16 @@ class RoadCrossRoamView @JvmOverloads constructor(
} else {
tvRoadRoamTitle.setTextColor(context.getColor(R.color.white))
}
+ handler.sendEmptyMessageDelayed(MSG_HIDE_VIEW, MSG_HIDE_VIEW_TIME)
}
private fun detachView() {
if (this.visibility == View.GONE) {
return
}
+ if(handler.hasMessages(MSG_HIDE_VIEW)){
+ handler.removeMessages(MSG_HIDE_VIEW)
+ }
mapRoamView.closeRoam()
mapRoamView.visibility = View.GONE
CallerMapIdentifyManager.roam = Pair("", false)
@@ -169,6 +202,7 @@ class RoadCrossRoamView @JvmOverloads constructor(
ivZhiRoadRoamView.clearAnimation()
}
CallerMapRoadListenerManager.removeListener(TAG)
+ CallerHmiViewControlListenerManager.removeListener(TAG)
}
}
\ No newline at end of file
diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/view/IViewControlListener.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/view/IViewControlListener.kt
index bd06018d0a..0cd7fb81c2 100644
--- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/view/IViewControlListener.kt
+++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/view/IViewControlListener.kt
@@ -16,6 +16,10 @@ interface IViewControlListener {
}
+ fun mainPageViewVisible(v:Int){
+
+ }
+
/** --------- StatusBar --------- **/
/**
* 设置状态栏暗夜或明亮模式
diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiViewControlListenerManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiViewControlListenerManager.kt
index e1f0b3a2b2..b7c75a371b 100644
--- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiViewControlListenerManager.kt
+++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiViewControlListenerManager.kt
@@ -20,6 +20,13 @@ object CallerHmiViewControlListenerManager : CallerBase()
M_LISTENERS[tag]?.visible(v)
}
+ fun invokeMainPageViewVisible(v: Int) {
+ M_LISTENERS.forEach {
+ val listener = it.value
+ listener.mainPageViewVisible(v)
+ }
+ }
+
fun setStatusBarDarkOrLight(tag: String, light: Boolean) {
M_LISTENERS[tag]?.setStatusBarDarkOrLight(light)
}
diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/msgbox/CallerMsgBoxManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/msgbox/CallerMsgBoxManager.kt
index 0ee40a2d7e..2124075422 100644
--- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/msgbox/CallerMsgBoxManager.kt
+++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/msgbox/CallerMsgBoxManager.kt
@@ -26,14 +26,14 @@ object CallerMsgBoxManager {
*/
fun saveMsgBox(bean: MsgBoxBean) {
CallerTrace.write(TAG,bean)
- providerApi?.saveMsg(bean)
+ providerApi?.saveMsg(bean) //todo emArrow test
}
/**
* 存储含有pb的数据到消息盒子(区别与上述方法中的trace write)
*/
fun saveMsgBoxHasPB(bean: MsgBoxBean){
- providerApi?.saveMsg(bean)
+ providerApi?.saveMsg(bean) //todo emArrow test
}
/**
diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/overlay/MoGoOverlayManagerImpl.kt b/libraries/mogo-map/src/main/java/com/mogo/map/overlay/MoGoOverlayManagerImpl.kt
index 9ec324879b..0854fd3185 100644
--- a/libraries/mogo-map/src/main/java/com/mogo/map/overlay/MoGoOverlayManagerImpl.kt
+++ b/libraries/mogo-map/src/main/java/com/mogo/map/overlay/MoGoOverlayManagerImpl.kt
@@ -5,7 +5,6 @@ import android.view.View
import com.mogo.eagle.core.data.map.*
import com.mogo.eagle.core.function.call.autopilot.*
import com.mogo.eagle.core.utilcode.util.*
-import com.mogo.map.MogoMap
import com.mogo.map.overlay.point.Point.Options
import com.mogo.map.MogoMap.Companion.mapInstance
import com.mogo.map.overlay.core.*