diff --git a/OCH/mogo-och-bus/src/main/res/layout/bus_base_fragment.xml b/OCH/mogo-och-bus/src/main/res/layout/bus_base_fragment.xml index 931badb5ae..ee2adf9079 100644 --- a/OCH/mogo-och-bus/src/main/res/layout/bus_base_fragment.xml +++ b/OCH/mogo-och-bus/src/main/res/layout/bus_base_fragment.xml @@ -299,7 +299,7 @@ android:src="@drawable/icon_bad_case" /> - - diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/RomaBusView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/RomaBusView.kt new file mode 100644 index 0000000000..d574fd6df5 --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/RomaBusView.kt @@ -0,0 +1,98 @@ +package com.mogo.eagle.core.function.hmi.ui.widget + +import android.content.Context +import android.util.AttributeSet +import android.view.LayoutInflater +import androidx.appcompat.content.res.AppCompatResources +import androidx.constraintlayout.widget.ConstraintLayout +import com.mogo.eagle.core.function.api.map.roma.IMoGoRomaListener +import com.mogo.eagle.core.function.call.map.CallerMapIdentifyManager.romaTrigger +import com.mogo.eagle.core.function.call.map.CallerMapRomaListener +import com.mogo.eagle.core.function.hmi.R +import kotlinx.android.synthetic.main.view_roma_bus_bg.view.ivRomaView +import kotlinx.android.synthetic.main.view_roma_bus_bg.view.ll_roma_bg + +class RomaBusView @JvmOverloads constructor( + context: Context, + attrs: AttributeSet? = null, + defStyleAttr: Int = 0 +) : ConstraintLayout(context, attrs, defStyleAttr), IMoGoRomaListener { + + companion object{ + private const val TAG = "RomaView" + } + + @Volatile + private var romaMode = false + + @Volatile + private var click = true + + private val normalRes: Int + private val openRes: Int + + init{ + LayoutInflater.from(context).inflate(R.layout.view_roma_bus_bg, this, true) + val a = context.obtainStyledAttributes( + attrs, + R.styleable.RomaView, + defStyleAttr, + 0 + ) + normalRes = a.getResourceId( + R.styleable.RomaView_roma_close_bg, + R.drawable.romabg_normal_select + ) + openRes = a.getResourceId( + R.styleable.RomaView_roma_open_bg, + R.drawable.romabg_press_select_bg + ) + a.recycle() + if(normalRes!=0){ + ll_roma_bg.background = AppCompatResources.getDrawable(context, normalRes) + } + + setOnClickListener { + if(!click){ + return@setOnClickListener + } + click = false + romaMode = !romaMode + //司机屏不控制乘客屏漫游,独自漫游 + romaTrigger(romaMode) + + } + } + + override fun romaStatus(status: Boolean) { + click = true + if (status) { + romaMode = true + if(openRes!=0){ + ll_roma_bg.setBackgroundResource(openRes) + }else{ + ll_roma_bg.setBackgroundResource(R.drawable.romabg_press_select_bg) + } + ivRomaView.setBackgroundResource(R.drawable.roma_press_select_bg) + } else { + romaMode = false + if(normalRes!=0){ + ll_roma_bg.setBackgroundResource(normalRes) + }else{ + ll_roma_bg.setBackgroundResource(R.drawable.roma_bg_selector) + } + ivRomaView.setBackgroundResource(R.drawable.romafront_select_bg) + } + } + + override fun onAttachedToWindow() { + super.onAttachedToWindow() + CallerMapRomaListener.addListener(TAG, this) + } + + override fun onDetachedFromWindow() { + super.onDetachedFromWindow() + CallerMapRomaListener.removeListener(TAG) + } + +} \ 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/widget/RomaView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/RomaTaxiView.kt similarity index 93% rename from core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/RomaView.kt rename to core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/RomaTaxiView.kt index 810deabf03..8f13e089b7 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/RomaView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/RomaTaxiView.kt @@ -9,9 +9,10 @@ import com.mogo.eagle.core.function.api.map.roma.IMoGoRomaListener import com.mogo.eagle.core.function.call.map.CallerMapIdentifyManager.romaTrigger import com.mogo.eagle.core.function.call.map.CallerMapRomaListener import com.mogo.eagle.core.function.hmi.R -import kotlinx.android.synthetic.main.view_roma_bg.view.* +import kotlinx.android.synthetic.main.view_roma_taxi_bg.view.ivRomaView +import kotlinx.android.synthetic.main.view_roma_taxi_bg.view.ll_roma_bg -class RomaView @JvmOverloads constructor( +class RomaTaxiView @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0 @@ -31,7 +32,7 @@ class RomaView @JvmOverloads constructor( private val openRes: Int init { - LayoutInflater.from(context).inflate(R.layout.view_roma_bg, this, true) + LayoutInflater.from(context).inflate(R.layout.view_roma_taxi_bg, this, true) val a = context.obtainStyledAttributes( attrs, R.styleable.RomaView, diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_roma_bg.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_roma_bus_bg.xml similarity index 100% rename from core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_roma_bg.xml rename to core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_roma_bus_bg.xml diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_roma_taxi_bg.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_roma_taxi_bg.xml new file mode 100644 index 0000000000..c74d98ff78 --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_roma_taxi_bg.xml @@ -0,0 +1,39 @@ + + + + + + + + + + + + \ No newline at end of file