From d646a6a25634f022da7df09cd66ad3f93d56c851 Mon Sep 17 00:00:00 2001 From: xuxinchao Date: Sat, 29 Jun 2024 23:55:36 +0800 Subject: [PATCH] =?UTF-8?q?[6.5.0]=E8=9E=8D=E5=90=88=E7=BA=A2=E7=BB=BF?= =?UTF-8?q?=E7=81=AF=E9=A2=9D=E5=A4=96=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../datacenter/v2x/TrafficLightDispatcher.kt | 19 +++ .../notice/traffic/TrafficLightPromptView.kt | 126 ++++++++++++++++++ .../res/drawable-xhdpi/bg_light_prompt.png | Bin 0 -> 66253 bytes .../res/layout/view_traffic_light_prompt.xml | 48 +++++++ .../layout/view_traffic_light_prompt_p.xml | 38 ++++++ .../src/main/res/values/attr.xml | 7 + .../src/main/res/values/color.xml | 8 ++ .../union/IMoGoTrafficLightListener.kt | 12 ++ .../v2x/CallerTrafficLightListenerManager.kt | 13 ++ 9 files changed, 271 insertions(+) create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/traffic/TrafficLightPromptView.kt create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/bg_light_prompt.png create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_traffic_light_prompt.xml create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_traffic_light_prompt_p.xml diff --git a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/v2x/TrafficLightDispatcher.kt b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/v2x/TrafficLightDispatcher.kt index 703fcd4f6f..faeca9e548 100644 --- a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/v2x/TrafficLightDispatcher.kt +++ b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/v2x/TrafficLightDispatcher.kt @@ -153,6 +153,11 @@ class TrafficLightDispatcher : IMoGoAutopilotIdentifyListener, IMoGoTrafficLight convert(light.nextTwoState),light.nextTwoDuration.toInt(), DataSourceType.TELEMATIC_UNION_V2N ) + //当前灯态倒计时小于5S时,展示额外的提示框 + if(light.duration < 5){ + onTrafficLightPrompt(convert(light.state),light.duration.toInt()) + } + //TODO 提示框的消失逻辑 } } } @@ -264,6 +269,20 @@ class TrafficLightDispatcher : IMoGoAutopilotIdentifyListener, IMoGoTrafficLight CallerTrafficLightListenerManager.disableTrafficLight() } + /** + * 融合V2N红绿灯额外提示框提醒 + */ + @ChainLog( + linkChainLog = ChainConstant.CHAIN_TYPE_SOCKET_TRAFFIC_LIGHT, + linkCode = ChainConstant.CHAIN_SOURCE_ADAS, + nodeAliasCode = ChainConstant.CHAIN_CODE_ADAS_TRAFFIC_LIGHT, + paramIndexes = [0, 1]) + override fun onTrafficLightPrompt(currentState: TrafficLightEnum, currentDuration: Int) { + super.onTrafficLightPrompt(currentState, currentDuration) + Log.i("xuxinchao","融合V2N红绿灯额外提示框提醒 Dis") + CallerTrafficLightListenerManager.onShowTrafficLightPrompt(currentState, currentDuration) + } + /** * 融合V2N红绿灯数据,带有下一下二灯态 */ diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/traffic/TrafficLightPromptView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/traffic/TrafficLightPromptView.kt new file mode 100644 index 0000000000..e91a850337 --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/traffic/TrafficLightPromptView.kt @@ -0,0 +1,126 @@ +package com.mogo.eagle.core.function.hmi.ui.notice.traffic + +import android.content.Context +import android.util.AttributeSet +import android.util.Log +import android.view.LayoutInflater +import android.view.View +import android.widget.TextView +import androidx.constraintlayout.widget.ConstraintLayout +import androidx.core.content.ContextCompat +import com.mogo.eagle.core.data.enums.TrafficLightEnum +import com.mogo.eagle.core.function.api.datacenter.union.IMoGoTrafficLightListener +import com.mogo.eagle.core.function.call.v2x.CallerTrafficLightListenerManager +import com.mogo.eagle.core.function.hmi.R +import com.mogo.eagle.core.function.hmi.ui.widget.TypefaceTextView +import com.mogo.eagle.core.utilcode.util.ThreadUtils + +/** + * 融合红绿灯变灯提示 + * 鹰眼650需求 + */ +class TrafficLightPromptView @JvmOverloads constructor( + context: Context, + attrs: AttributeSet? = null, + defStyleAttr: Int = 0 +) : ConstraintLayout(context, attrs, defStyleAttr), IMoGoTrafficLightListener { + + companion object { + private const val TAG = "TrafficLightPromptView" + } + + private var user = 0 //使用方,driver:0 passenger:1 + private var tvPromptTitle: TextView ?= null + private var tvPromptContent: TextView ?= null + private var tvTrafficNum: TypefaceTextView ?= null + private var tvTrafficNumDecimal: TypefaceTextView ?= null + private val randomList = ArrayList() + + init { + val typedArray = context.obtainStyledAttributes(attrs, R.styleable.TrafficLightPromptView) + user = typedArray.getInt(R.styleable.TrafficLightPromptView_promptUser,0) + typedArray.recycle() + } + + override fun onAttachedToWindow() { + super.onAttachedToWindow() + if(user == 0){ + LayoutInflater.from(context).inflate(R.layout.view_traffic_light_prompt, this, true) + tvPromptTitle = findViewById(R.id.tvPromptTitle) + }else{ + LayoutInflater.from(context).inflate(R.layout.view_traffic_light_prompt_p, this, true) + } + tvPromptContent = findViewById(R.id.tvPromptContent) + tvTrafficNum = findViewById(R.id.tvTrafficNum) + tvTrafficNumDecimal = findViewById(R.id.tvTrafficNumDecimal) + CallerTrafficLightListenerManager.addListener(TAG, this) + + randomList.add(0.99f) + randomList.add(0.72f) + randomList.add(0.44f) + randomList.add(0.21f) + randomList.add(0.06f) + +// tvPromptContent?.text = "请准备出发" +// tvTrafficNum?.text = "12" +// tvTrafficNumDecimal?.text = ".56" + } + + override fun onDetachedFromWindow() { + super.onDetachedFromWindow() + CallerTrafficLightListenerManager.removeListener(TAG) + } + + + + /** + * 红绿灯额外提示框 + * @param currentState 当前灯态 + * @param currentDuration 当前灯态倒计时 + */ + override fun onShowTrafficLightPrompt(currentState: TrafficLightEnum, currentDuration: Int) { + super.onShowTrafficLightPrompt(currentState, currentDuration) + Log.i("xuxinchao","TrafficLightPromptView onTrafficLightPrompt") + Log.i("xuxinchao","onShowTrafficLightPrompt user="+user) + ThreadUtils.runOnUiThread { + when(currentState){ + TrafficLightEnum.GREEN->{ + this@TrafficLightPromptView.visibility = View.VISIBLE + if(user == 0){ + tvTrafficNum?.setTextColor(ContextCompat.getColor(context,R.color.light_prompt_green)) + tvTrafficNumDecimal?.setTextColor(ContextCompat.getColor(context,R.color.light_prompt_green)) + }else{ + Log.i("xuxinchao","user="+user) + tvTrafficNum?.setTextColor(ContextCompat.getColor(context,R.color.light_prompt_green_p)) + tvTrafficNumDecimal?.setTextColor(ContextCompat.getColor(context,R.color.light_prompt_green_p)) + } + } + TrafficLightEnum.RED->{ + this@TrafficLightPromptView.visibility = View.VISIBLE + if(user == 0){ + tvTrafficNum?.setTextColor(ContextCompat.getColor(context,R.color.light_prompt_red)) + tvTrafficNumDecimal?.setTextColor(ContextCompat.getColor(context,R.color.light_prompt_red)) + }else{ + tvTrafficNum?.setTextColor(ContextCompat.getColor(context,R.color.light_prompt_red_p)) + tvTrafficNumDecimal?.setTextColor(ContextCompat.getColor(context,R.color.light_prompt_red_p)) + } + } + TrafficLightEnum.YELLOW->{ + this@TrafficLightPromptView.visibility = View.VISIBLE + if(user == 0){ + tvTrafficNum?.setTextColor(ContextCompat.getColor(context,R.color.light_prompt_yellow)) + tvTrafficNumDecimal?.setTextColor(ContextCompat.getColor(context,R.color.light_prompt_yellow)) + }else{ + tvTrafficNum?.setTextColor(ContextCompat.getColor(context,R.color.light_prompt_yellow_p)) + tvTrafficNumDecimal?.setTextColor(ContextCompat.getColor(context,R.color.light_prompt_yellow_p)) + } + } + TrafficLightEnum.BLACK->{ + this@TrafficLightPromptView.visibility = View.GONE + } + } + tvTrafficNum?.text = currentDuration.toString() + } + } + +} \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/bg_light_prompt.png b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/bg_light_prompt.png new file mode 100644 index 0000000000000000000000000000000000000000..00e3226db3b864992ba4888e400dc91e0f0415bb GIT binary patch literal 66253 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 literal 0 HcmV?d00001 diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_traffic_light_prompt.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_traffic_light_prompt.xml new file mode 100644 index 0000000000..3ce541d148 --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_traffic_light_prompt.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_traffic_light_prompt_p.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_traffic_light_prompt_p.xml new file mode 100644 index 0000000000..27cf95e6a8 --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_traffic_light_prompt_p.xml @@ -0,0 +1,38 @@ + + + + + + + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/values/attr.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/values/attr.xml index 75121362da..257d023d29 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/values/attr.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/values/attr.xml @@ -129,4 +129,11 @@ + + + + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/values/color.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/values/color.xml index 82b6d4e3c5..63da6ab51e 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/values/color.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/values/color.xml @@ -92,4 +92,12 @@ #106FF0 #42464F + #131415 + #FF3B2D + #31FF56 + #FFCD3D + #F63C12 + #36DB1C + #FDB700 + \ No newline at end of file diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/datacenter/union/IMoGoTrafficLightListener.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/datacenter/union/IMoGoTrafficLightListener.kt index 6f1be122fa..2278328f24 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/datacenter/union/IMoGoTrafficLightListener.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/datacenter/union/IMoGoTrafficLightListener.kt @@ -30,6 +30,11 @@ interface IMoGoTrafficLightListener { } + /** + * 红绿灯额外提示框 + */ + fun onTrafficLightPrompt(currentState: TrafficLightEnum,currentDuration: Int){} + /** * 融合红绿灯,带有下一灯态和下二灯态 */ @@ -57,6 +62,13 @@ interface IMoGoTrafficLightListener { */ fun showTrafficLight(checkLightId: TrafficLightEnum, lightSource: DataSourceType) {} + /** + * 红绿灯额外提示框 + * @param currentState 当前灯态 + * @param currentDuration 当前灯态倒计时 + */ + fun onShowTrafficLightPrompt(currentState: TrafficLightEnum,currentDuration: Int){} + /** * 展示融合带有下一下二灯态的红绿灯 * @param currentState 当前灯态 diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/v2x/CallerTrafficLightListenerManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/v2x/CallerTrafficLightListenerManager.kt index 83103ec2e1..40d3cc465f 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/v2x/CallerTrafficLightListenerManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/v2x/CallerTrafficLightListenerManager.kt @@ -1,5 +1,6 @@ package com.mogo.eagle.core.function.call.v2x +import android.util.Log import com.mogo.eagle.core.data.enums.DataSourceType import com.mogo.eagle.core.data.enums.TrafficLightEnum import com.mogo.eagle.core.data.biz.trafficlight.TrafficLightResult @@ -71,6 +72,18 @@ object CallerTrafficLightListenerManager : CallerBase } } + /** + * 红绿灯额外提示框 + * @param currentState 当前灯态 + * @param currentDuration 当前灯态倒计时 + */ + fun onShowTrafficLightPrompt(currentState: TrafficLightEnum,currentDuration: Int){ + M_LISTENERS.forEach{ + val listener = it.value + listener.onShowTrafficLightPrompt(currentState,currentDuration) + } + } + /** * 展示融合带有下一下二灯态的红绿灯 * @param currentState 当前灯态