[2.15.0] fix bug of traffic light sync
This commit is contained in:
@@ -7,17 +7,15 @@ import android.view.View
|
|||||||
import android.widget.ImageView
|
import android.widget.ImageView
|
||||||
import android.widget.LinearLayout
|
import android.widget.LinearLayout
|
||||||
import android.widget.TextView
|
import android.widget.TextView
|
||||||
import com.mogo.eagle.core.data.config.FunctionBuildConfig
|
|
||||||
import com.mogo.eagle.core.data.config.HmiBuildConfig
|
import com.mogo.eagle.core.data.config.HmiBuildConfig
|
||||||
import com.mogo.eagle.core.data.enums.DataSourceType
|
import com.mogo.eagle.core.data.enums.DataSourceType
|
||||||
import com.mogo.eagle.core.data.enums.TrafficLightEnum
|
import com.mogo.eagle.core.data.enums.TrafficLightEnum
|
||||||
|
import com.mogo.eagle.core.function.api.datacenter.union.IMoGoTrafficLightListener
|
||||||
import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener
|
import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener
|
||||||
import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener.Companion.TrafficLightView_TAG
|
import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener.Companion.TrafficLightView_TAG
|
||||||
import com.mogo.eagle.core.function.api.datacenter.union.IMoGoTrafficLightListener
|
|
||||||
import com.mogo.eagle.core.function.call.hmi.CallerHmiViewControlListenerManager
|
import com.mogo.eagle.core.function.call.hmi.CallerHmiViewControlListenerManager
|
||||||
import com.mogo.eagle.core.function.call.v2x.CallerTrafficLightListenerManager
|
import com.mogo.eagle.core.function.call.v2x.CallerTrafficLightListenerManager
|
||||||
import com.mogo.eagle.core.function.hmi.R
|
import com.mogo.eagle.core.function.hmi.R
|
||||||
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
|
|
||||||
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
|
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -72,9 +70,11 @@ class SingleTrafficLightView @JvmOverloads constructor(
|
|||||||
*/
|
*/
|
||||||
override fun showTrafficLight(checkLightId: TrafficLightEnum, lightSource: DataSourceType) {
|
override fun showTrafficLight(checkLightId: TrafficLightEnum, lightSource: DataSourceType) {
|
||||||
super.showTrafficLight(checkLightId, lightSource)
|
super.showTrafficLight(checkLightId, lightSource)
|
||||||
mCurrentLightId = checkLightId
|
UiThreadHandler.post {
|
||||||
if (!HmiBuildConfig.isShowTrafficLightView) {
|
mCurrentLightId = checkLightId
|
||||||
updateTrafficLightIcon(checkLightId, lightSource)
|
if (!HmiBuildConfig.isShowTrafficLightView) {
|
||||||
|
updateTrafficLightIcon(checkLightId, lightSource)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -95,14 +95,15 @@ class SingleTrafficLightView @JvmOverloads constructor(
|
|||||||
// 小巴车的司机端需要展示红绿灯信号来源
|
// 小巴车的司机端需要展示红绿灯信号来源
|
||||||
// if(AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)
|
// if(AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)
|
||||||
// && AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)){
|
// && AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)){
|
||||||
val lp = this.layoutParams as MarginLayoutParams
|
val lp = this.layoutParams as MarginLayoutParams
|
||||||
lp.width = context.resources.getDimension(R.dimen.dp_325).toInt()
|
lp.width = context.resources.getDimension(R.dimen.dp_325).toInt()
|
||||||
this.layoutParams = lp
|
this.layoutParams = lp
|
||||||
mLightSourceTV!!.visibility = VISIBLE
|
mLightSourceTV!!.visibility = VISIBLE
|
||||||
mLightSourceDivider!!.visibility = VISIBLE
|
mLightSourceDivider!!.visibility = VISIBLE
|
||||||
mLightTimeTV!!.visibility = GONE
|
mLightTimeTV!!.visibility = GONE
|
||||||
mLightSourceTV!!.setPadding(0,0,75,0)
|
mLightSourceTV!!.setPadding(0, 0, 75, 0)
|
||||||
mLightIconBG!!.layoutParams.width = context.resources.getDimension(R.dimen.dp_310).toInt()
|
mLightIconBG!!.layoutParams.width =
|
||||||
|
context.resources.getDimension(R.dimen.dp_310).toInt()
|
||||||
// }else{
|
// }else{
|
||||||
// val lp = this.layoutParams as MarginLayoutParams
|
// val lp = this.layoutParams as MarginLayoutParams
|
||||||
// lp.width = context.resources.getDimension(R.dimen.hmi_traffic_light_icon_size).toInt()
|
// lp.width = context.resources.getDimension(R.dimen.hmi_traffic_light_icon_size).toInt()
|
||||||
@@ -200,51 +201,51 @@ class SingleTrafficLightView @JvmOverloads constructor(
|
|||||||
* @param lightSource 1:云端下发;2:自车感知; 3:OBU
|
* @param lightSource 1:云端下发;2:自车感知; 3:OBU
|
||||||
*/
|
*/
|
||||||
private fun updateTrafficLightIcon(lightId: TrafficLightEnum, lightSource: DataSourceType) {
|
private fun updateTrafficLightIcon(lightId: TrafficLightEnum, lightSource: DataSourceType) {
|
||||||
UiThreadHandler.post {
|
when (lightId) {
|
||||||
when (lightId) {
|
TrafficLightEnum.RED -> {
|
||||||
TrafficLightEnum.RED -> {
|
mLightIconIV!!.setBackgroundResource(R.drawable.hmi_light_red_nor)
|
||||||
mLightIconIV!!.setBackgroundResource(R.drawable.hmi_light_red_nor)
|
this@SingleTrafficLightView.visibility = VISIBLE
|
||||||
this@SingleTrafficLightView.visibility = VISIBLE
|
|
||||||
}
|
|
||||||
TrafficLightEnum.YELLOW -> {
|
|
||||||
mLightIconIV!!.setBackgroundResource(R.drawable.hmi_lightyellow_nor)
|
|
||||||
this@SingleTrafficLightView.visibility = VISIBLE
|
|
||||||
}
|
|
||||||
TrafficLightEnum.GREEN -> {
|
|
||||||
mLightIconIV!!.setBackgroundResource(R.drawable.hmi_light_green_nor)
|
|
||||||
this@SingleTrafficLightView.visibility = VISIBLE
|
|
||||||
}
|
|
||||||
else -> this@SingleTrafficLightView.visibility = GONE
|
|
||||||
}
|
}
|
||||||
when (lightSource) {
|
TrafficLightEnum.YELLOW -> {
|
||||||
DataSourceType.AICLOUD -> {
|
mLightIconIV!!.setBackgroundResource(R.drawable.hmi_lightyellow_nor)
|
||||||
mLightSourceTV!!.text = "云端下发"
|
this@SingleTrafficLightView.visibility = VISIBLE
|
||||||
}
|
}
|
||||||
DataSourceType.TELEMATIC -> {
|
TrafficLightEnum.GREEN -> {
|
||||||
mLightSourceTV!!.text = "自车感知"
|
mLightIconIV!!.setBackgroundResource(R.drawable.hmi_light_green_nor)
|
||||||
}
|
this@SingleTrafficLightView.visibility = VISIBLE
|
||||||
DataSourceType.OBU -> {
|
}
|
||||||
mLightSourceTV!!.text = "OBU"
|
else -> this@SingleTrafficLightView.visibility = GONE
|
||||||
}
|
}
|
||||||
else -> {
|
when (lightSource) {
|
||||||
mLightSourceTV!!.visibility = GONE
|
DataSourceType.AICLOUD -> {
|
||||||
}
|
mLightSourceTV!!.text = "云端下发"
|
||||||
|
}
|
||||||
|
DataSourceType.TELEMATIC -> {
|
||||||
|
mLightSourceTV!!.text = "自车感知"
|
||||||
|
}
|
||||||
|
DataSourceType.OBU -> {
|
||||||
|
mLightSourceTV!!.text = "OBU"
|
||||||
|
}
|
||||||
|
else -> {
|
||||||
|
mLightSourceTV!!.visibility = GONE
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun resetView(){
|
private fun resetView() {
|
||||||
// 小巴车的司机端需要展示红绿灯信号来源 ,由于需要知道来源,这里不在限制
|
// 小巴车的司机端需要展示红绿灯信号来源 ,由于需要知道来源,这里不在限制
|
||||||
// if(AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)
|
// if(AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)
|
||||||
// && AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)){
|
// && AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)){
|
||||||
val lp = this.layoutParams as MarginLayoutParams
|
val lp = this.layoutParams as MarginLayoutParams
|
||||||
lp.width = context.resources.getDimension(R.dimen.hmi_traffic_light_bus_layout_width).toInt()
|
lp.width =
|
||||||
this.layoutParams = lp
|
context.resources.getDimension(R.dimen.hmi_traffic_light_bus_layout_width).toInt()
|
||||||
mLightTimeTV!!.visibility = View.VISIBLE
|
this.layoutParams = lp
|
||||||
mLightSourceDivider!!.visibility = View.VISIBLE
|
mLightTimeTV!!.visibility = View.VISIBLE
|
||||||
mLightSourceTV!!.visibility = View.VISIBLE
|
mLightSourceDivider!!.visibility = View.VISIBLE
|
||||||
mLightSourceTV!!.setPadding(0,0,0,0)
|
mLightSourceTV!!.visibility = View.VISIBLE
|
||||||
mLightIconBG!!.layoutParams.width = context.resources.getDimension(R.dimen.hmi_traffic_light_bus_bg_width).toInt()
|
mLightSourceTV!!.setPadding(0, 0, 0, 0)
|
||||||
|
mLightIconBG!!.layoutParams.width =
|
||||||
|
context.resources.getDimension(R.dimen.hmi_traffic_light_bus_bg_width).toInt()
|
||||||
// }else{
|
// }else{
|
||||||
// val lp = this.layoutParams as MarginLayoutParams
|
// val lp = this.layoutParams as MarginLayoutParams
|
||||||
// lp.width = context.resources.getDimension(R.dimen.hmi_traffic_light_layout_width).toInt()
|
// lp.width = context.resources.getDimension(R.dimen.hmi_traffic_light_layout_width).toInt()
|
||||||
|
|||||||
Reference in New Issue
Block a user