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