Merge branch 'dev_minibus-d_230425_3.2.0' of gitlab.zhidaoauto.com:SCA/L4HA/AndroidApp/MoGoEagleEye into dev_minibus-d_230425_3.2.0

This commit is contained in:
wangmingjun
2023-05-08 17:51:53 +08:00
24 changed files with 316 additions and 80 deletions

View File

@@ -1,6 +1,7 @@
package com.mogo.och.bus.passenger;
import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_BUS_P;
import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI_P;
import android.content.Context;

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:tools="http://schemas.android.com/tools" xmlns:android="http://schemas.android.com/apk/res/android" tools:ignore="MissingDefaultResource">
<item android:drawable="@drawable/iv_roma_bus_passenger_press_bg" android:state_focused="true" android:state_pressed="true" />
<item android:drawable="@drawable/iv_roma_bus_passenger_press_bg" android:state_focused="false" android:state_pressed="true" />
<item android:drawable="@drawable/iv_roma_bus_passenger_press_bg" android:state_selected="true" />
<item android:drawable="@drawable/iv_roma_bus_passenger_press_bg" android:state_focused="true" />
<item android:drawable="@drawable/iv_roma_bus_passenger_bg" />
</selector>

View File

@@ -31,6 +31,18 @@
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<com.mogo.eagle.core.function.hmi.ui.widget.RomaPassengerView
android:id="@+id/ivMoGoLogo"
android:layout_width="@dimen/dp_121"
android:layout_height="@dimen/dp_121"
android:layout_marginRight="@dimen/dp_751"
android:layout_marginBottom="@dimen/dp_59"
android:background="@drawable/roma_bus_p_bg_selector"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:roma_close="@drawable/roma_bus_p_bg_selector"
app:roma_open="@drawable/iv_roma_bus_passenger_press_bg" />
<!--pnc行为决策-->
<com.mogo.eagle.core.function.hmi.ui.vehicle.PncActionsView
android:layout_width="wrap_content"

View File

@@ -3,4 +3,4 @@ package com.mogo.och.bus.passenger.bean.event
import com.mogo.och.bus.passenger.bean.response.LineInfoResponse
import com.mogo.och.bus.passenger.bean.response.SiteInfoResponse
data class EventLineSites(val lineInfo: LineInfoResponse.LineInfo, val sites: List<SiteInfoResponse.SiteInfo>)
data class EventLineSites(val lineInfo: LineInfoResponse.LineInfo?, val sites: List<SiteInfoResponse.SiteInfo>?, val clear:Boolean=false)

View File

