From 4727b24d4b48b22f8fe89d253272eeb5a6e06d58 Mon Sep 17 00:00:00 2001 From: EmArrow Date: Wed, 10 Jul 2024 14:50:37 +0800 Subject: [PATCH 1/2] =?UTF-8?q?[6.5.0]=20=E6=97=A0=E4=BA=BA=E5=8C=96?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=85=A8=E6=81=AF=E8=B7=AF=E5=8F=A3=E5=92=8C?= =?UTF-8?q?=E8=B7=AF=E5=8F=A3=E6=A6=82=E8=A7=88=E7=9A=84=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=EF=BC=8C=E5=A2=9E=E5=8A=A0=E5=88=87=E6=8D=A2tab=E9=9A=90?= =?UTF-8?q?=E8=97=8F=E5=85=83=E7=B4=A0=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/res/layout/bus_base_fragment.xml | 10 ----- .../layout/unmanned_taxi_base_fragment.xml | 18 ++++++++ .../res/layout/taxt_u_p_base_fragment.xml | 18 ++++++++ .../roadcross/RoadCrossCameraManager.kt | 12 +++++- .../core/function/view/RoadCrossRoamView.kt | 42 +++++++++++++++++-- .../api/hmi/view/IViewControlListener.kt | 4 ++ .../CallerHmiViewControlListenerManager.kt | 7 ++++ .../call/msgbox/CallerMsgBoxManager.kt | 4 +- .../map/overlay/MoGoOverlayManagerImpl.kt | 1 - 9 files changed, 97 insertions(+), 19 deletions(-) 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.* From 91e7d1b85711143aa79cebd28ea038a5e08be863 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Wed, 10 Jul 2024 14:54:11 +0800 Subject: [PATCH 2/2] =?UTF-8?q?[6.5.0]=20[fea]=20[=E6=98=AF=E5=90=A6?= =?UTF-8?q?=E5=B1=95=E7=A4=BA=E9=AB=98=E7=B2=BE=E5=9C=B0=E5=9B=BE]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.kt | 4 ++++ .../och/unmanned/passenger/ui/TaxiPassengerBaseFragment.kt | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.kt index b467795782..22042eb93d 100644 --- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.kt +++ b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.kt @@ -10,6 +10,7 @@ import com.alibaba.android.arouter.launcher.ARouter import com.mogo.commons.mvp.MvpFragment import com.mogo.commons.voice.AIAssist import com.mogo.eagle.core.function.call.hmi.CallerHmiManager +import com.mogo.eagle.core.function.call.hmi.CallerHmiViewControlListenerManager import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_TAXI_P @@ -112,6 +113,7 @@ class TaxiPassengerBaseFragment() : override fun onApplyClick(selectItem: BottomBar.SelectView) { when (selectItem) { BottomBar.SelectView.PRECISIONMAP -> { + CallerHmiViewControlListenerManager.invokeMainPageViewVisible(View.VISIBLE) overMapView.visibility = View.GONE mapBizView.visibility = View.VISIBLE presenter?.setItineraryVisibility() @@ -132,6 +134,7 @@ class TaxiPassengerBaseFragment() : CallerHmiManager.showTurnLightView() } BottomBar.SelectView.OVERMAPVIEW -> { + CallerHmiViewControlListenerManager.invokeMainPageViewVisible(View.GONE) overMapView.visibility = View.VISIBLE mapBizView.visibility = View.GONE presenter?.setItineraryVisibility() @@ -147,6 +150,7 @@ class TaxiPassengerBaseFragment() : CallerHmiManager.showTurnLightView() } BottomBar.SelectView.VIDEO -> { + CallerHmiViewControlListenerManager.invokeMainPageViewVisible(View.GONE) overMapView.visibility = View.GONE mapBizView.visibility = View.GONE presenter?.setItineraryVisibility() diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/TaxiPassengerBaseFragment.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/TaxiPassengerBaseFragment.kt index 550269a4b8..2780a758a7 100644 --- a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/TaxiPassengerBaseFragment.kt +++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/TaxiPassengerBaseFragment.kt @@ -11,6 +11,7 @@ import com.mogo.commons.mvp.MvpFragment import com.mogo.commons.voice.AIAssist import com.mogo.eagle.core.data.map.MogoLatLng import com.mogo.eagle.core.function.call.hmi.CallerHmiManager +import com.mogo.eagle.core.function.call.hmi.CallerHmiViewControlListenerManager import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_TAXI_P @@ -131,6 +132,7 @@ class TaxiPassengerBaseFragment() : override fun onApplyClick(selectItem: BottomBar.SelectView) { when (selectItem) { BottomBar.SelectView.PRECISIONMAP -> { + CallerHmiViewControlListenerManager.invokeMainPageViewVisible(View.VISIBLE) overMapView.visibility = View.GONE mapBizView.visibility = View.VISIBLE presenter?.setItineraryVisibility() @@ -151,6 +153,7 @@ class TaxiPassengerBaseFragment() : CallerHmiManager.showTurnLightView() } BottomBar.SelectView.OVERMAPVIEW -> { + CallerHmiViewControlListenerManager.invokeMainPageViewVisible(View.GONE) overMapView.visibility = View.VISIBLE mapBizView.visibility = View.GONE presenter?.setItineraryVisibility() @@ -166,6 +169,7 @@ class TaxiPassengerBaseFragment() : CallerHmiManager.showTurnLightView() } BottomBar.SelectView.VIDEO -> { + CallerHmiViewControlListenerManager.invokeMainPageViewVisible(View.GONE) overMapView.visibility = View.GONE mapBizView.visibility = View.GONE presenter?.setItineraryVisibility()