From 3eda2a0ffd94ffb3336287d377e8d8369b39b800 Mon Sep 17 00:00:00 2001 From: chenfufeng Date: Fri, 27 Sep 2024 15:08:51 +0800 Subject: [PATCH 1/6] =?UTF-8?q?[6.7.0][Opt]=E8=A1=8C=E7=A8=8B=E6=80=BB?= =?UTF-8?q?=E8=A7=88=E9=A1=B5=E5=8F=B3=E4=B8=8B=E8=A7=92=E5=B0=8F=E5=9B=BE?= =?UTF-8?q?=E6=A0=87=E5=8A=A0=E9=98=B4=E5=BD=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../function/hmi/map/MapContainerLayout.kt | 94 +++++++++++++----- .../main/res/drawable-xhdpi/gaojing_bg.png | Bin 109030 -> 97655 bytes .../main/res/layout/view_map_container.xml | 11 +- .../core/function/view/TravelRealityView.kt | 6 +- 4 files changed, 78 insertions(+), 33 deletions(-) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/map/MapContainerLayout.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/map/MapContainerLayout.kt index 2c3208ed3d..5fadbead40 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/map/MapContainerLayout.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/map/MapContainerLayout.kt @@ -9,7 +9,10 @@ import android.os.Bundle import android.util.AttributeSet import android.view.LayoutInflater import android.view.View +import android.view.animation.AccelerateDecelerateInterpolator import androidx.constraintlayout.widget.ConstraintLayout +import androidx.core.view.marginStart +import androidx.core.view.marginTop import com.mogo.eagle.core.data.map.MogoLatLng import com.mogo.eagle.core.function.api.order.IOrderListener import com.mogo.eagle.core.function.call.order.CallerOrderListenerManager @@ -31,6 +34,14 @@ class MapContainerLayout @JvmOverloads constructor( @Volatile private var isScaled = false private var isPlayingAnim = false + private var mapMinWidth = 0 + private var mapMinHeight = 0 + private var mapMaxWidth = 0 + private var mapMaxHeight = 0 + private var maxMarginStart = 0 + private var maxMarginTop = 0 + + private var valueAnimator: ValueAnimator? = null init { LayoutInflater.from(context).inflate(R.layout.view_map_container, this, true) @@ -69,15 +80,37 @@ class MapContainerLayout @JvmOverloads constructor( overMapView.onDestroy() } + override fun onWindowFocusChanged(hasWindowFocus: Boolean) { + super.onWindowFocusChanged(hasWindowFocus) + if (hasWindowFocus) { + if (mapMaxWidth == 0 && maxMarginStart == 0) { + calculate() + } + } + } + + private fun calculate() { + mapMaxWidth = width + mapMaxHeight = height + mapMinWidth = overMapView.width + mapMinHeight = overMapView.height + maxMarginStart = overMapView.marginStart + maxMarginTop = overMapView.marginTop + } + override fun onAttachedToWindow() { super.onAttachedToWindow() - MogoMapListenerHandler.mogoMapListenerHandler.registerHostMapListener("${TAG}${this.hashCode()}",this) + MogoMapListenerHandler.mogoMapListenerHandler.registerHostMapListener( + "${TAG}${this.hashCode()}", + this + ) CallerOrderListenerManager.addListener("${TAG}${this.hashCode()}", this) } override fun onDetachedFromWindow() { super.onDetachedFromWindow() MogoMapListenerHandler.mogoMapListenerHandler.unregisterHostMapListener("${TAG}${this.hashCode()}") + valueAnimator?.removeAllListeners() } private fun initView() { @@ -103,38 +136,45 @@ class MapContainerLayout @JvmOverloads constructor( private fun scaleMapWithAnim() { if (isPlayingAnim) return + if (mapMaxWidth == 0 && maxMarginStart == 0 && !isScaled) { + calculate() + } if (!isScaled) { - val valueAnimator = ValueAnimator.ofInt(270, 1560) + valueAnimator = ValueAnimator.ofInt(mapMinWidth, mapMaxWidth) val evaluator = IntEvaluator() - valueAnimator.addUpdateListener { - overMapView.layoutParams = (overMapView.layoutParams as LayoutParams).also { layoutParams -> - layoutParams.width = it.animatedValue as Int - layoutParams.height = evaluator.evaluate(it.animatedFraction, 270, 1534) - layoutParams.leftMargin = evaluator.evaluate(it.animatedFraction, 1230, 0) - layoutParams.topMargin = evaluator.evaluate(it.animatedFraction, 1204, 0) - } + valueAnimator?.addUpdateListener { + overMapView.layoutParams = + (overMapView.layoutParams as LayoutParams).also { layoutParams -> + layoutParams.width = it.animatedValue as Int + layoutParams.height = evaluator.evaluate(it.animatedFraction, mapMinHeight, mapMaxHeight) + layoutParams.leftMargin = evaluator.evaluate(it.animatedFraction, maxMarginStart, 0) + layoutParams.topMargin = evaluator.evaluate(it.animatedFraction, maxMarginTop, 0) + } } - valueAnimator.addListener(listenerAdapter) - valueAnimator.duration = 350 - valueAnimator.start() + valueAnimator?.interpolator = AccelerateDecelerateInterpolator() + valueAnimator?.addListener(listenerAdapter) + valueAnimator?.duration = 400 + valueAnimator?.start() } else { - val valueAnimator = ValueAnimator.ofInt(1560, 270) + valueAnimator = ValueAnimator.ofInt(mapMaxWidth, mapMinWidth) val evaluator = IntEvaluator() - valueAnimator.addUpdateListener { - overMapView.layoutParams = (overMapView.layoutParams as LayoutParams).also { layoutParams -> - layoutParams.width = it.animatedValue as Int - layoutParams.height = evaluator.evaluate(it.animatedFraction, 1534, 270) - layoutParams.leftMargin = evaluator.evaluate(it.animatedFraction, 0, 1230) - layoutParams.topMargin = evaluator.evaluate(it.animatedFraction, 0, 1204) - } + valueAnimator?.addUpdateListener { + overMapView.layoutParams = + (overMapView.layoutParams as LayoutParams).also { layoutParams -> + layoutParams.width = it.animatedValue as Int + layoutParams.height = evaluator.evaluate(it.animatedFraction, mapMaxHeight, mapMinHeight) + layoutParams.leftMargin = evaluator.evaluate(it.animatedFraction, 0, maxMarginStart) + layoutParams.topMargin = evaluator.evaluate(it.animatedFraction, 0, maxMarginTop) + } } - valueAnimator.addListener(listenerAdapter) - valueAnimator.duration = 350 - valueAnimator.start() + valueAnimator?.interpolator = AccelerateDecelerateInterpolator() + valueAnimator?.addListener(listenerAdapter) + valueAnimator?.duration = 400 + valueAnimator?.start() } } - private val listenerAdapter = object : AnimatorListenerAdapter() { + private val listenerAdapter = object : AnimatorListenerAdapter() { override fun onAnimationStart(animation: Animator) { super.onAnimationStart(animation) isPlayingAnim = true @@ -150,7 +190,8 @@ class MapContainerLayout @JvmOverloads constructor( if (isScaled) { visualAngleToggle?.takeIf { it.visibility == View.VISIBLE }?.visibility = View.GONE } else { - visualAngleToggle?.takeIf { it.visibility != View.VISIBLE }?.visibility = View.VISIBLE + visualAngleToggle?.takeIf { it.visibility != View.VISIBLE }?.visibility = + View.VISIBLE } } @@ -163,7 +204,8 @@ class MapContainerLayout @JvmOverloads constructor( if (isScaled) { visualAngleToggle?.takeIf { it.visibility == View.VISIBLE }?.visibility = View.GONE } else { - visualAngleToggle?.takeIf { it.visibility != View.VISIBLE }?.visibility = View.VISIBLE + visualAngleToggle?.takeIf { it.visibility != View.VISIBLE }?.visibility = + View.VISIBLE } } } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/gaojing_bg.png b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/gaojing_bg.png index e866b67c878d47714c6c738914be8df95f8f8b4f..a8540cd69adb5d9a6d49bea825895b40f91b977c 100644 GIT binary patch literal 97655 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

4O%0O=NY{wJPVnKOfarORXQE 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 + app:layout_constraintEnd_toEndOf="parent" + /> \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/TravelRealityView.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/TravelRealityView.kt index c074825a1b..7f6e382b0c 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/TravelRealityView.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/TravelRealityView.kt @@ -447,6 +447,8 @@ class TravelRealityView @JvmOverloads constructor( ) // 设置自定义样式 mAMap?.setCustomMapStyle(customMapStyleOptions1) + mAMap?.uiSettings?.isZoomControlsEnabled = false + mAMap?.uiSettings?.setLogoBottomMargin(-150) } mAMap?.setAMapGestureListener(gestListener) } @@ -468,7 +470,7 @@ class TravelRealityView @JvmOverloads constructor( //设置希望展示的地图缩放级别 val loc = CallerChassisLocationGCJ02ListenerManager.getChassisLocationGCJ02() if (loc.latitude.toInt() == 0 || loc.longitude.toInt() == 0) { - moveMapCamera(CameraUpdateFactory.zoomTo(14f)) + moveMapCamera(CameraUpdateFactory.zoomTo(17f)) } else { moveMapCamera(CameraUpdateFactory.newLatLngZoom( coordinateConverterWgsToGcj( @@ -540,7 +542,7 @@ class TravelRealityView @JvmOverloads constructor( if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) { if (isSmallMap) { this.outlineProvider = TextureVideoViewOutlineProvider( - AutoSizeUtils.dp2px(context, 32f) + AutoSizeUtils.dp2px(context, 38f) .toFloat() ) this.clipToOutline = true From 7022bede4638179bac7052e348d5cd5c97d0a05f Mon Sep 17 00:00:00 2001 From: yangyakun Date: Fri, 27 Sep 2024 15:36:11 +0800 Subject: [PATCH 2/6] =?UTF-8?q?[6.7.0]=20[fea]=20[=E6=B7=BB=E5=8A=A0ochdeb?= =?UTF-8?q?ug=E6=A8=A1=E5=BC=8F]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/mogo/och/biz/login/model/LoginModel.kt | 3 +++ .../com/mogo/och/biz/login/net/OchCommonServiceManager.kt | 3 +++ .../common/module/network/interceptor/FRetryWithTime.kt | 2 +- .../main/java/com/mogo/och/facade/route/FacadeProvider.kt | 2 +- .../com/mogo/eagle/core/data/config/FunctionBuildConfig.kt | 7 +++++++ 5 files changed, 15 insertions(+), 2 deletions(-) diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/LoginModel.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/LoginModel.kt index 9a96e158a0..332303bbf8 100644 --- a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/LoginModel.kt +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/LoginModel.kt @@ -173,6 +173,9 @@ object LoginModel { mContext?.let { queryDriverServiceStatus(it, object : OchCommonServiceCallback { override fun onSuccess(data: DriverStatusQueryRespBean?) { + if(FunctionBuildConfig.ochdebug){ + return + } if (null != data && 0 == data.code) { // 不用登录也可以获得支持的业务模式 LoginStatusManager.setBusinessType(data.data.businessType) diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/net/OchCommonServiceManager.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/net/OchCommonServiceManager.kt index 7c26baa06a..d687e25ca5 100644 --- a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/net/OchCommonServiceManager.kt +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/net/OchCommonServiceManager.kt @@ -145,6 +145,9 @@ object OchCommonServiceManager { CallerLogger.d(TAG, "queryDriverServiceStatus:查询登录状态 没有有效的sn"); return } + if(FunctionBuildConfig.ochdebug){ + return + } if (ProjectUtils.isMogo()) { ochLoginServiceMogo.queryDriverServiceStatusAndLoginStatus( MoGoAiCloudClientConfig.getInstance().serviceAppId, diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/network/interceptor/FRetryWithTime.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/network/interceptor/FRetryWithTime.kt index 4c8aa34024..eabefa8ed7 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/network/interceptor/FRetryWithTime.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/network/interceptor/FRetryWithTime.kt @@ -18,7 +18,7 @@ class FRetryWithTime : Function> { MoGoAiCloudClient.getInstance().refreshToken() return Observable.error(OchCommonRetryException()) }else if(it.code == 1003){ - if(!FunctionBuildConfig.isOffLine){ + if(!FunctionBuildConfig.isOffLine&&!FunctionBuildConfig.ochdebug){ if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) { LoginStatusManager.setLoginStatus(LoginStatusEnum.Logout) } diff --git a/OCH/facade/src/main/java/com/mogo/och/facade/route/FacadeProvider.kt b/OCH/facade/src/main/java/com/mogo/och/facade/route/FacadeProvider.kt index 5f90dfd11b..04def142ee 100644 --- a/OCH/facade/src/main/java/com/mogo/och/facade/route/FacadeProvider.kt +++ b/OCH/facade/src/main/java/com/mogo/och/facade/route/FacadeProvider.kt @@ -231,7 +231,7 @@ abstract class FacadeProvider : IMoGoFunctionProvider, ILoginCallback { removeStatusBar() } else { onBusinessChange(businessEnum) - FunctionBuildConfig.isOffLine = true + FunctionBuildConfig.ochdebug = true LoginStatusManager.setLoginStatus(LoginStatusEnum.Login) val supportFragmentManager: FragmentManager? = activity?.supportFragmentManager val fragment = getFragment() diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/FunctionBuildConfig.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/FunctionBuildConfig.kt index 7553f286bd..99712f20a2 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/FunctionBuildConfig.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/FunctionBuildConfig.kt @@ -145,6 +145,13 @@ object FunctionBuildConfig { @JvmField var isOffLine = false + /** + * 是否是离线模式 + */ + @Volatile + @JvmField + var ochdebug = false + @Volatile @JvmField From 421410090ba598ea5a29e107f198f9764f14ce2e Mon Sep 17 00:00:00 2001 From: yangyakun Date: Fri, 27 Sep 2024 15:36:52 +0800 Subject: [PATCH 3/6] =?UTF-8?q?[6.7.0]=20[fea]=20[itemclic=20=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E8=BF=87=E6=BB=A4=E6=9D=A1=E4=BB=B6]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogo/och/weaknet/ui/fragment/ShuttleFragment.kt | 4 +++- .../java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java | 10 ++++++---- .../och/unmanned/taxi/ui/base/BaseTaxiTabFragment.kt | 10 ++++++---- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/fragment/ShuttleFragment.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/fragment/ShuttleFragment.kt index 609159c0d5..e8766bb431 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/fragment/ShuttleFragment.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/fragment/ShuttleFragment.kt @@ -61,7 +61,9 @@ class ShuttleFragment : MvpFragment() { CallerEagleBaseFunctionCall4OchManager.addToolKitDefaultItemClickListener(runningTaskGateWay,object : IToolKitItemClickListener{ override fun onItemClick(toolTag: String, ctx: Context?) { - RunningTaskManager.showBadCaseConfigWindow(it) + if(toolTag==runningTaskGateWay) { + RunningTaskManager.showBadCaseConfigWindow(it) + } } }) CallerEagleBaseFunctionCall4OchManager.addSingleToolKitCustomItem(lineView, LineView(it),10) diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java index cee8353a29..f079111cd4 100644 --- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java +++ b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java @@ -191,10 +191,12 @@ public abstract class BaseTaxiTabFragment(new TaxiPersonalDialogFragment()); - FragmentActivity activity = getActivity(); - if (activity != null) { - personalDialogFragment.get().show(activity.getSupportFragmentManager(), "service_data"); + if(toolTag==runningTaskGateWay) { + personalDialogFragment = new WeakReference<>(new TaxiPersonalDialogFragment()); + FragmentActivity activity = getActivity(); + if (activity != null) { + personalDialogFragment.get().show(activity.getSupportFragmentManager(), "service_data"); + } } } }); diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/base/BaseTaxiTabFragment.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/base/BaseTaxiTabFragment.kt index b1444dc508..70b3d5cc7a 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/base/BaseTaxiTabFragment.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/base/BaseTaxiTabFragment.kt @@ -202,10 +202,12 @@ abstract class BaseTaxiTabFragment> : MvpFragment Date: Fri, 27 Sep 2024 16:07:34 +0800 Subject: [PATCH 4/6] =?UTF-8?q?[6.7.0]=E6=B6=88=E6=81=AF=E7=9B=92=E5=AD=90?= =?UTF-8?q?UI=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...MsgBoxBubbleView.kt => MsgBoxToastView.kt} | 18 +- .../ui/msgbox/adapter/MsgBoxBubbleAdapter.kt | 484 ------------------ .../ui/msgbox/adapter/MsgBoxToastAdapter.kt | 346 +++++++++++++ .../main/res/drawable/bg_msg_box_toast.9.png | Bin 0 -> 15028 bytes .../main/res/layout/item_msg_toast_v2x.xml | 50 ++ .../main/res/layout/view_map_container.xml | 2 +- .../src/main/res/values/strings.xml | 2 + 7 files changed, 406 insertions(+), 496 deletions(-) rename core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/{MsgBoxBubbleView.kt => MsgBoxToastView.kt} (93%) delete mode 100644 core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/MsgBoxBubbleAdapter.kt create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/MsgBoxToastAdapter.kt create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/drawable/bg_msg_box_toast.9.png create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_msg_toast_v2x.xml diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/MsgBoxBubbleView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/MsgBoxToastView.kt similarity index 93% rename from core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/MsgBoxBubbleView.kt rename to core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/MsgBoxToastView.kt index 24a9ce8433..c90d693762 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/MsgBoxBubbleView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/MsgBoxToastView.kt @@ -16,29 +16,25 @@ import com.mogo.eagle.core.data.msgbox.MsgBoxCountDownBean import com.mogo.eagle.core.data.msgbox.MsgBoxType import com.mogo.eagle.core.data.msgbox.MsgCategory import com.mogo.eagle.core.data.msgbox.MsgFmData -import com.mogo.eagle.core.function.api.autopilot.IMoGoNodeStateListener import com.mogo.eagle.core.function.api.datacenter.msgbox.IMsgBoxListener import com.mogo.eagle.core.function.api.order.IOrderListener import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager -import com.mogo.eagle.core.function.call.autopilot.CallerNodeStateListenerManager import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxEventListenerManager import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxListenerManager import com.mogo.eagle.core.function.call.order.CallerOrderListenerManager import com.mogo.eagle.core.function.hmi.R -import com.mogo.eagle.core.function.hmi.ui.msgbox.adapter.MsgBoxBubbleAdapter +import com.mogo.eagle.core.function.hmi.ui.msgbox.adapter.MsgBoxToastAdapter import com.mogo.eagle.core.function.msgbox.MsgBoxConfig import com.mogo.eagle.core.utilcode.util.SoundPoolUtils import com.mogo.eagle.core.utilcode.util.UiThreadHandler -import com.zhjt.mogo.adas.data.bean.NodeStateInfo -import kotlinx.android.synthetic.main.layout_driver_msg_box_bubble.view.clMsgBubbleLayout import kotlinx.android.synthetic.main.layout_msg_box_bubble.view.llMsgBubbleLayout import kotlinx.android.synthetic.main.layout_msg_box_bubble.view.rvBubbleList /** * 司机端消息盒子气泡视图改版视图 */ -class MsgBoxBubbleView @JvmOverloads constructor( +class MsgBoxToastView @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0 @@ -49,7 +45,7 @@ class MsgBoxBubbleView @JvmOverloads constructor( initView() } - var msgBoxBubbleAdapter: MsgBoxBubbleAdapter ?= null + var msgBoxToastAdapter: MsgBoxToastAdapter ?= null private val TAG = "MsgBoxBubbleView" private val dataList :ArrayList = ArrayList() @@ -62,8 +58,8 @@ class MsgBoxBubbleView @JvmOverloads constructor( linearLayoutManager.orientation = LinearLayoutManager.VERTICAL linearLayoutManager.stackFromEnd = true linearLayoutManager.reverseLayout = true - msgBoxBubbleAdapter = MsgBoxBubbleAdapter(context as Activity) - msgBoxBubbleAdapter?.setChangeListener(object : MsgBoxBubbleAdapter.ChangeViewListener{ + msgBoxToastAdapter = MsgBoxToastAdapter(context as Activity) + msgBoxToastAdapter?.setChangeListener(object : MsgBoxToastAdapter.ChangeViewListener{ override fun notifyView() { if(dataList.isEmpty()){ llMsgBubbleLayout.visibility = View.GONE @@ -71,7 +67,7 @@ class MsgBoxBubbleView @JvmOverloads constructor( } }) - rvBubbleList.adapter = msgBoxBubbleAdapter + rvBubbleList.adapter = msgBoxToastAdapter rvBubbleList.layoutManager = linearLayoutManager } @@ -200,7 +196,7 @@ class MsgBoxBubbleView @JvmOverloads constructor( llMsgBubbleLayout.visibility = View.VISIBLE val msgBoxCountDownBean = MsgBoxCountDownBean(msgBoxBean) dataList.add(msgBoxCountDownBean) - msgBoxBubbleAdapter?.setData(dataList) + msgBoxToastAdapter?.setData(dataList) } } \ 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/msgbox/adapter/MsgBoxBubbleAdapter.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/MsgBoxBubbleAdapter.kt deleted file mode 100644 index 2bb05b64b3..0000000000 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/MsgBoxBubbleAdapter.kt +++ /dev/null @@ -1,484 +0,0 @@ -package com.mogo.eagle.core.function.hmi.ui.msgbox.adapter - -import android.app.Activity -import android.os.CountDownTimer -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import android.widget.ImageView -import android.widget.TextView -import androidx.constraintlayout.widget.ConstraintLayout -import androidx.core.content.res.ResourcesCompat -import androidx.recyclerview.widget.RecyclerView -import com.mogo.eagle.core.data.deva.report.ReportEntity -import com.mogo.eagle.core.data.enums.DataSourceType -import com.mogo.eagle.core.data.enums.EventTypeEnumNew -import com.mogo.eagle.core.data.msgbox.AutopilotMsg -import com.mogo.eagle.core.data.msgbox.FMInfoMsg -import com.mogo.eagle.core.data.msgbox.FSMMsg -import com.mogo.eagle.core.data.msgbox.MsgBoxCountDownBean -import com.mogo.eagle.core.data.msgbox.MsgBoxType -import com.mogo.eagle.core.data.msgbox.MsgFmData -import com.mogo.eagle.core.data.msgbox.NoticeFrCloudMsg -import com.mogo.eagle.core.data.msgbox.OperationMsg -import com.mogo.eagle.core.data.msgbox.SSMMsg -import com.mogo.eagle.core.data.msgbox.V2XMsg -import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager -import com.mogo.eagle.core.function.call.hmi.CallerHmiManager -import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxEventListenerManager -import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager -import com.mogo.eagle.core.function.hmi.R -import com.mogo.eagle.core.utilcode.mogo.glide.GlideApp -import com.mogo.eagle.core.utilcode.mogo.glide.transform.GlideRoundedCornersTransform -import com.mogo.eagle.core.utilcode.util.ResourceUtils.getDrawable -import com.mogo.eagle.core.utilcode.util.TimeUtils -import com.mogo.eagle.core.utilcode.util.TimeUtils.getHourMinFormat -import com.mogo.eagle.core.widget.RoundCanClickConstraintLayout - -class MsgBoxBubbleAdapter(private val activity: Activity) : RecyclerView.Adapter() { - - private var data: ArrayList ?= null - - private var changeViewListener: ChangeViewListener?=null - - private val operation: Int = 1 - private val operationReturn: Int = 10 - private val operationStop: Int = 11 - private val operationDoorSwitchFail: Int = 13 //车门开启、关闭失败 - private val notice: Int = 2 - private val v2x: Int = 3 - private val report: Int = 4 - private val summary: Int = 5 - private val fm: Int = 6 - private val ssm: Int = 7 - private val autopilot: Int = 8 - private val fsm: Int = 9 - private val none: Int = 10 - - fun setData(data: ArrayList){ - this.data = data - if(data.size>4){ - data.removeAt(0) - } - notifyDataSetChanged() - } - - override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder { - when (viewType) { - operation -> { - val view = LayoutInflater.from(parent.context).inflate(R.layout.item_msg_bubble_operation,parent,false) - return BubbleOperationHolder(view) - } - operationReturn -> { - val view = LayoutInflater.from(parent.context) - .inflate(R.layout.item_msg_bubble_operation_return, parent, false) - return BubbleOperationReturnHolder(view) - } - operationStop -> { - val view = LayoutInflater.from(parent.context) - .inflate(R.layout.item_msg_bubble_operation_stop, parent, false) - return BubbleOperationStopHolder(view) - } - operationDoorSwitchFail ->{ - val view = LayoutInflater.from(parent.context) - .inflate(R.layout.item_msg_bubble_operation_door, parent, false) - return BubbleOperationDoorFailHolder(view) - } - report -> { - val view = LayoutInflater.from(parent.context).inflate(R.layout.item_msg_bubble_report,parent,false) - return BubbleReportHolder(view) - } - notice -> { - val view = LayoutInflater.from(parent.context).inflate(R.layout.item_msg_bubble_notice,parent,false) - return BubbleNoticeHolder(view) - } - summary -> { - val view = LayoutInflater.from(parent.context).inflate(R.layout.item_msg_bubble_summary,parent,false) - return BubbleSummaryHolder(view) - } - fm -> { - val view = LayoutInflater.from(parent.context).inflate(R.layout.item_msg_bubble_fm,parent,false) - return BubbleFmHolder(view) - } - ssm -> { - val view = LayoutInflater.from(parent.context).inflate(R.layout.item_msg_bubble_ssm,parent,false) - return BubbleSsmHolder(view) - } - autopilot -> { - val view = LayoutInflater.from(parent.context).inflate(R.layout.item_msg_bubble_autopilot,parent,false) - return BubbleAutopilotHolder(view) - } - fsm -> { - val view = LayoutInflater.from(parent.context).inflate(R.layout.item_msg_bubble_fsm,parent,false) - return BubbleFSMHolder(view) - } - else -> { - val view = LayoutInflater.from(parent.context).inflate(R.layout.item_msg_bubble_v2x,parent,false) - return BubbleV2XHolder(view) - } - } - } - - override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) { - when (holder) { - is BubbleOperationHolder -> { - data?.let { - val msgBoxBean = it[position].msgBoxBean - val operationMsg = msgBoxBean.bean as OperationMsg - holder.tvBubbleOperationTime.text = TimeUtils.millis2String(it[position].msgBoxBean.timestamp,getHourMinFormat()) - holder.tvBubbleOperationContent.text = operationMsg.content - holder.clBubbleOperationLayout.setOnClickListener { - CallerMsgBoxEventListenerManager.invokeBubbleOperationListener(msgBoxBean) - } - } - } - //运营平台还车通知 - is BubbleOperationReturnHolder -> { - data?.let { - val operationReturnMsg = it[position].msgBoxBean.bean as OperationMsg - holder.tvOperationReturnContent.text = operationReturnMsg.content - holder.tvOperationReturnTime.text = - TimeUtils.millis2String(operationReturnMsg.timestamp, getHourMinFormat()) - } - } - //运营平台靠边停车 - is BubbleOperationStopHolder -> { - data?.let { - val operationStopMsg = it[position].msgBoxBean.bean as OperationMsg - holder.tvOperationStopTime.text = - TimeUtils.millis2String(operationStopMsg.timestamp, getHourMinFormat()) - holder.tvOperationStopContent.text = operationStopMsg.content - } - } - //车门开启关闭失败 - is BubbleOperationDoorFailHolder -> { - data?.let{ - val operationDoorMsg = it[position].msgBoxBean.bean as OperationMsg - holder.tvOperationDoorTime.text = - TimeUtils.millis2String(operationDoorMsg.timestamp, getHourMinFormat()) - holder.tvOperationDoorContent.text = operationDoorMsg.content - } - } - //系统信息消息 - is BubbleReportHolder -> { - data?.let { - val msgBoxBean = it[position].msgBoxBean - val reportEntity = msgBoxBean.bean as ReportEntity - holder.tvBubbleReportTime.text = "时间:${TimeUtils.millis2String(it[position].msgBoxBean.timestamp)}" - holder.tvBubbleReceiveTime.text = TimeUtils.millis2String(it[position].msgBoxBean.timestamp,getHourMinFormat()) - var resultStr = "类型:" - for (result in reportEntity.resultList){ - resultStr = "${resultStr}${CallerAutoPilotControlManager.getReportResultDesc(result)}" - } - holder.tvBubbleReportType.text = resultStr - holder.clReportLayout.setOnClickListener { - CallerMsgBoxEventListenerManager.invokeBubbleReportListener(msgBoxBean) - } - } - } - //云公告消息 - is BubbleNoticeHolder -> { - data?.let { - val msgBoxBean = it[position].msgBoxBean.bean - val noticeFrCloudMsg = msgBoxBean as NoticeFrCloudMsg - if(noticeFrCloudMsg.type == 0){ - val noticeNormalData = noticeFrCloudMsg.noticeNormalData - holder.tvNoticeTime.text = TimeUtils.millis2String(it[position].msgBoxBean.timestamp,getHourMinFormat()) - holder.tvNoticeContent.text = noticeNormalData?.content - GlideApp.with(activity).load(noticeNormalData?.imageUrl).optionalTransform( - GlideRoundedCornersTransform( - 20f, - GlideRoundedCornersTransform.CornerType.ALL - ) - ).into(holder.ivNoticeImage) - holder.tvNoticeCheck.setOnClickListener { - //云公告 - if (noticeNormalData != null) { - CallerHmiManager.showNoticeNormalData(noticeNormalData) - } - } - }else if(noticeFrCloudMsg.type == 1){ - val noticeTrafficStylePushData = noticeFrCloudMsg.trafficPushData - holder.tvNoticeTime.text = TimeUtils.millis2String(it[position].msgBoxBean.timestamp,getHourMinFormat()) - holder.tvNoticeContent.text = noticeTrafficStylePushData?.content - GlideApp.with(activity).load(noticeTrafficStylePushData?.poiImgUrl).optionalTransform( - GlideRoundedCornersTransform( - 20f, - GlideRoundedCornersTransform.CornerType.ALL - ) - ).into(holder.ivNoticeImage) - holder.tvNoticeCheck.setOnClickListener { - //云公告 - if (noticeTrafficStylePushData != null) { - CallerHmiManager.showTrafficBanner(noticeTrafficStylePushData) - } - } - } - } - } - //V2X消息 - is BubbleV2XHolder -> { - data?.let { - val msgBoxBean = it[position].msgBoxBean - val v2XMsg = msgBoxBean.bean as V2XMsg - holder.tvV2XTime.text = TimeUtils.millis2String(it[position].msgBoxBean.timestamp,getHourMinFormat()) - holder.tvV2XContent.text = v2XMsg.content - holder.ivV2XImage.setImageDrawable(ResourcesCompat.getDrawable(activity.resources,EventTypeEnumNew.getUpdateIconRes(v2XMsg.type),null)) - holder.clV2XLayout.setOnClickListener { - CallerMsgBoxEventListenerManager.invokeBubbleV2XListener(msgBoxBean) - } - if(v2XMsg.type== EventTypeEnumNew.TYPE_VERIFICATION_SUCCESSFUL.poiType||v2XMsg.type == EventTypeEnumNew.TYPE_DEVICE_STATUS_NORMAL.poiType){ - holder.itemView.setBackgroundResource(R.drawable.bg_temp_v2x_success) - }else{ - holder.itemView.setBackgroundResource(R.drawable.bg_msg_box_v2x) - } - if(v2XMsg.communicationType.isNullOrEmpty()){ - holder.tvV2XTitle.text = EventTypeEnumNew.getEventTitle(v2XMsg.type) - }else{ - holder.tvV2XTitle.text = String.format(activity.resources.getString(R.string.v2x_title_content), - v2XMsg.communicationType, EventTypeEnumNew.getEventTitle(v2XMsg.type)) - } - } - } - //汇总消息 - is BubbleSummaryHolder -> { - data?.let { - val summaryMsg = it[position].msgBoxBean.bean as V2XMsg - holder.tvSummaryTime.text = TimeUtils.millis2String(it[position].msgBoxBean.timestamp,getHourMinFormat()) - holder.tvSummaryContent.text = summaryMsg.content - } - } - //FM信息 - is BubbleFmHolder ->{ - data?.let { - val fmMsg = it[position].msgBoxBean.bean as FMInfoMsg - if(fmMsg.policyTime == null){ - holder.tvBubbleFmTime.text = TimeUtils.millis2String(it[position].msgBoxBean.timestamp,getHourMinFormat()) - }else{ - holder.tvBubbleFmTime.text = TimeUtils.millis2String(fmMsg.policyTime!!,getHourMinFormat()) - } - if(fmMsg.fmInfoList?.size == 0){ - holder.tvBubbleFmFaultAction.text = "建议操作:暂无" - holder.tvBubbleFmFault.text = MsgFmData.getFmPolicyName(fmMsg.policyCode) - }else{ - var curFaultLevel = 5 //默认级别,遍历数组找出级别最高的(level数越小,级别越高) - fmMsg.fmInfoList?.forEach { faultInfo -> - if(faultInfo.faultActionCount>0){ - faultInfo.faultActionList.forEach {actionCode -> - //获取建议操作级别,得到建议操作级别最高的操作 - if(MsgFmData.FaultAction.getFaultLevel(actionCode) < curFaultLevel){ - curFaultLevel = MsgFmData.FaultAction.getFaultLevel(actionCode) - } - } - } - } - val faultAction = MsgFmData.FaultAction.getFaultAction(curFaultLevel) - holder.tvBubbleFmFault.text = faultAction - //当出现多个建议操作时,按照整车下电重启、请求人工驾驶接管、请求平行驾驶接管、系统重启、联系硬件工程师、 - // 联系运维工程师、联系软件工程师优先级递减的顺序,只展示最高优先级的内容 - if(curFaultLevel == 5){ - holder.tvBubbleFmFaultAction.text = "建议操作:暂无" - }else{ - holder.tvBubbleFmFaultAction.text = "${faultAction}(${MsgFmData.FaultAction.getFaultActionCode(curFaultLevel)})" - } - //不同级别的Icon显示 - when(curFaultLevel){ - 0->{ - //重度预警样式 - holder.ivBubbleFmImage.setImageDrawable(getDrawable(R.drawable.icon_fm_stop_normal)) - } - 1,2,3->{ - //中度预警样式 - holder.ivBubbleFmImage.setImageDrawable(getDrawable(R.drawable.icon_fm_reduce_normal)) - } - 4,5->{ - //轻度预警样式 - holder.ivBubbleFmImage.setImageDrawable(getDrawable(R.drawable.icon_fm_warning_normal)) - } - } - } - } - } - //SSM连接消息 - is BubbleSsmHolder ->{ - data?.let { - val ssmMsg = it[position].msgBoxBean.bean as SSMMsg - holder.tvSsmTitle.text = ssmMsg.title - holder.tvSsmContent.text= ssmMsg.content - holder.tvSsmTime.text = TimeUtils.millis2String(ssmMsg.timestamp,getHourMinFormat()) - } - } - //域控制器连接消息 - is BubbleAutopilotHolder ->{ - data?.let { - val autopilotMsg = it[position].msgBoxBean.bean as AutopilotMsg - holder.tvAutopilotTitle.text = autopilotMsg.title - holder.tvAutopilotContent.text = autopilotMsg.content - holder.tvAutopilotTime.text = TimeUtils.millis2String(autopilotMsg.timestamp,getHourMinFormat()) - } - } - - //FSM消息 - is BubbleFSMHolder ->{ - data?.let { - val fsmMsg = it[position].msgBoxBean.bean as FSMMsg - holder.tvFSMTitle.text = fsmMsg.title - holder.tvFSMContent.text = fsmMsg.content - holder.tvFSMTime.text = TimeUtils.millis2String(fsmMsg.timestamp,getHourMinFormat()) - } - } - } - - val msgBoxBean: MsgBoxCountDownBean = data!![position] - msgBoxBean.countDownTimer =object: CountDownTimer(CallerMsgBoxManager.getDismissTime(),1000){ - override fun onTick(p0: Long) { - - } - - override fun onFinish() { - data?.remove(msgBoxBean) - changeViewListener?.notifyView() - notifyDataSetChanged() - } - - } - msgBoxBean.countDownTimer?.start() - } - - override fun getItemCount() = data?.size ?: 0 - - override fun getItemViewType(position: Int): Int { - return if(data!![position].msgBoxBean.type == MsgBoxType.OPERATION){ - when ((data!![position].msgBoxBean.bean as OperationMsg).type) { - 0 -> { - //运营平台还车通知 - operationReturn - } - 1 -> { - //运营平台靠边停车 - operationStop - } - 3 -> { - //车门开启关闭失败 - operationDoorSwitchFail - } - else -> { - //普通运营平台 - operation - } - } - }else if(data!![position].msgBoxBean.type == MsgBoxType.REPORT){ - report - }else if(data!![position].msgBoxBean.type == MsgBoxType.NOTICE){ - notice - }else if(data!![position].msgBoxBean.type == MsgBoxType.V2X && data!![position].msgBoxBean.sourceType == DataSourceType.SUMMARY){ - summary - }else if(data!![position].msgBoxBean.type == MsgBoxType.FMINFO){ - fm - }else if(data!![position].msgBoxBean.type == MsgBoxType.SSMINFO){ - ssm - }else if(data!![position].msgBoxBean.type == MsgBoxType.AUTOPILOT){ - autopilot - }else if(data!![position].msgBoxBean.type == MsgBoxType.FSM){ - fsm - } else { - v2x - } - } - - fun setChangeListener(listener: ChangeViewListener){ - changeViewListener = listener - } - - interface ChangeViewListener{ - fun notifyView() - } - - //车辆系统信息 - class BubbleReportHolder(itemView: View): RecyclerView.ViewHolder(itemView){ - var tvBubbleReportTime: TextView = itemView.findViewById(R.id.tvBubbleReportTime) - var tvBubbleReportType: TextView = itemView.findViewById(R.id.tvBubbleReportType) - var tvBubbleReceiveTime: TextView = itemView.findViewById(R.id.tvBubbleReceiveTime) - var clReportLayout: RoundCanClickConstraintLayout = itemView.findViewById(R.id.clReportLayout) - } - - //运营平台 - class BubbleOperationHolder(itemView: View): RecyclerView.ViewHolder(itemView){ - var tvBubbleOperationTime: TextView = itemView.findViewById(R.id.tvBubbleOperationTime) - var tvBubbleOperationContent: TextView = itemView.findViewById(R.id.tvBubbleOperationContent) - var clBubbleOperationLayout: RoundCanClickConstraintLayout = itemView.findViewById(R.id.clBubbleOperationLayout) - } - - //运营平台还车通知 - class BubbleOperationReturnHolder(itemView: View): RecyclerView.ViewHolder(itemView){ - var tvOperationReturnTime: TextView = itemView.findViewById(R.id.tvOperationReturnTime) - var tvOperationReturnContent: TextView = itemView.findViewById(R.id.tvOperationReturnContent) - } - - //运营平台靠边停车通知 - class BubbleOperationStopHolder(itemView: View): RecyclerView.ViewHolder(itemView){ - var tvOperationStopTime: TextView = itemView.findViewById(R.id.tvOperationStopTime) - var tvOperationStopContent: TextView = itemView.findViewById(R.id.tvOperationStopContent) - } - //车门开启关闭失败 - class BubbleOperationDoorFailHolder(itemView: View): RecyclerView.ViewHolder(itemView){ - var tvOperationDoorTime: TextView = itemView.findViewById(R.id.tvOperationDoorTime) - var tvOperationDoorContent: TextView = itemView.findViewById(R.id.tvOperationDoorContent) - } - //Notice - class BubbleNoticeHolder(itemView: View): RecyclerView.ViewHolder(itemView){ - var ivNoticeImage: ImageView = itemView.findViewById(R.id.ivNoticeImage) - // var tvNoticeTitle: TextView = itemView.findViewById(R.id.tvNoticeTitle) - var tvNoticeTime: TextView = itemView.findViewById(R.id.tvNoticeTime) - var tvNoticeCheck: TextView = itemView.findViewById(R.id.tvNoticeCheck) - var tvNoticeContent: TextView = itemView.findViewById(R.id.tvNoticeContent) - } - - //V2X - class BubbleV2XHolder(itemView: View): RecyclerView.ViewHolder(itemView){ - var ivV2XImage: ImageView = itemView.findViewById(R.id.ivV2XImage) - var tvV2XTime: TextView = itemView.findViewById(R.id.tvV2XTime) - var tvV2XContent: TextView = itemView.findViewById(R.id.tvV2XContent) - var clV2XLayout: ConstraintLayout = itemView.findViewById(R.id.clV2XLayout) - var tvV2XTitle: TextView = itemView.findViewById(R.id.tvV2XTitle) - } - - //汇总消息 - class BubbleSummaryHolder(itemView: View): RecyclerView.ViewHolder(itemView){ - var tvSummaryContent: TextView = itemView.findViewById(R.id.tvSummaryContent) - var tvSummaryTime: TextView = itemView.findViewById(R.id.tvSummaryTime) - } - - //FM消息 - class BubbleFmHolder(itemView: View): RecyclerView.ViewHolder(itemView){ - var tvBubbleFmFault: TextView = itemView.findViewById(R.id.tvBubbleFmFault) - var tvBubbleFmFaultAction: TextView = itemView.findViewById(R.id.tvBubbleFmFaultAction) - var tvBubbleFmTime: TextView = itemView.findViewById(R.id.tvBubbleFmTime) - var ivBubbleFmImage: ImageView = itemView.findViewById(R.id.ivBubbleFmImage) - } - - //SSM连接消息 - class BubbleSsmHolder(itemView: View): RecyclerView.ViewHolder(itemView){ - var ivSsmImage: ImageView = itemView.findViewById(R.id.ivSsmImage) - var tvSsmTitle: TextView = itemView.findViewById(R.id.tvSsmTitle) - var tvSsmTime: TextView = itemView.findViewById(R.id.tvSsmTime) - var tvSsmContent: TextView = itemView.findViewById(R.id.tvSsmContent) - } - - //域控制器连接状态消息 - class BubbleAutopilotHolder(itemView: View): RecyclerView.ViewHolder(itemView){ - var ivAutopilotImage: ImageView = itemView.findViewById(R.id.ivAutopilotImage) - var tvAutopilotTitle: TextView = itemView.findViewById(R.id.tvAutopilotTitle) - var tvAutopilotTime: TextView = itemView.findViewById(R.id.tvAutopilotTime) - var tvAutopilotContent: TextView = itemView.findViewById(R.id.tvAutopilotContent) - } - - //FSM状态消息(现阶段提示启动自驾失败消息,过渡阶段提示,未来展示fsm消息提醒) - class BubbleFSMHolder(itemView: View): RecyclerView.ViewHolder(itemView){ - var ivFSMImage: ImageView = itemView.findViewById(R.id.ivFSMImage) - var tvFSMTitle: TextView = itemView.findViewById(R.id.tvFSMTitle) - var tvFSMTime: TextView = itemView.findViewById(R.id.tvFSMTime) - var tvFSMContent: TextView = itemView.findViewById(R.id.tvFSMContent) - } - -} \ 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/msgbox/adapter/MsgBoxToastAdapter.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/MsgBoxToastAdapter.kt new file mode 100644 index 0000000000..a5676075e5 --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/MsgBoxToastAdapter.kt @@ -0,0 +1,346 @@ +package com.mogo.eagle.core.function.hmi.ui.msgbox.adapter + +import android.app.Activity +import android.os.CountDownTimer +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.ImageView +import android.widget.TextView +import androidx.constraintlayout.widget.ConstraintLayout +import androidx.core.content.ContextCompat +import androidx.core.content.res.ResourcesCompat +import androidx.recyclerview.widget.RecyclerView +import com.mogo.eagle.core.data.deva.report.ReportEntity +import com.mogo.eagle.core.data.enums.DataSourceType +import com.mogo.eagle.core.data.enums.EventTypeEnumNew +import com.mogo.eagle.core.data.msgbox.AutopilotMsg +import com.mogo.eagle.core.data.msgbox.FMInfoMsg +import com.mogo.eagle.core.data.msgbox.FSMMsg +import com.mogo.eagle.core.data.msgbox.MsgBoxCountDownBean +import com.mogo.eagle.core.data.msgbox.MsgBoxType +import com.mogo.eagle.core.data.msgbox.MsgFmData +import com.mogo.eagle.core.data.msgbox.NoticeFrCloudMsg +import com.mogo.eagle.core.data.msgbox.OperationMsg +import com.mogo.eagle.core.data.msgbox.SSMMsg +import com.mogo.eagle.core.data.msgbox.V2XMsg +import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager +import com.mogo.eagle.core.function.call.hmi.CallerHmiManager +import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxEventListenerManager +import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager +import com.mogo.eagle.core.function.hmi.R +import com.mogo.eagle.core.utilcode.mogo.glide.GlideApp +import com.mogo.eagle.core.utilcode.mogo.glide.transform.GlideRoundedCornersTransform +import com.mogo.eagle.core.utilcode.util.ResourceUtils.getDrawable +import com.mogo.eagle.core.utilcode.util.TimeUtils +import com.mogo.eagle.core.utilcode.util.TimeUtils.getHourMinFormat +import com.mogo.eagle.core.widget.RoundCanClickConstraintLayout + +class MsgBoxToastAdapter(private val activity: Activity) : RecyclerView.Adapter() { + + private var data: ArrayList ?= null + + private var changeViewListener: ChangeViewListener?=null + + private val notice: Int = 1 + private val v2x: Int = 2 + private val report: Int = 3 + + + fun setData(data: ArrayList){ + this.data = data + if(data.size>4){ + data.removeAt(0) + } + notifyDataSetChanged() + } + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder { + return when (viewType) { + report -> { + val view = LayoutInflater.from(parent.context).inflate(R.layout.item_msg_bubble_report,parent,false) + BubbleReportHolder(view) + } + notice -> { + val view = LayoutInflater.from(parent.context).inflate(R.layout.item_msg_bubble_notice,parent,false) + BubbleNoticeHolder(view) + } + else -> { + val view = LayoutInflater.from(parent.context).inflate(R.layout.item_msg_toast_v2x,parent,false) + BubbleV2XHolder(view) + } + } + } + + override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) { + when (holder) { + //系统信息消息 + is BubbleReportHolder -> { + data?.let { + val msgBoxBean = it[position].msgBoxBean + val reportEntity = msgBoxBean.bean as ReportEntity + holder.tvBubbleReportTime.text = "时间:${TimeUtils.millis2String(it[position].msgBoxBean.timestamp)}" + holder.tvBubbleReceiveTime.text = TimeUtils.millis2String(it[position].msgBoxBean.timestamp,getHourMinFormat()) + var resultStr = "类型:" + for (result in reportEntity.resultList){ + resultStr = "${resultStr}${CallerAutoPilotControlManager.getReportResultDesc(result)}" + } + holder.tvBubbleReportType.text = resultStr + holder.clReportLayout.setOnClickListener { + CallerMsgBoxEventListenerManager.invokeBubbleReportListener(msgBoxBean) + } + } + } + //云公告消息 + is BubbleNoticeHolder -> { + data?.let { + val msgBoxBean = it[position].msgBoxBean.bean + val noticeFrCloudMsg = msgBoxBean as NoticeFrCloudMsg + if(noticeFrCloudMsg.type == 0){ + val noticeNormalData = noticeFrCloudMsg.noticeNormalData + holder.tvNoticeTime.text = TimeUtils.millis2String(it[position].msgBoxBean.timestamp,getHourMinFormat()) + holder.tvNoticeContent.text = noticeNormalData?.content + GlideApp.with(activity).load(noticeNormalData?.imageUrl).optionalTransform( + GlideRoundedCornersTransform( + 20f, + GlideRoundedCornersTransform.CornerType.ALL + ) + ).into(holder.ivNoticeImage) + holder.tvNoticeCheck.setOnClickListener { + //云公告 + if (noticeNormalData != null) { + CallerHmiManager.showNoticeNormalData(noticeNormalData) + } + } + }else if(noticeFrCloudMsg.type == 1){ + val noticeTrafficStylePushData = noticeFrCloudMsg.trafficPushData + holder.tvNoticeTime.text = TimeUtils.millis2String(it[position].msgBoxBean.timestamp,getHourMinFormat()) + holder.tvNoticeContent.text = noticeTrafficStylePushData?.content + GlideApp.with(activity).load(noticeTrafficStylePushData?.poiImgUrl).optionalTransform( + GlideRoundedCornersTransform( + 20f, + GlideRoundedCornersTransform.CornerType.ALL + ) + ).into(holder.ivNoticeImage) + holder.tvNoticeCheck.setOnClickListener { + //云公告 + if (noticeTrafficStylePushData != null) { + CallerHmiManager.showTrafficBanner(noticeTrafficStylePushData) + } + } + } + } + } + //V2X消息 + is BubbleV2XHolder -> { + data?.let { + if(it[position].msgBoxBean.type == MsgBoxType.FSM){ + //FSM消息 + val fsmMsg = it[position].msgBoxBean.bean as FSMMsg + holder.tvV2XTitle.text = fsmMsg.title + holder.tvV2XContent.text = fsmMsg.content + holder.ivV2XImage.setImageDrawable( + ContextCompat.getDrawable( + activity, + R.drawable.icon_warning_take_over + )) + }else if(it[position].msgBoxBean.type == MsgBoxType.AUTOPILOT){ + //域控制器连接消息 + val autopilotMsg = it[position].msgBoxBean.bean as AutopilotMsg + holder.tvV2XTitle.text = autopilotMsg.title + holder.tvV2XContent.text = autopilotMsg.content + holder.ivV2XImage.setImageDrawable( + ContextCompat.getDrawable( + activity, + R.drawable.icon_warning_take_over + )) + }else if(it[position].msgBoxBean.type == MsgBoxType.SSMINFO){ + //SSM连接消息 + val ssmMsg = it[position].msgBoxBean.bean as SSMMsg + holder.tvV2XTitle.text = ssmMsg.title + holder.tvV2XContent.text = ssmMsg.content + holder.ivV2XImage.setImageDrawable( + ContextCompat.getDrawable( + activity, + R.drawable.icon_warning_take_over + )) + }else if(it[position].msgBoxBean.type == MsgBoxType.FMINFO){ + //FM信息 + val fmMsg = it[position].msgBoxBean.bean as FMInfoMsg + if(fmMsg.fmInfoList?.size == 0){ + holder.tvV2XContent.text = "建议操作:暂无" + holder.tvV2XTitle.text = MsgFmData.getFmPolicyName(fmMsg.policyCode) + }else{ + var curFaultLevel = 5 //默认级别,遍历数组找出级别最高的(level数越小,级别越高) + fmMsg.fmInfoList?.forEach { faultInfo -> + if(faultInfo.faultActionCount>0){ + faultInfo.faultActionList.forEach {actionCode -> + //获取建议操作级别,得到建议操作级别最高的操作 + if(MsgFmData.FaultAction.getFaultLevel(actionCode) < curFaultLevel){ + curFaultLevel = MsgFmData.FaultAction.getFaultLevel(actionCode) + } + } + } + } + val faultAction = MsgFmData.FaultAction.getFaultAction(curFaultLevel) + holder.tvV2XTitle.text = faultAction + //当出现多个建议操作时,按照整车下电重启、请求人工驾驶接管、请求平行驾驶接管、系统重启、联系硬件工程师、 + // 联系运维工程师、联系软件工程师优先级递减的顺序,只展示最高优先级的内容 + if(curFaultLevel == 5){ + holder.tvV2XContent.text = "建议操作:暂无" + }else{ + holder.tvV2XContent.text = "${faultAction}(${MsgFmData.FaultAction.getFaultActionCode(curFaultLevel)})" + } + //不同级别的Icon显示 + when(curFaultLevel){ + 0->{ + //重度预警样式 + holder.ivV2XImage.setImageDrawable(getDrawable(R.drawable.icon_fm_stop_normal)) + } + 1,2,3->{ + //中度预警样式 + holder.ivV2XImage.setImageDrawable(getDrawable(R.drawable.icon_fm_reduce_normal)) + } + 4,5->{ + //轻度预警样式 + holder.ivV2XImage.setImageDrawable(getDrawable(R.drawable.icon_fm_warning_normal)) + } + } + } + }else if(it[position].msgBoxBean.type == MsgBoxType.V2X && it[position].msgBoxBean.sourceType == DataSourceType.SUMMARY){ + //汇总消息 + val summaryMsg = it[position].msgBoxBean.bean as V2XMsg + holder.tvV2XTitle.text = "蘑菇小助手" + holder.tvV2XContent.text = summaryMsg.content + holder.ivV2XImage.setImageDrawable( + ContextCompat.getDrawable( + activity, + R.drawable.icon_tab_notice + )) + }else if(it[position].msgBoxBean.type == MsgBoxType.OPERATION){ + //运营平台 + val operationMsg = it[position].msgBoxBean.bean as OperationMsg + holder.tvV2XContent.text = operationMsg.content + when(operationMsg.type){ + 0->{ + //运营平台还车通知 + holder.tvV2XTitle.text = "还车通知" + holder.ivV2XImage.setImageDrawable( + ContextCompat.getDrawable( + activity, + R.drawable.icon_msg_box_operation_return + )) + } + 1->{ + //运营平台靠边停车 + holder.tvV2XTitle.text = "运营平台" + holder.ivV2XImage.setImageDrawable( + ContextCompat.getDrawable( + activity, + R.drawable.icon_msg_box_operation_stop + )) + } + 3->{ + //车门开启关闭失败 + holder.tvV2XTitle.text = "运营平台" + holder.ivV2XImage.setImageDrawable( + ContextCompat.getDrawable( + activity, + R.drawable.v2x_icon_shigu_sanjiaopai + )) + } + else->{ + //普通运营平台 + holder.tvV2XTitle.text = "运营平台" + holder.ivV2XImage.setImageDrawable( + ContextCompat.getDrawable( + activity, + R.drawable.icon_msg_box_operation + )) + } + } + }else{ + //V2X消息 + val msgBoxBean = it[position].msgBoxBean + val v2XMsg = msgBoxBean.bean as V2XMsg + holder.tvV2XContent.text = v2XMsg.content + holder.ivV2XImage.setImageDrawable(ResourcesCompat.getDrawable(activity.resources,EventTypeEnumNew.getUpdateIconRes(v2XMsg.type),null)) + holder.clV2XLayout.setOnClickListener { + CallerMsgBoxEventListenerManager.invokeBubbleV2XListener(msgBoxBean) + } + if(v2XMsg.communicationType.isNullOrEmpty()){ + holder.tvV2XTitle.text = EventTypeEnumNew.getEventTitle(v2XMsg.type) + }else{ + holder.tvV2XTitle.text = String.format(activity.resources.getString(R.string.v2x_title_content), + v2XMsg.communicationType, EventTypeEnumNew.getEventTitle(v2XMsg.type)) + } + } + } + } + } + + val msgBoxBean: MsgBoxCountDownBean = data!![position] + msgBoxBean.countDownTimer =object: CountDownTimer(CallerMsgBoxManager.getDismissTime(),1000){ + override fun onTick(p0: Long) { + + } + + override fun onFinish() { + data?.remove(msgBoxBean) + changeViewListener?.notifyView() + notifyDataSetChanged() + } + + } + msgBoxBean.countDownTimer?.start() + } + + override fun getItemCount() = data?.size ?: 0 + + override fun getItemViewType(position: Int): Int { + return when (data!![position].msgBoxBean.type) { + MsgBoxType.REPORT -> { + report + } + MsgBoxType.NOTICE -> { + notice + } + else -> { + v2x + } + } + } + + fun setChangeListener(listener: ChangeViewListener){ + changeViewListener = listener + } + + interface ChangeViewListener{ + fun notifyView() + } + + //车辆系统信息 + class BubbleReportHolder(itemView: View): RecyclerView.ViewHolder(itemView){ + var tvBubbleReportTime: TextView = itemView.findViewById(R.id.tvBubbleReportTime) + var tvBubbleReportType: TextView = itemView.findViewById(R.id.tvBubbleReportType) + var tvBubbleReceiveTime: TextView = itemView.findViewById(R.id.tvBubbleReceiveTime) + var clReportLayout: RoundCanClickConstraintLayout = itemView.findViewById(R.id.clReportLayout) + } + + //Notice + class BubbleNoticeHolder(itemView: View): RecyclerView.ViewHolder(itemView){ + var ivNoticeImage: ImageView = itemView.findViewById(R.id.ivNoticeImage) + var tvNoticeTime: TextView = itemView.findViewById(R.id.tvNoticeTime) + var tvNoticeCheck: TextView = itemView.findViewById(R.id.tvNoticeCheck) + var tvNoticeContent: TextView = itemView.findViewById(R.id.tvNoticeContent) + } + + //V2X + class BubbleV2XHolder(itemView: View): RecyclerView.ViewHolder(itemView){ + var ivV2XImage: ImageView = itemView.findViewById(R.id.ivV2XImage) + var tvV2XTitle: TextView = itemView.findViewById(R.id.tvV2XTitle) + var tvV2XContent: TextView = itemView.findViewById(R.id.tvV2XContent) + var clV2XLayout: ConstraintLayout = itemView.findViewById(R.id.clV2XLayout) + } + +} \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/bg_msg_box_toast.9.png b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/bg_msg_box_toast.9.png new file mode 100644 index 0000000000000000000000000000000000000000..b74233c31fdf2c1035510a65eddf17b400533489 GIT binary patch literal 15028 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 + + + + + + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_map_container.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_map_container.xml index bdcd212a63..28a2815b27 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_map_container.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_map_container.xml @@ -78,7 +78,7 @@ app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" /> - 故障发生时间减少 故障发生时间增加 + 消息盒子吐司图标 + From 7d68c7d8adc7df2f7e292d29b5308a4db37777d3 Mon Sep 17 00:00:00 2001 From: xuxinchao Date: Fri, 27 Sep 2024 18:17:01 +0800 Subject: [PATCH 5/6] =?UTF-8?q?[6.7.0]=E7=BA=A2=E7=BB=BF=E7=81=AFUI?= =?UTF-8?q?=E6=94=B9=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hmi/ui/widget/SingleTrafficLightView.kt | 52 ++++++++++++------ .../drawable-xhdpi/icon_traffic_light_ai.png | Bin 0 -> 1810 bytes .../drawable-xhdpi/icon_traffic_light_obu.png | Bin 0 -> 1697 bytes .../icon_traffic_light_vehicle.png | Bin 0 -> 1333 bytes .../res/layout/hmi_view_traffic_light.xml | 17 +++--- .../src/main/res/values/strings.xml | 2 + 6 files changed, 45 insertions(+), 26 deletions(-) create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_traffic_light_ai.png create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_traffic_light_obu.png create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_traffic_light_vehicle.png diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SingleTrafficLightView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SingleTrafficLightView.kt index 140f923748..56b5d25457 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SingleTrafficLightView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SingleTrafficLightView.kt @@ -44,7 +44,8 @@ class SingleTrafficLightView @JvmOverloads constructor( private var mTrafficLightClBG: ConstraintLayout ?= null //司机端红绿灯背景 private var mLightTimeTV: TypefaceTextView ?= null //司机端红绿灯倒计时 private var mLightTimeTVP: GradientTextView? = null //乘客屏红绿灯倒计时 - private var mLightSourceTV: TextView? = null //红绿灯来源 + private var mLightSourceTV: TextView? = null //乘客端红绿灯来源 + private var mLightSourceIV: ImageView ?= null //司机端红绿灯来源 private var mLightSourceDivider: View? = null //分割线 private var mCurrentLightId = TrafficLightEnum.BLACK @@ -70,19 +71,20 @@ class SingleTrafficLightView @JvmOverloads constructor( LayoutInflater.from(context).inflate(R.layout.hmi_view_traffic_light, this, true) } mLightIconIV = findViewById(R.id.hmi_traffic_light_iv) - mLightSourceTV = findViewById(R.id.hmi_traffic_light_source) mLightSourceDivider = findViewById(R.id.hmi_traffic_light_divider) if(trafficLightUser==1){ mLightIconBG = findViewById(R.id.hmi_traffic_light_bg) mLightTimeTVP = findViewById(R.id.hmi_traffic_light_time_tv_p) + mLightSourceTV = findViewById(R.id.hmi_traffic_light_source) }else{ mTrafficLightClBG = findViewById(R.id.hmi_traffic_light_cl_bg) mLightTimeTV = findViewById(R.id.hmi_traffic_light_time_tv) + mLightSourceIV = findViewById(R.id.hmi_traffic_light_source_image) } - CallerSkinModeListenerManager.addListener(TAG, this) - CallerTrafficLightListenerManager.addListener(TAG, this) - CallerHmiViewControlListenerManager.addListener(TrafficLightView_TAG, this) + CallerSkinModeListenerManager.addListener(this.hashCode().toString(), this) + CallerTrafficLightListenerManager.addListener(this.hashCode().toString(), this) + CallerHmiViewControlListenerManager.addListener(this.hashCode().toString(), this) if(trafficLightUser==1){ mLightIconBG?.setBackgroundResource(R.drawable.traffic_light_bg_taxi_p) @@ -98,9 +100,9 @@ class SingleTrafficLightView @JvmOverloads constructor( override fun onDetachedFromWindow() { super.onDetachedFromWindow() - CallerSkinModeListenerManager.removeListener(TAG) - CallerTrafficLightListenerManager.removeListener(TAG) - CallerHmiViewControlListenerManager.removeListener(TrafficLightView_TAG) + CallerSkinModeListenerManager.removeListener(this.hashCode().toString()) + CallerTrafficLightListenerManager.removeListener(this.hashCode().toString()) + CallerHmiViewControlListenerManager.removeListener(this.hashCode().toString()) } override fun onSkinModeChange(skinMode: Int) { @@ -172,7 +174,13 @@ class SingleTrafficLightView @JvmOverloads constructor( context.resources.getDimension(R.dimen.dp_310).toInt() }else{ //司机屏 - //TODO + val lp = this.layoutParams as MarginLayoutParams + lp.width = context.resources.getDimension(R.dimen.dp_280).toInt() + this.layoutParams = lp + mLightSourceIV?.visibility = VISIBLE + mLightSourceDivider!!.visibility = VISIBLE + mLightTimeTV?.visibility = GONE + mTrafficLightClBG?.setBackgroundResource(R.drawable.icon_single_traffic_light_perception_bg) } } } @@ -327,12 +335,14 @@ class SingleTrafficLightView @JvmOverloads constructor( else -> this@SingleTrafficLightView.visibility = GONE } when (lightSource) { - //TODO 司机屏展示来源需要更改文案 DataSourceType.AICLOUD -> { if(trafficLightUser == 1){ mLightSourceTV?.text = context.getString(R.string.light_source_ai_cloud) }else{ - mLightSourceTV?.text = context.getString(R.string.light_source_driver_ai_cloud) + mLightSourceIV?.setImageDrawable(ContextCompat.getDrawable( + context, + R.drawable.icon_traffic_light_ai + )) } } DataSourceType.TELEMATIC_UNION_V2I, @@ -341,16 +351,20 @@ class SingleTrafficLightView @JvmOverloads constructor( if(trafficLightUser == 1){ mLightSourceTV?.text = context.getString(R.string.light_source_perception) }else{ - mLightSourceTV?.text = context.getString(R.string.light_source_driver_perception) + mLightSourceIV?.setImageDrawable(ContextCompat.getDrawable( + context, + R.drawable.icon_traffic_light_vehicle + )) } } DataSourceType.OBU -> { if(trafficLightUser == 1){ mLightSourceTV?.text = context.getString(R.string.light_source_obu) }else{ - mLightSourceTV?.text = context.getString(R.string.light_source_driver_obu) - mLightSourceTV?.textSize = AutoSizeUtils.sp2px(context, 23f).toFloat() - mLightSourceTV?.setLineSpacing(0f, 1.0f) + mLightSourceIV?.setImageDrawable(ContextCompat.getDrawable( + context, + R.drawable.icon_traffic_light_obu + )) } } else -> { @@ -374,7 +388,13 @@ class SingleTrafficLightView @JvmOverloads constructor( context.resources.getDimension(R.dimen.hmi_traffic_light_bus_bg_width).toInt() }else{ //司机屏 - //TODO + val lp = this.layoutParams as MarginLayoutParams + lp.width = context.resources.getDimension(R.dimen.dp_368).toInt() + this.layoutParams = lp + mLightSourceIV?.visibility = VISIBLE + mLightSourceDivider!!.visibility = VISIBLE + mLightTimeTV?.visibility = VISIBLE + mTrafficLightClBG?.setBackgroundResource(R.drawable.icon_single_traffic_light_bg) } } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_traffic_light_ai.png b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_traffic_light_ai.png new file mode 100644 index 0000000000000000000000000000000000000000..bbb4ac0f335a4893455c4cd8159b9129ced26e45 GIT binary patch literal 1810 zcmaKtdpy$%AIE=djAl4bh`HssRV2r4HkDh*IBt`>qLk zPl}W%2@%CQvph)=KzPgs_zWq5hXGs7EA4Rqc$Vu)5oRo3Jn zZ6)?j=q5U2?UuN`-JxyF`E74@x;n2q{a>jOZjYJicSp!&+O?9N{c&{op%54U94!`a z=lrnx7#EfB0>AZ&r7(8$3g3U3-Z8u_EV$7kbSaR;_vjYf zw^inzIK)2hQL>$D3qIKKLl1h!Vm+!Ul78VEA6KqF!IL&E* zAgsB_INHn2#_~W@c2137WaZ!hDp7_p^wB?vv5=oVs!H-C!-KaF)TI7BSkj?wL*)Up z*fLt_yiO48IR%?E(n zX(eD=&kIA?w}vaE*o8!gPE)9b?JSaLPe}0p!0hkzY1IDxE3KHb;|_Q;=*3lz0NS8~5vXN(M&}AhCzFiP^3O zP?_vkUsC5=u}qEl11EmfF7}?qYTg4a7Jd?lld7*4Rx1KVvu)ihrGkmEcvOSH<%~0s z1G+zIsWeGeSnNb35~|i$-CIBFfL&iz9MyujW5NvxB)1>bI`(d3ETTaCjNCvh`sw`b zTtp0JhPkcqsSpx3fU#W6GuOpM@#et z+)ADf-ph#aL#UI8x0;R}V>PQWOfqVFI{O}-tKowe7Y7!`~K;{L4{f1I(dbLz03 z1BJ(5O7IA5O1><=0~4kkIT*Oo!wmARKu~Q8u)FfAla_>iNu8NqW?!A`i=KzqxK+npEaMUe*t}rw#r*IjSV*qVNPB z5O#_&iTXjiZTpe>gIfQrJxS`lZMY7+UX6ZFdRBl-U7gU_ZkjNa{=HpKEGr(d0+mzA zRg2?ctgp8e&ZDimB2Q*^@MIhugw@Qx&B`hK_@s~X7+yF=X66`140#LY{ybfh0Y#k{ zg%>5)S6>e+n$c#+R}p=NN2IHcM;Qb?q1u@4)Wi_lCheU8{sRCe7H!zu()!0Z7}6cb zgEW^6&XEZ4q(^9IPXI~tMr0lp-qKVPv*cNEHVUI?P}`U7cuj~4fo#qha_hw$fUZ{a z@8RX%jezTmit0)aMiL@mB28}9r^k#s)~PIXQ2VXivL6GFF*^NBL2!dMLUmA))qhwU zgVI;u!AHkkSk@0~JPR2ty3%<)b?@BLYWWPhegAvgmb@OckeI_C2sNR1Y)LJhzIco% z`4TQsBX|G;SLDkDP0XTK7HG#GvNxABQGI&7Qy`=5Id_P_FDK!Hv7FT#%{=5_-wY^D z98P&icLUa%)}wT<`m+s!hqx3@-5vZ)!atw%|GWA~4s2JValPD;yFf?${6}beSGzjf H;G6#il@L-? literal 0 HcmV?d00001 diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_traffic_light_obu.png b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_traffic_light_obu.png new file mode 100644 index 0000000000000000000000000000000000000000..bcfc24dbe19db93b6d5d7f75728f22591bc80606 GIT binary patch literal 1697 zcmZWqX;_kp7RHVFQY_5OL<<462{et&+*(wW7?;vS%^h>W1ea7?M;k}c)GTwMA>1Z+ z%t}X1TU^j_q}=X=qQ196g+p&>?uJ~nIhxgG#ayPHxdr)&~Vjxk` zTK=0Q-%!PZRa8_kkN--R1WDj=qkR4yDx>tQ#8N_y1FMFd>9Ja(>-WNtR%1nE<41wk z=KrZih|e0AE=coG1Q>F$3a?n@Kc)j-b}KxM;$62`;Vg9)uII-KG?=Ls}ni*vi&~`_F0NCFjJ_3;|E;- z4FA*_Y-V~Mw3U&jpMZuM5{e3Z*)XT$MB`24%&>t-txXh+Yub}Yp5$0)vYN?U=9i+sq{sSr`P%|CF+uWup+{4h+b=5oi|$i{s}shf{QFh1>>Xn&-4M*ttLjTXM4GHS)5^$L~mIi`#csk#(4io#O`0(l^JE1 z$8|+p|7_rhYdNiQja`^*&sntl$EZ- zt`Y5KtJ693HU7qGI;v~WeInSIZ?Jl(?y~nEUblvfgy%!wzNQ5mEF7;O(sxFR{7k>x zy3ZW9E-kAcp>k8C$oYDv?`)=@w1jks(or9v1&b?+9KG~svFN!V|1`oY^#@0DJ@GqR zsM~SIM##>ry{Nq_j@kr|nL8EWA zbr1S{`jfpaE_fsHD}=y79Ym|zY?PVVj>c{r9ba34c_T)tVMXi3Ivt(M&Pz6=yOb0D zjRyC@2lul#V($!&=xiS4M<8?Bh2fn&7`vbKD4d~%9ZuUH)vkQI3O1@yDhedJ0FlF>+DLp0~b z4r*_zrf*MZ5ZxRF9rPb6mj+@Ioe6zr1!?Mjmn2Mk;l()b#_WPm!8aQ!##hD}O9S0G zS`%3_(l!r--GnhqFi2QLkYj!R-Eb2zFy<3=wuG{$tam9q1fUVfK5eWkP*OrO-&G|Lj6$sO^~G>1?}y=kb3R g_n!m&QvvYhJ1id*!+~%6e|--Gdly`@ZD7X#0Ik~;*Z=?k literal 0 HcmV?d00001 diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_traffic_light_vehicle.png b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_traffic_light_vehicle.png new file mode 100644 index 0000000000000000000000000000000000000000..88ff6c325030ffd051276ae9696a6e68271dee35 GIT binary patch literal 1333 zcmeAS@N?(olHy`uVBq!ia0vp^Hb7j#!3HGPnNH*YQjEnx?oJHr&dIz4a$Hg)JkxxA z8MJ_G4hF{dOa>N^5+IfWVg?501&j>LK$;OGwtxvPYqNkE&aMC{R9ho{m4Sg}zNd?0 zNCo5DXzvU$LxFeiCtnk*v0u$D+7idw{eW4-zw3BY#l{zo0gfNF$!^cwAy} ztg8E_Y{82oM;CcZUB1rB|J`bj4M(N$;@>^=cw&na^2d!EBMbehU}OX;s*{F)|~w&#@zFFw@6y}xmjYmuJ2=CpB0K0*s-pa zS4!CD%U#)wYWZ8`lkJwWoOyfS@y*@^Pc8NaaolU$#khx=p=!l<&9AyW`=&HpH|$&2 z^u|D$U$m1^j62HVfbPqHgmvGz`3eGL3O1%anG`r{cH-vx``3#aE|xl^Db*Quo-MeP z5h8i;rJ|9qyL0cM1L|2UrNZ1ULHCUBaHTt+zb4JG$?(ptI)TV%TDBS~W-JNv7b~mN znBVm=Gwiv#mhbWv=P6=$_bW9R?(TiC)3PV~{k5meJlA(Rx0^4T(zd8!X_HvFcNMF` z@t^|%Uo|<_2`;>0d*jAg;SUB)XU!kgoYmUqCVY9p6yr0xFUuGzjxnrIy>(Kg2g?w!j1hox|VKaVbtC*!kk1#9NpCqBqpBX}$RNk->` z61KLbb$TlgUCVwVcjlc$X~gSO4Mq!iG?-!30jETU=Wk3;$WQp~X=kW!$#6n1Wfq%a z#vJYgO7FKk_>*N(e~s~hjq>~EH$uM*SA|^6wQ;TW%zc`n@U`Lw-*0`{WRLE0#)238 zCB}9hdl?q&XFtm`!CCQ@>~xU_y_O7*ef}MM^Y4+!J|oQou4fCbypal8@~wb7XRXJE zoPDeJOkXkk5z8mJCubPhYmXZqcGUlVQT>0*i{BhGmsyvkXslEIKB?y5tJkl%1aePI zK5;VTRjwGvDgVi*UVgG%eg3o7*7nJEac-@7Q`sZB-V62aP%xiy;dz*dWktk$gJ8B3 zp3(j>?hCx-9JZ;JY^z|%HM_~R)30emw2RsIP>UK?%l;vD#nR%L*PdsX;zlqN;{%D>nC>Ec^7wZYBtFBIJ$TT_oM#Vw@^P8N1oKGw>v%kGa zQ}PZ|7ua& z#E|_j`OC7eCqCcmEc;UTS7Ot>DgT}ccl`2J$js1k`TPI5N1%tww+-9ZAIJz3DUa^r zbKB=9!X@E1lmF@t!{@pQ?<^~1R61m3FQ?5)wqEPsGmqJ(<;Comy)|O)ix!o%F}h!T qZuj!K|Es7_yk!7#F`=Q({GXvzu(&5pwqX~j$ntdcb6Mw<&;$Un7cV*h literal 0 HcmV?d00001 diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/hmi_view_traffic_light.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/hmi_view_traffic_light.xml index 4bda39f7de..c5e84468e4 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/hmi_view_traffic_light.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/hmi_view_traffic_light.xml @@ -37,22 +37,19 @@ app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent" android:background="#999999" - app:layout_constraintRight_toLeftOf="@id/hmi_traffic_light_source" + app:layout_constraintRight_toLeftOf="@id/hmi_traffic_light_source_image" android:layout_marginEnd="@dimen/dp_20" /> - - \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/values/strings.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/values/strings.xml index 8455161f95..1097775dc6 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/values/strings.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/values/strings.xml @@ -212,4 +212,6 @@ 消息盒子吐司图标 + 红绿灯信号来源 + From 09d8fcb69929ff7e64f6a78cd7d722059c71d741 Mon Sep 17 00:00:00 2001 From: xuxinchao Date: Fri, 27 Sep 2024 18:21:50 +0800 Subject: [PATCH 6/6] =?UTF-8?q?[6.7.0]=E6=9B=B4=E6=94=B9=E4=B8=80=E9=94=AE?= =?UTF-8?q?=E4=B8=8A=E6=8A=A5=E8=A7=A6=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/function/hmi/bone/tab/ReportTypeView.kt | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/tab/ReportTypeView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/tab/ReportTypeView.kt index 253aec586e..228ed603f6 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/tab/ReportTypeView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/tab/ReportTypeView.kt @@ -20,9 +20,11 @@ import com.mogo.eagle.core.data.app.AppConfigInfo import com.mogo.eagle.core.data.deva.report.CategoryInfo import com.mogo.eagle.core.data.deva.report.PadAddProblemReq import com.mogo.eagle.core.data.deva.report.PadProblemInfo +import com.mogo.eagle.core.function.api.autopilot.IMoGoTakeoverListener import com.mogo.eagle.core.function.api.devatools.IMoGoDevaToolsListener import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationWGS84ListenerManager +import com.mogo.eagle.core.function.call.autopilot.CallerTakeoverListenerManager import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsListenerManager import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager import com.mogo.eagle.core.function.hmi.R @@ -49,7 +51,8 @@ class ReportTypeView @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0 -) : ConstraintLayout(context, attrs, defStyleAttr), IMoGoDevaToolsListener { +) : ConstraintLayout(context, attrs, defStyleAttr), + IMoGoDevaToolsListener, IMoGoTakeoverListener { private val TAG = "ReportTypeView" @@ -79,6 +82,7 @@ class ReportTypeView @JvmOverloads constructor( private fun initView(){ CallerDevaToolsListenerManager.addListener(TAG, this) + CallerTakeoverListenerManager.addListener(TAG,this) if(isOneClickType){ showOneCLickReportView() }else{ @@ -264,4 +268,13 @@ class ReportTypeView @JvmOverloads constructor( this.clickListener = clickListener } + /** + * 人工接管 + */ + override fun onTakeoverState(state: Int) { + ThreadUtils.runOnUiThread { + showOneCLickReportView() + } + } + } \ No newline at end of file