@@ -102,7 +102,7 @@ class BusPassengerFunctionOrderPresenter(view: M1OrderLineFragment?) :
override fun onSuccess(data: SiteInfoResponse?) {
if (data?.data == null) return
val siteInfos = data.data
EventBus.getDefault().post(EventLineSites(checkLine,data.data))
EventBus.getDefault().post(EventLineSites(checkLine,siteInfos,false))
if (siteInfos.isNotEmpty()) {
// 计算当前站点是那个
val calculateCurrentSite =

View File

@@ -1,6 +1,9 @@
package com.mogo.och.bus.passenger.presenter
import android.graphics.Bitmap
import android.graphics.BitmapFactory
import android.graphics.Canvas
import android.view.View
import androidx.lifecycle.LifecycleOwner
import com.amap.api.maps.model.LatLng
import com.mogo.commons.voice.AIAssist
@@ -26,20 +29,25 @@ import com.mogo.och.bus.passenger.model.CharterPassengerModel
import com.mogo.och.bus.passenger.model.IOrderStatusChangeListener
import com.mogo.och.bus.passenger.model.OrderStatusEnum
import com.mogo.och.bus.passenger.ui.MainFragment
import com.mogo.och.bus.passenger.view.MakerWithSiteName
import com.mogo.och.bus.passenger.view.MakerWithSiteNamewithCheck
import com.mogo.och.common.module.bean.dpmsg.BaseDPMsg
import com.mogo.och.common.module.bean.dpmsg.DPCommonOperationMsg
import com.mogo.och.common.module.bean.dpmsg.DPMsgType
import com.mogo.och.common.module.biz.common.socketmessage.OCHSocketMessageManager
import com.mogo.och.common.module.biz.constant.OchCommonConst
import com.mogo.och.common.module.manager.devicemanage.LightAirconditionDoorStatusManager
import com.mogo.och.common.module.biz.network.OchCommonServiceCallback
import com.mogo.och.common.module.manager.OCHPlanningStopSideStatusManager
import com.mogo.och.common.module.manager.devicemanage.LightAirconditionDoorCallback
import com.mogo.och.common.module.manager.devicemanage.LightAirconditionDoorManager
import com.mogo.och.common.module.manager.devicemanage.LightAirconditionDoorStatusManager
import com.mogo.och.common.module.utils.CoordinateCalculateRouteUtil
import com.mogo.och.common.module.utils.DateTimeUtil
import com.mogo.och.common.module.utils.NumberFormatUtil
import com.mogo.och.common.module.utils.SoundPoolHelper
import com.mogo.och.common.module.voice.VoiceNotice
import com.mogo.och.common.module.bean.dpmsg.BaseDPMsg
import com.mogo.och.common.module.bean.dpmsg.DPCommonOperationMsg
import com.mogo.och.common.module.biz.network.OchCommonServiceCallback
import com.mogo.och.common.module.manager.devicemanage.LightAirconditionDoorCallback
import com.mogo.och.common.module.manager.devicemanage.LightAirconditionDoorManager
import me.jessyan.autosize.utils.AutoSizeUtils
import java.util.concurrent.ConcurrentHashMap
import kotlin.math.ceil
class BusPassengerPresenter(view: MainFragment?) :
@@ -47,6 +55,8 @@ class BusPassengerPresenter(view: MainFragment?) :
IDistanceCallback, IOrderChangeCallback, IOrderStatusChangeListener,
OCHPlanningStopSideStatusManager.OCHPlanningActionsCallback, LightAirconditionDoorCallback {
private val lindIdAndView = ConcurrentHashMap<Long, MakerWithSiteNamewithCheck?>()
override fun onCreate(owner: LifecycleOwner) {
super.onCreate(owner)
CharterPassengerModel.init()
@@ -273,7 +283,7 @@ class BusPassengerPresenter(view: MainFragment?) :
it.forEach {latLngMain ->
trajectoryList.add(latLngMain.exchangeData())
}
drawStations(sites)
drawStationInfo(sites)
mView?.drawOverMapViewTrajectory(trajectoryList)
}
}
@@ -286,12 +296,67 @@ class BusPassengerPresenter(view: MainFragment?) :
}
fun drawStations(sites: List<SiteInfoResponse.SiteInfo>){
fun drawStationInfo(sites: List<SiteInfoResponse.SiteInfo>){
val stationsList: MutableList<SiteMarkerBean> = mutableListOf()
val stationsNameList: MutableList<SiteMarkerBean> = mutableListOf()
val stationIcon = BitmapFactory.decodeResource(context.resources, R.drawable.map_staton_icon)
sites.forEach {
stationsList.add(SiteMarkerBean(LatLng(it.GcjLat!!,it.GcjLon!!),stationIcon,0.5f,0.5f))
val bitmap = getBitmap(it.siteId!!,it.siteName ?: "", it.isCheck)
stationsNameList.add(SiteMarkerBean(LatLng(it.GcjLat,it.GcjLon),bitmap,0.0f,0.2f))
}
mView?.drawOverMapViewStation(stationsList)
mView?.drawOverMapViewStation(stationsList,stationsNameList)
}
private fun getBitmap(siteId:Long,siteName: String,isCheck:Boolean): Bitmap {
var siteView = lindIdAndView[siteId]
if(siteView==null){
val marker = MakerWithSiteName(context)
marker.setTextAndCheck(siteName,isCheck)
marker.measure(
View.MeasureSpec.makeMeasureSpec(AutoSizeUtils.dp2px(context, 145f), View.MeasureSpec.UNSPECIFIED),
View.MeasureSpec.makeMeasureSpec(AutoSizeUtils.dp2px(context, 34f), View.MeasureSpec.EXACTLY)
)
marker.layout(0, 0, marker.measuredWidth, marker.measuredHeight)
val bitmap = Bitmap.createBitmap(marker.width, marker.height, Bitmap.Config.ARGB_8888)
marker.draw(Canvas(bitmap))
siteView = MakerWithSiteNamewithCheck(isCheck,marker,bitmap)
lindIdAndView[siteId] = siteView
}else{
CallerLogger.d(M_BUS_P + TAG, "缓存View:$siteName---${siteView.isCheck}-----$isCheck")
if (siteView.isCheck != isCheck) {
val marker = siteView.makerWithSiteName
marker.setTextAndCheck(siteName,isCheck)
marker.measure(
View.MeasureSpec.makeMeasureSpec(AutoSizeUtils.dp2px(context, 145f), View.MeasureSpec.UNSPECIFIED),
View.MeasureSpec.makeMeasureSpec(AutoSizeUtils.dp2px(context, 34f), View.MeasureSpec.UNSPECIFIED)
)
marker.layout(0, 0, marker.measuredWidth, marker.measuredHeight)
val bitmap = Bitmap.createBitmap(marker.width, marker.height, Bitmap.Config.ARGB_8888)
marker.draw(Canvas(bitmap))
siteView.isCheck = isCheck
siteView.bitmapView = bitmap
}
}
return siteView.bitmapView
}
fun drawEndStation() {
val currentOrderInfo = CharterPassengerModel.getCurrentOrderInfo()
currentOrderInfo?.let {
if (it.wgs84Lon != null && it.wgs84Lat != null && it.siteId != null && it.siteName != null) {
val coordinateConverterWgsToGcj =
CoordinateCalculateRouteUtil.coordinateConverterWgsToGcj(
context,
it.wgs84Lon!!,
it.wgs84Lat!!
)
setEndStationCallBack(
it.siteId, it.siteName,
coordinateConverterWgsToGcj.longitude, coordinateConverterWgsToGcj.latitude
)
}
}
}
}

View File

@@ -13,6 +13,7 @@ import com.mogo.commons.mvp.MvpFragment
import com.mogo.eagle.core.data.config.HdMapBuildConfig
import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager
import com.mogo.eagle.core.function.hmi.ui.msgbox.MMsgBoxButtonView
import com.mogo.eagle.core.function.hmi.ui.setting.ToggleDebugView
import com.mogo.eagle.core.function.view.SiteMarkerBean
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
@@ -28,6 +29,7 @@ import com.mogo.och.bus.passenger.model.CharterPassengerModel
import com.mogo.och.bus.passenger.presenter.BusPassengerPresenter
import com.mogo.och.bus.passenger.ui.dialogfragment.M1CarUserNoOrderFragment
import com.mogo.och.bus.passenger.ui.dialogfragment.M1ContainFragment
import com.mogo.och.bus.passenger.view.statusbar.StatusBarView
import com.mogo.och.common.module.biz.constant.LoginStatusManager
import com.mogo.och.common.module.voice.VoiceManager
import kotlinx.android.synthetic.main.m1_main_fragment.*
@@ -46,8 +48,12 @@ class MainFragment :
private var bpFunctionGroupDialogFragment: WeakReference<M1ContainFragment>? = null
private var m1CarUserNoOrderFragment: WeakReference<M1CarUserNoOrderFragment>? = null
val endStation =
BitmapFactory.decodeResource(AbsMogoApplication.getApp().resources, R.drawable.m1_small_map_view_dir_end)
private val endStation =
BitmapFactory.decodeResource(AbsMogoApplication.getApp().resources,
R.drawable.m1_small_map_view_dir_end)
private val lineTrajectory =
BitmapFactory.decodeResource(AbsMogoApplication.getApp().resources,
com.mogo.eagle.core.function.map.R.drawable.taxi_map_arrow_arrived)
override fun getLayoutId(): Int {
return R.layout.m1_main_fragment
@@ -265,26 +271,57 @@ class MainFragment :
@Subscribe(threadMode = ThreadMode.MAIN)
fun changeOverview(eventLineSites: EventLineSites) {
CallerLogger.d(M_BUS_P + TAG, "eventLineSites:${eventLineSites.lineInfo.lineId}-----${eventLineSites.sites.size}")
mPresenter?.getLineTrajectory(eventLineSites.lineInfo,eventLineSites.sites)
CallerLogger.d(M_BUS_P + TAG, "eventLineSites:${eventLineSites.lineInfo?.lineId}")
if(eventLineSites.clear){
UiThreadHandler.post(
{
omvOverMap?.clearSitePolyline()
omvOverMap?.includeSitePointsAndUpdateCamera(mutableListOf())
omvOverMap?.clearSiteMarkers()
omvOverMap?.clearSiteNameViews()
mPresenter?.drawEndStation()
},
UiThreadHandler.MODE.QUEUE
)
} else {
if(eventLineSites.lineInfo==null){//更新站点
mPresenter?.drawStationInfo(eventLineSites.sites!!)
}else{// 更新轨迹和站点
mPresenter?.getLineTrajectory(eventLineSites.lineInfo,eventLineSites.sites!!)
}
}
}
@Subscribe(threadMode = ThreadMode.MAIN)
fun changeDebugView(debugView: DebugView) {
if(debug_arrive_dest.visibility==View.GONE||debug_arrive_dest.visibility==View.INVISIBLE){
debug_arrive_dest.visibility = View.VISIBLE
}else{
debug_arrive_dest.visibility = View.GONE
}
when (debugView.type) {
StatusBarView.bizz -> {
if(debug_arrive_dest.visibility==View.GONE||
debug_arrive_dest.visibility==View.INVISIBLE){
debug_arrive_dest.visibility = View.VISIBLE
}else{
debug_arrive_dest.visibility = View.GONE
}
}
else -> {
ToggleDebugView.toggleDebugView.toggle(requireContext())
}
}
}
fun drawOverMapViewStation(stationsList: MutableList<SiteMarkerBean>){
fun drawOverMapViewStation(stationsList: MutableList<SiteMarkerBean>,siteMarkers: List<SiteMarkerBean>?){
omvOverMap?.clearSiteMarkers()
omvOverMap?.clearSiteNameViews()
omvOverMap?.drawSiteMarkers(stationsList)
omvOverMap?.drawSiteNameViews(siteMarkers)
}
fun drawOverMapViewTrajectory(coordinates: List<LatLng>){
UiThreadHandler.post({
omvOverMap?.drawPolyline(coordinates, 0)
fun drawOverMapViewTrajectory(coordinates: List<LatLng>) {
UiThreadHandler.post(
{
omvOverMap?.drawSitePolyline(coordinates, lineTrajectory)
omvOverMap?.includeSitePointsAndUpdateCamera(coordinates)
},
UiThreadHandler.MODE.QUEUE
)

View File

@@ -10,8 +10,10 @@ import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.RecyclerView
import com.mogo.eagle.core.utilcode.util.ToastUtils
import com.mogo.och.bus.passenger.R
import com.mogo.och.bus.passenger.bean.event.EventLineSites
import com.mogo.och.bus.passenger.bean.response.LineInfoResponse
import com.mogo.och.bus.passenger.bean.response.SiteInfoResponse
import org.greenrobot.eventbus.EventBus
/**
* Created by adityagohad on 06/06/17.
@@ -90,6 +92,7 @@ class OrderSiteItemAdapter(
}
}
notifyDataSetChanged()
EventBus.getDefault().post(EventLineSites(null,dataList,false))
checkChangeListener?.onCheckListener(tempInfo)
} else {
if (siteInfo.isNear) {

View File

@@ -16,6 +16,7 @@ import com.mogo.eagle.core.utilcode.util.BarUtils
import com.mogo.eagle.core.utilcode.util.SharedPrefs
import com.mogo.eagle.core.utilcode.util.ToastUtils
import com.mogo.och.bus.passenger.R
import com.mogo.och.bus.passenger.bean.event.EventLineSites
import com.mogo.och.bus.passenger.presenter.BusPassengerFunctionPresenter
import com.mogo.och.bus.passenger.ui.dialogfragment.fragment.M1OrderLineFragment
import com.mogo.och.bus.passenger.ui.dialogfragment.fragment.M1SoftFragment
@@ -24,6 +25,7 @@ import com.mogo.och.bus.passenger.ui.dialogfragment.fragment.OrderInfoFragment
import com.mogo.och.bus.passenger.ui.view.bottom.BottomBar
import com.mogo.och.bus.passenger.ui.view.bottom.BottomClickView
import kotlinx.android.synthetic.main.m1_contain_fragment.*
import org.greenrobot.eventbus.EventBus
/**
* @author: yangyakun
@@ -160,7 +162,7 @@ class M1ContainFragment :
override fun onDismiss(dialog: DialogInterface) {
super.onDismiss(dialog)
ToastUtils.showShort("消失了")
EventBus.getDefault().post(EventLineSites(null,null,true))
}
override fun onSaveInstanceState(outState: Bundle) {

View File

@@ -76,7 +76,7 @@ class M1OrderLineFragment :
LinearLayoutManager(context, LinearLayoutManager.VERTICAL, false)
rv_site_list.addItemDecoration(
BottomDecoration(
AutoSizeUtils.dp2px(context, 60f)
AutoSizeUtils.dp2px(context, 90f)
)
)
rv_site_list.adapter = siteAdapter

View File

@@ -0,0 +1,31 @@
package com.mogo.och.bus.passenger.view
import android.content.Context
import android.graphics.Bitmap
import android.util.AttributeSet
import android.view.LayoutInflater
import androidx.constraintlayout.widget.ConstraintLayout
import com.mogo.och.bus.passenger.R
import kotlinx.android.synthetic.main.view_maker_sitename.view.*
class MakerWithSiteName @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null,
defStyleAttr: Int = 0
) : ConstraintLayout (
context,
attrs,
defStyleAttr
) {
init {
LayoutInflater.from(context).inflate(R.layout.view_maker_sitename, this, true)
}
fun setTextAndCheck(siteName: String,isCheck:Boolean) {
tv_site_name.text = siteName
tv_site_name.isChecked = isCheck
}
}
data class MakerWithSiteNamewithCheck(var isCheck: Boolean,val makerWithSiteName:MakerWithSiteName,var bitmapView: Bitmap)

View File

@@ -37,18 +37,20 @@ class StatusBarView @JvmOverloads constructor(
const val TAG = "StatusBarView"
private const val COUNTS = 4 // 点击次数
private const val DURATION: Long = 1000 // 规定有效时间
const val bizz = "bizz" // 业务debug
const val debugView = "debugView" // 业务debug
}
private var mHits = LongArray(COUNTS)
private fun continuousClick() {
private fun continuousClick(type:String) {
//每次点击时,数组向前移动一位
System.arraycopy(mHits, 1, mHits, 0, mHits.size - 1)
//为数组最后一位赋值
mHits[mHits.size - 1] = SystemClock.uptimeMillis()
if (mHits[0] >= (SystemClock.uptimeMillis() - DURATION)) {
mHits = LongArray(COUNTS) //重新初始化数组
EventBus.getDefault().post(DebugView("show"))
EventBus.getDefault().post(DebugView(type))
}
}
@@ -76,9 +78,9 @@ class StatusBarView @JvmOverloads constructor(
updateStatusBarRightView(FunctionBuildConfig.isDemoMode, "demoMode", DemoModeView(this.context))
bizz_view.setOnClickListener {
continuousClick()
}
bizz_view.setOnClickListener { continuousClick(bizz) }
iv_biz_icon.setOnClickListener { continuousClick(debugView) }
progress.progress = 50
tv_power_cos.text = "50%"

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@android:color/white" android:state_checked="true" />
<item android:color="@color/bus_p_m1_112b57" android:state_checked="false" />
<item android:color="@color/bus_p_m1_112b57"/>
</selector>

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:bottomRightRadius="@dimen/dp_36" />
<gradient
android:angle="-90"
android:endColor="@color/bus_p_m1_d7e5f5"
android:startColor="@android:color/transparent" />
</shape>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="@dimen/dp_8"/>
<solid android:color="@android:color/white"/>
</shape>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="@dimen/dp_8"/>
<gradient android:startColor="@color/bus_p_m1_1466FB" android:endColor="@color/bus_p_m1_43CEFE"/>
</shape>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/charter_p_selct_site_name_shape_selected" android:state_checked="true"/>
<item android:drawable="@drawable/charter_p_selct_site_name_shape_normal" android:state_checked="false"/>
<item android:drawable="@drawable/charter_p_selct_site_name_shape_normal"/>
</selector>

View File

@@ -25,6 +25,8 @@
app:startPointDrawable="@null"
app:resetDrawableMarginRight="34dp"
app:resetDrawableMarginBottom="54dp"
app:bottomPadding="200"
app:topPadding="100"
app:isClearArrived="true"
android:layout_width="0dp"
android:layout_height="match_parent"/>

View File

@@ -57,58 +57,69 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingTop="@dimen/dp_20" />
<TextView
android:id="@+id/tv_site_cancle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_30"
android:layout_marginBottom="@dimen/dp_22"
android:background="@drawable/charter_p_shape_cancle_line_site_change"
android:gravity="center"
android:paddingStart="@dimen/dp_56"
android:paddingTop="@dimen/dp_14"
android:paddingEnd="@dimen/dp_56"
android:paddingBottom="@dimen/dp_13"
android:text="取消"
android:textColor="@android:color/white"
android:textSize="@dimen/dp_20"
<View
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/gl_site_cancle_submit_guide" />
<TextView
android:id="@+id/tv_site_submit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_30"
android:layout_marginBottom="@dimen/dp_22"
android:background="@drawable/charter_p_shape_submit_line_site_change"
android:gravity="center"
android:paddingStart="@dimen/dp_56"
android:paddingTop="@dimen/dp_14"
android:paddingEnd="@dimen/dp_56"
android:paddingBottom="@dimen/dp_13"
android:text="确认"
android:textColor="@android:color/white"
android:textSize="@dimen/dp_20"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/gl_site_cancle_submit_guide" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/gl_site_cancle_submit_guide"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.5" />
<androidx.constraintlayout.widget.Group
android:id="@+id/g_side_cancle_submit_group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:constraint_referenced_ids="tv_site_submit,tv_site_cancle" />
android:background="@drawable/charter_p_selct_site_bottom_corner"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_90"/>
</androidx.constraintlayout.widget.ConstraintLayout>
<TextView
android:id="@+id/tv_site_cancle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_30"
android:layout_marginBottom="@dimen/dp_22"
android:background="@drawable/charter_p_shape_cancle_line_site_change"
android:gravity="center"
android:paddingStart="@dimen/dp_56"
android:paddingTop="@dimen/dp_14"
android:paddingEnd="@dimen/dp_56"
android:paddingBottom="@dimen/dp_13"
android:text="取消"
android:textColor="@android:color/white"
android:textSize="@dimen/dp_20"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/gl_site_cancle_submit_guide" />
<TextView
android:id="@+id/tv_site_submit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_30"
android:layout_marginBottom="@dimen/dp_22"
android:background="@drawable/charter_p_shape_submit_line_site_change"
android:gravity="center"
android:paddingStart="@dimen/dp_56"
android:paddingTop="@dimen/dp_14"
android:paddingEnd="@dimen/dp_56"
android:paddingBottom="@dimen/dp_13"
android:text="确认"
android:textColor="@android:color/white"
android:textSize="@dimen/dp_20"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/gl_site_cancle_submit_guide" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/gl_site_cancle_submit_guide"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.5" />
<androidx.constraintlayout.widget.Group
android:id="@+id/g_side_cancle_submit_group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:constraint_referenced_ids="tv_site_submit,tv_site_cancle,tv_site_cancle,tv_site_submit" />
<androidx.constraintlayout.widget.Group
android:id="@+id/g_lines_sites_data"
android:layout_width="wrap_content"

View File

@@ -26,7 +26,7 @@
android:id="@+id/bizz_view"
app:layout_constraintEnd_toEndOf="parent"
android:layout_width="@dimen/dp_90"
android:layout_height="match_parent"/>
android:layout_height="@dimen/dp_47"/>
<!--Wifi状态-->
<com.mogo.eagle.core.function.hmi.ui.widget.WifiStateView
android:id="@+id/wifiStateView"
@@ -76,6 +76,7 @@
android:layout_height="wrap_content"/>
<ImageView
android:id="@+id/iv_biz_icon"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"

View File

@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<androidx.appcompat.widget.AppCompatCheckBox
android:id="@+id/tv_site_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_15"
android:gravity="center"
android:button="@null"
android:background="@drawable/charter_p_selct_site_name_shape_selector"
android:textColor="@color/charter_p_select_city_name_textcolor"
android:textSize="22dp"
android:paddingStart="@dimen/dp_16"
android:paddingEnd="@dimen/dp_16"
android:paddingTop="@dimen/dp_2"
android:paddingBottom="@dimen/dp_2"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
tools:text="18" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -31,6 +31,7 @@
<color name="bus_p_m1_090f28">#090F28</color>
<color name="bus_p_m1_5F7096">#5F7096</color>
<color name="bus_p_m1_9aabd2">#9AABD2</color>
<color name="bus_p_m1_d7e5f5">#D7E5F5</color>
<color name="bus_p_m1_662C2D31">#662C2D31</color>
<color name="bus_p_m1_332C2D31">#332C2D31</color>