[8.4.0]
[b4] [到站逻辑变更、自车状态]
This commit is contained in:
@@ -30,7 +30,7 @@ open class BusStationBean {
|
||||
var lat: Double = 0.0 //高精坐标
|
||||
@JvmField
|
||||
var drivingStatus: Int = 0 //行驶信息,0初始值;1已经过;2当前站;3未到站
|
||||
var isLeaving: Boolean = false // 为出发false 出发true
|
||||
var isLeaving: Boolean = false // 未出发false 出发true
|
||||
var introduction: String? = null // 站点简介
|
||||
var isPlayTts: Boolean = false
|
||||
var pointType: Int = 0 // 1:途径点 2:禁行点 3:站点
|
||||
|
||||
@@ -21,6 +21,7 @@ import com.mogo.och.unmanned.model.LineModel
|
||||
import com.mogo.och.unmanned.ui.bizswitch.SwtichBizModel
|
||||
import kotlinx.android.synthetic.main.shuttle_unmanned_task_running.view.unmanned_aciv_task_leave_station_slide_bg
|
||||
import kotlinx.android.synthetic.main.shuttle_unmanned_task_running.view.unmanned_actv_arriver_station
|
||||
import kotlinx.android.synthetic.main.shuttle_unmanned_task_running.view.unmanned_actv_arriver_station_new
|
||||
import kotlinx.android.synthetic.main.shuttle_unmanned_task_running.view.unmanned_actv_complete_task
|
||||
import kotlinx.android.synthetic.main.shuttle_unmanned_task_running.view.unmanned_actv_running_task_last_station
|
||||
import kotlinx.android.synthetic.main.shuttle_unmanned_task_running.view.unmanned_actv_running_task_time
|
||||
@@ -88,6 +89,10 @@ class TaskRunningView : ConstraintLayout, TaskRunningModel.SwtichLineViewCallbac
|
||||
}
|
||||
|
||||
}
|
||||
unmanned_actv_arriver_station_new.setOnLongClickListener {
|
||||
viewModel?.arriveStation()
|
||||
true
|
||||
}
|
||||
unmanned_actv_complete_task.onClick {
|
||||
CallerLogger.d(TAG, "启动自驾参数:${LineManager.initAutopilotControlParameters()}")
|
||||
val builder = CommonDialogStatus.Builder()
|
||||
|
||||
@@ -125,5 +125,18 @@
|
||||
app:pressed_enabled="false" />
|
||||
</LinearLayout>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/unmanned_actv_arriver_station_new"
|
||||
android:layout_width="@dimen/dp_200"
|
||||
android:layout_height="@dimen/dp_200"
|
||||
android:background="@drawable/unmanned_bus_switch_task_selector"
|
||||
android:gravity="center"
|
||||
android:text="@string/unmanned_bus_running_task_jump_station"
|
||||
android:textColor="@color/unmanned_bus_task_submit_text_color_selector"
|
||||
android:textSize="@dimen/dp_40"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:pressed_enabled="false" />
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -55,9 +55,18 @@ class PB4DrivingFullsPresenter(view: PB4DrivingInfoFullSFragment?) :
|
||||
}
|
||||
|
||||
|
||||
override fun updateStationsInfo(stations: MutableList<BusStationBean>, i: Int, isArrived: Boolean) {
|
||||
override fun updateStationsInfo(stations: MutableList<BusStationBean>, currentStationIndex: Int, isArrived: Boolean) {
|
||||
ThreadUtils.runOnUiThread {
|
||||
mView?.updateStationsInfo(stations, i, isArrived)
|
||||
mView?.updateStationsInfo(stations, currentStationIndex, isArrived)
|
||||
}
|
||||
}
|
||||
|
||||
override fun updateLineInfo(lineName: String?) {
|
||||
super.updateLineInfo(lineName)
|
||||
lineName?.let {
|
||||
ThreadUtils.runOnUiThread {
|
||||
mView?.updateLineName(it)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -3,11 +3,34 @@ package com.mogo.och.shuttle.weaknet.passenger.ui.linenew
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
import com.mogo.commons.mvp.MvpFragment
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.mogo.och.common.module.utils.NumberFormatUtil
|
||||
import com.mogo.och.common.module.utils.ResourcesUtils
|
||||
import com.mogo.och.data.bean.BusStationBean
|
||||
import com.mogo.och.shuttle.weaknet.passenger.R
|
||||
import com.mogo.och.shuttle.weaknet.passenger.presenter.PB4DrivingFullsPresenter
|
||||
import kotlinx.android.synthetic.main.b4_driving_info_full_fragment.aciv_arrow_station_1
|
||||
import kotlinx.android.synthetic.main.b4_driving_info_full_fragment.aciv_arrow_station_2
|
||||
import kotlinx.android.synthetic.main.b4_driving_info_full_fragment.aciv_arrow_station_3
|
||||
import kotlinx.android.synthetic.main.b4_driving_info_full_fragment.aciv_arrow_station_4
|
||||
import kotlinx.android.synthetic.main.b4_driving_info_full_fragment.aciv_text_no_service
|
||||
import kotlinx.android.synthetic.main.b4_driving_info_full_fragment.actvLineName
|
||||
import kotlinx.android.synthetic.main.b4_driving_info_full_fragment.actv_station_des_first
|
||||
import kotlinx.android.synthetic.main.b4_driving_info_full_fragment.actv_station_des_second
|
||||
import kotlinx.android.synthetic.main.b4_driving_info_full_fragment.actv_station_head_pre_1
|
||||
import kotlinx.android.synthetic.main.b4_driving_info_full_fragment.actv_station_head_pre_2
|
||||
import kotlinx.android.synthetic.main.b4_driving_info_full_fragment.actv_station_head_pre_3
|
||||
import kotlinx.android.synthetic.main.b4_driving_info_full_fragment.actv_station_head_pre_4
|
||||
import kotlinx.android.synthetic.main.b4_driving_info_full_fragment.actv_station_pre_1
|
||||
import kotlinx.android.synthetic.main.b4_driving_info_full_fragment.actv_station_pre_2
|
||||
import kotlinx.android.synthetic.main.b4_driving_info_full_fragment.actv_station_pre_3
|
||||
import kotlinx.android.synthetic.main.b4_driving_info_full_fragment.actv_station_pre_4
|
||||
import kotlinx.android.synthetic.main.b4_driving_info_full_fragment.cl_empty_server
|
||||
import kotlinx.android.synthetic.main.b4_driving_info_full_fragment.cl_line_info_station
|
||||
import kotlinx.android.synthetic.main.b4_driving_info_full_fragment.end_station_name
|
||||
import kotlinx.android.synthetic.main.b4_driving_info_full_fragment.group_station_empty
|
||||
import kotlinx.android.synthetic.main.m2_arrive_view.view.ochtv_arrive_station_value
|
||||
import kotlin.math.ceil
|
||||
import kotlin.math.roundToInt
|
||||
|
||||
@@ -28,6 +51,21 @@ class PB4DrivingInfoFullSFragment :
|
||||
}
|
||||
|
||||
override fun initViews() {
|
||||
actv_station_des_first.setVertrial(true)
|
||||
val intArrayOf = intArrayOf(
|
||||
ResourcesUtils.getColor(R.color.b4_CDFFC0),
|
||||
ResourcesUtils.getColor(R.color.b4_9AFF98),
|
||||
)
|
||||
actv_station_des_first.setmColorList(intArrayOf)
|
||||
actv_station_des_second.setmColorList(intArrayOf)
|
||||
|
||||
|
||||
aciv_text_no_service.setVertrial(true)
|
||||
val intArrayOf2 = intArrayOf(
|
||||
ResourcesUtils.getColor(R.color.b4_EDBE2B),
|
||||
ResourcesUtils.getColor(R.color.b4_FF8300),
|
||||
)
|
||||
aciv_text_no_service.setmColorList(intArrayOf2)
|
||||
|
||||
}
|
||||
|
||||
@@ -49,27 +87,161 @@ class PB4DrivingInfoFullSFragment :
|
||||
super.onDestroyView()
|
||||
}
|
||||
|
||||
fun showNoTaskView(haveTask: Boolean) {
|
||||
|
||||
fun showNoTaskView(empty: Boolean) {
|
||||
CallerLogger.d(TAG,"是否有任务:${empty}")
|
||||
if(empty){
|
||||
cl_empty_server.visibility = View.VISIBLE
|
||||
cl_line_info_station.visibility = View.GONE
|
||||
group_station_empty.visibility = View.GONE
|
||||
actvLineName.text = ""
|
||||
}else{
|
||||
cl_empty_server.visibility = View.GONE
|
||||
cl_line_info_station.visibility = View.VISIBLE
|
||||
group_station_empty.visibility = View.VISIBLE
|
||||
}
|
||||
}
|
||||
|
||||
override fun createPresenter(): PB4DrivingFullsPresenter {
|
||||
return PB4DrivingFullsPresenter(this)
|
||||
}
|
||||
|
||||
fun updateStationsInfo(stations: MutableList<BusStationBean>, i: Int, isArrived: Boolean) {
|
||||
fun updateStationsInfo(stations: MutableList<BusStationBean>, currentStationIndex: Int, isLeave: Boolean) {
|
||||
if (stations.isEmpty()) {
|
||||
|
||||
showNoTaskView(true)
|
||||
} else {
|
||||
if (isArrived && i != 0) {
|
||||
|
||||
} else {
|
||||
when (currentStationIndex) {
|
||||
0 -> {
|
||||
actv_station_des_first.text = StringUtils.getString(R.string.b4_station_start_desc)
|
||||
actv_station_des_first.invalidate()
|
||||
actv_station_des_second.visibility = View.GONE
|
||||
}
|
||||
stations.size-1 -> {
|
||||
actv_station_des_first.text = StringUtils.getString(R.string.b4_station_end_desc)
|
||||
actv_station_des_first.invalidate()
|
||||
actv_station_des_second.visibility = View.GONE
|
||||
}
|
||||
else -> {
|
||||
actv_station_des_first.text = StringUtils.getString(R.string.b4_station_middle_desc_first)
|
||||
actv_station_des_first.invalidate()
|
||||
actv_station_des_second.visibility = View.VISIBLE
|
||||
actv_station_des_second.text = StringUtils.getString(R.string.b4_station_middle_desc_second)
|
||||
actv_station_des_first.invalidate()
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if(stations.isNotEmpty()) {
|
||||
val last = stations.last()
|
||||
end_station_name.text = last.name
|
||||
stations.removeLast()
|
||||
}
|
||||
|
||||
CallerLogger.d(TAG,"isLeave:${isLeave}---currentStationIndex:${currentStationIndex}")
|
||||
showStationInfo(currentStationIndex,stations)
|
||||
|
||||
if(currentStationIndex+4<stations.size){
|
||||
aciv_arrow_station_4.visibility = View.VISIBLE
|
||||
aciv_arrow_station_4.setImageResource(R.drawable.b4_arrow_double)
|
||||
}else{
|
||||
aciv_arrow_station_4.setImageResource(R.drawable.b4_arrow_single)
|
||||
}
|
||||
|
||||
if(isLeave){// 到达
|
||||
cl_empty_server.visibility = View.GONE
|
||||
cl_line_info_station.visibility = View.GONE
|
||||
}else{
|
||||
cl_empty_server.visibility = View.GONE
|
||||
cl_line_info_station.visibility = View.VISIBLE
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private fun showStationInfo(currentStationIndex:Int,stations:MutableList<BusStationBean>){
|
||||
if(currentStationIndex<stations.size) {
|
||||
val currentStation = stations[currentStationIndex]//1
|
||||
showBottom1Station(currentStation,true)
|
||||
}else{
|
||||
showBottom1Station(null,false)
|
||||
}
|
||||
if(currentStationIndex+1<stations.size){
|
||||
val next1Station = stations[currentStationIndex + 1]//2
|
||||
showBottom2Station(next1Station,true)
|
||||
}else{
|
||||
showBottom2Station(null,false)
|
||||
}
|
||||
if(currentStationIndex+2<stations.size){
|
||||
val next2Station = stations[currentStationIndex + 2]//3
|
||||
showBottom3Station(next2Station,true)
|
||||
}else{
|
||||
showBottom3Station(null,false)
|
||||
}
|
||||
if(currentStationIndex+3<stations.size){
|
||||
val next2Station = stations[currentStationIndex + 3]//4
|
||||
showBottom4Station(next2Station,true)
|
||||
}else{
|
||||
showBottom4Station(null,false)
|
||||
}
|
||||
}
|
||||
|
||||
private fun showBottom1Station(station:BusStationBean?,isShow:Boolean){
|
||||
if(isShow) {
|
||||
actv_station_pre_1.text = station?.name
|
||||
aciv_arrow_station_1.visibility = View.VISIBLE
|
||||
actv_station_head_pre_1.visibility = View.VISIBLE
|
||||
actv_station_pre_1.visibility = View.VISIBLE
|
||||
}else{
|
||||
aciv_arrow_station_1.visibility = View.GONE
|
||||
actv_station_head_pre_1.visibility = View.GONE
|
||||
actv_station_pre_1.visibility = View.GONE
|
||||
}
|
||||
}
|
||||
|
||||
private fun showBottom2Station(station:BusStationBean?,isShow:Boolean){
|
||||
if(isShow) {
|
||||
actv_station_pre_2.text = station?.name
|
||||
aciv_arrow_station_2.visibility = View.VISIBLE
|
||||
actv_station_head_pre_2.visibility = View.VISIBLE
|
||||
actv_station_pre_2.visibility = View.VISIBLE
|
||||
}else{
|
||||
aciv_arrow_station_2.visibility = View.GONE
|
||||
actv_station_head_pre_2.visibility = View.GONE
|
||||
actv_station_pre_2.visibility = View.GONE
|
||||
}
|
||||
}
|
||||
|
||||
private fun showBottom3Station(station:BusStationBean?,isShow:Boolean){
|
||||
if(isShow) {
|
||||
actv_station_pre_3.text = station?.name
|
||||
aciv_arrow_station_3.visibility = View.VISIBLE
|
||||
actv_station_head_pre_3.visibility = View.VISIBLE
|
||||
actv_station_pre_3.visibility = View.VISIBLE
|
||||
}else{
|
||||
aciv_arrow_station_3.visibility = View.GONE
|
||||
actv_station_head_pre_3.visibility = View.GONE
|
||||
actv_station_pre_3.visibility = View.GONE
|
||||
}
|
||||
}
|
||||
|
||||
private fun showBottom4Station(station:BusStationBean?,isShow:Boolean){
|
||||
if(isShow) {
|
||||
actv_station_pre_4.text = station?.name
|
||||
aciv_arrow_station_4.visibility = View.VISIBLE
|
||||
actv_station_head_pre_4.visibility = View.VISIBLE
|
||||
actv_station_pre_4.visibility = View.VISIBLE
|
||||
}else{
|
||||
aciv_arrow_station_4.visibility = View.GONE
|
||||
actv_station_head_pre_4.visibility = View.GONE
|
||||
actv_station_pre_4.visibility = View.GONE
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
fun updateLineName(lineName: String){
|
||||
actvLineName.text = lineName
|
||||
}
|
||||
|
||||
/**
|
||||
* 剩余里程和时间
|
||||
*/
|
||||
|
||||
@@ -15,6 +15,7 @@ import com.mogo.och.shuttle.weaknet.passenger.R
|
||||
import com.mogo.och.shuttle.weaknet.passenger.callback.ICommonCallback
|
||||
import com.mogo.och.shuttle.weaknet.passenger.model.CommonModel
|
||||
|
||||
|
||||
class B4StatusView : AppCompatTextView, ICommonCallback, IReceivedMsgListener {
|
||||
|
||||
private val TAG = "B4StatusView"
|
||||
@@ -24,9 +25,9 @@ class B4StatusView : AppCompatTextView, ICommonCallback, IReceivedMsgListener {
|
||||
constructor(context: Context, attributeSet: AttributeSet) : super(context, attributeSet)
|
||||
|
||||
constructor(context: Context, attributeSet: AttributeSet, defStyleAttr: Int) : super(
|
||||
context,
|
||||
attributeSet,
|
||||
defStyleAttr
|
||||
context,
|
||||
attributeSet,
|
||||
defStyleAttr
|
||||
)
|
||||
|
||||
override fun onAttachedToWindow() {
|
||||
@@ -80,29 +81,29 @@ class B4StatusView : AppCompatTextView, ICommonCallback, IReceivedMsgListener {
|
||||
}
|
||||
val autopilotState = CallerAutoPilotStatusListenerManager.getState()
|
||||
CallerLogger.i(
|
||||
TAG,
|
||||
"数据刷新来源=$sourceStr 自动驾驶状态=${autopilotState} 订单状态=${CommonModel.inOrder} 美化模式状态=${FunctionBuildConfig.isDemoMode} B2美化模式状态=${FunctionBuildConfig.isB2DemoMode} "
|
||||
TAG,
|
||||
"数据刷新来源=$sourceStr 自动驾驶状态=${autopilotState} 订单状态=${CommonModel.inOrder} 美化模式状态=${FunctionBuildConfig.isDemoMode} B2美化模式状态=${FunctionBuildConfig.isB2DemoMode} "
|
||||
)
|
||||
if (IMoGoAutopilotStatusListener.STATUS_PARALLEL_DRIVING == autopilotState) {
|
||||
return R.drawable.b4_status_parallel
|
||||
return R.drawable.b4_autopilot_state_7
|
||||
}
|
||||
|
||||
// 处理非平行驾驶状态的情况
|
||||
return when {
|
||||
// 无订单的情况
|
||||
!CommonModel.inOrder -> {
|
||||
R.drawable.b4_status_basic
|
||||
return R.drawable.b4_autopilot_state_0
|
||||
}
|
||||
// 有订单,且美化状态和b2美化状态任意开着
|
||||
CommonModel.inOrder && (FunctionBuildConfig.isDemoMode || FunctionBuildConfig.isB2DemoMode) -> {
|
||||
R.drawable.b4_status_order_auto
|
||||
R.drawable.b4_autopilot_state_2
|
||||
}
|
||||
// 有订单,且美化状态和b2美化状态都关着
|
||||
CommonModel.inOrder && !FunctionBuildConfig.isDemoMode && !FunctionBuildConfig.isB2DemoMode -> {
|
||||
if (autopilotState == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING) R.drawable.b4_status_order_auto else R.drawable.b4_status_basic
|
||||
if (autopilotState == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING) R.drawable.b4_autopilot_state_2 else R.drawable.b4_autopilot_state_0
|
||||
}
|
||||
// 覆盖所有可能的情况
|
||||
else -> R.drawable.b4_status_basic
|
||||
else -> R.drawable.b4_autopilot_state_0
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -282,11 +282,10 @@ object CommonModel {
|
||||
val station = stations[i]
|
||||
if(station.drivingStatus == BusPassengerConst.STATION_STATUS_STOPPED){
|
||||
updateAutopilotControlParameters(result, i)
|
||||
if (station.isLeaving && i + 1 < stations.size
|
||||
) {
|
||||
if (station.isLeaving && i + 1 < stations.size) {// 已经离开了
|
||||
isGoingToNextStation = true
|
||||
mCommonCallbackList.forEach {
|
||||
it.value.updateStationsInfo(stations, i + 1, false)
|
||||
it.value.updateStationsInfo(stations, i, true)
|
||||
}
|
||||
mNextStationIndex = i + 1
|
||||
val startStation = mStations[i]
|
||||
@@ -302,7 +301,7 @@ object CommonModel {
|
||||
isGoingToNextStation = false
|
||||
Logger.d(TAG, "order = station= arrive")
|
||||
mCommonCallbackList.forEach {
|
||||
it.value.updateStationsInfo(stations, i, true)
|
||||
it.value.updateStationsInfo(stations, i, false)
|
||||
}
|
||||
dispatchInOrder()
|
||||
return
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<solid android:color="@color/b4_333333" />
|
||||
<corners android:radius="@dimen/dp_35" />
|
||||
</shape>
|
||||
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<solid android:color="@color/b4_2EACFF" />
|
||||
<corners android:radius="@dimen/dp_35" />
|
||||
</shape>
|
||||
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<solid android:color="@color/b4_9A2EFF" />
|
||||
<corners android:radius="@dimen/dp_35" />
|
||||
</shape>
|
||||
@@ -2,8 +2,9 @@
|
||||
<merge 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"
|
||||
android:layout_width="@dimen/dp_185"
|
||||
android:layout_height="@dimen/dp_380"
|
||||
android:background="@color/black"
|
||||
tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
@@ -16,7 +17,7 @@
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<com.mogo.och.shuttle.weaknet.passenger.ui.line.autopilot.speed.B4SpeedView
|
||||
<com.mogo.och.shuttle.weaknet.passenger.ui.map.autopilot.speed.B4SpeedView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_20"
|
||||
@@ -24,11 +25,11 @@
|
||||
app:layout_constraintStart_toStartOf="@+id/b4_aciv_right_bg"
|
||||
app:layout_constraintTop_toTopOf="@+id/b4_aciv_right_bg" />
|
||||
|
||||
<com.mogo.och.shuttle.weaknet.passenger.ui.line.autopilot.status.B4StatusView
|
||||
<com.mogo.och.shuttle.weaknet.passenger.ui.map.autopilot.status.B4StatusView
|
||||
android:id="@+id/b4_auto_tv"
|
||||
android:layout_width="@dimen/dp_118"
|
||||
android:layout_height="@dimen/dp_69"
|
||||
android:layout_marginBottom="@dimen/dp_3"
|
||||
android:layout_marginBottom="@dimen/dp_30"
|
||||
android:background="@color/b4_333333"
|
||||
android:gravity="center"
|
||||
android:text="@string/b4_autopilot_status"
|
||||
@@ -40,11 +41,11 @@
|
||||
app:layout_constraintStart_toStartOf="@+id/b4_aciv_right_bg" />
|
||||
|
||||
<!-- 转向灯-->
|
||||
<com.mogo.och.shuttle.weaknet.passenger.ui.line.autopilot.light.B4TurnLightView
|
||||
<com.mogo.och.shuttle.weaknet.passenger.ui.map.autopilot.light.B4TurnLightView
|
||||
android:id="@+id/b4_turn_light_view"
|
||||
android:layout_width="@dimen/dp_142"
|
||||
android:layout_height="@dimen/dp_96"
|
||||
android:layout_marginBottom="@dimen/dp_51"
|
||||
android:layout_width="@dimen/dp_119"
|
||||
android:layout_height="@dimen/dp_65"
|
||||
android:layout_marginBottom="@dimen/dp_41"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/b4_aciv_right_bg"
|
||||
app:layout_constraintEnd_toEndOf="@+id/b4_aciv_right_bg"
|
||||
app:layout_constraintStart_toStartOf="@+id/b4_aciv_right_bg" />
|
||||
|
||||
@@ -17,6 +17,14 @@
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<androidx.constraintlayout.widget.Group
|
||||
android:id="@+id/group_station_empty"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"
|
||||
app:constraint_referenced_ids="aciv_end_station_head,end_station_name,bg_line_green,,aciv_arrow_station_4,actv_station_head_pre_4,actv_station_pre_4,aciv_arrow_station_3,actv_station_head_pre_3,actv_station_pre_3,aciv_arrow_station_2,actv_station_head_pre_2,actv_station_pre_2,aciv_arrow_station_1,actv_station_head_pre_1,actv_station_pre_1,"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/actvLineName"
|
||||
android:layout_width="@dimen/dp_136"
|
||||
@@ -25,12 +33,23 @@
|
||||
android:layout_marginTop="@dimen/dp_47"
|
||||
android:background="@drawable/b4_line_name"
|
||||
android:gravity="center"
|
||||
android:text="100"
|
||||
tools:text="100"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_54"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:text="Destination:"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_36"
|
||||
android:layout_marginStart="@dimen/dp_290"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"/>
|
||||
|
||||
<!-- empty 需要INVISIBLE -->
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/aciv_end_station_head"
|
||||
app:layout_constraintTop_toTopOf="@+id/actvLineName"
|
||||
@@ -41,8 +60,9 @@
|
||||
android:elevation="10dp"
|
||||
android:layout_width="@dimen/dp_106"
|
||||
android:layout_height="@dimen/dp_106"/>
|
||||
|
||||
<!--empty 需要特定文案-->
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/end_station_name"
|
||||
app:layout_constraintTop_toTopOf="@+id/aciv_end_station_head"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/aciv_end_station_head"
|
||||
app:layout_constraintStart_toEndOf="@+id/aciv_end_station_head"
|
||||
@@ -108,6 +128,7 @@
|
||||
android:layout_height="@dimen/dp_22"/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/actv_station_head_pre_4"
|
||||
android:src="@drawable/b4_arrior_station"
|
||||
android:elevation="8dp"
|
||||
app:layout_constraintTop_toTopOf="@+id/bg_station_4"
|
||||
@@ -118,6 +139,7 @@
|
||||
android:layout_height="@dimen/dp_50"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/actv_station_pre_4"
|
||||
app:layout_constraintTop_toTopOf="@+id/bg_station_4"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/bg_station_4"
|
||||
app:layout_constraintStart_toStartOf="@+id/bg_station_4"
|
||||
@@ -125,7 +147,7 @@
|
||||
android:layout_marginStart="@dimen/dp_18"
|
||||
android:textSize="@dimen/dp_40"
|
||||
android:textColor="@color/white"
|
||||
android:text="Gradens by the bay"
|
||||
tools:text="Gradens by the bay"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"/>
|
||||
|
||||
@@ -149,6 +171,7 @@
|
||||
android:layout_height="@dimen/dp_22"/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/actv_station_head_pre_3"
|
||||
android:src="@drawable/b4_arrior_station"
|
||||
android:elevation="8dp"
|
||||
app:layout_constraintTop_toTopOf="@+id/bg_station_3"
|
||||
@@ -159,6 +182,7 @@
|
||||
android:layout_height="@dimen/dp_50"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/actv_station_pre_3"
|
||||
app:layout_constraintTop_toTopOf="@+id/bg_station_3"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/bg_station_3"
|
||||
app:layout_constraintStart_toStartOf="@+id/bg_station_3"
|
||||
@@ -166,7 +190,7 @@
|
||||
android:layout_marginStart="@dimen/dp_18"
|
||||
android:textSize="@dimen/dp_40"
|
||||
android:textColor="@color/white"
|
||||
android:text="Bef Marina Gdns Dr"
|
||||
tools:text="Bef Marina Gdns Dr"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"/>
|
||||
|
||||
@@ -190,6 +214,7 @@
|
||||
android:layout_height="@dimen/dp_16"/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/actv_station_head_pre_2"
|
||||
android:src="@drawable/b4_arrior_station"
|
||||
android:elevation="8dp"
|
||||
app:layout_constraintTop_toTopOf="@+id/bg_station_2"
|
||||
@@ -200,6 +225,7 @@
|
||||
android:layout_height="@dimen/dp_50"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/actv_station_pre_2"
|
||||
app:layout_constraintTop_toTopOf="@+id/bg_station_2"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/bg_station_2"
|
||||
app:layout_constraintStart_toStartOf="@+id/bg_station_2"
|
||||
@@ -207,7 +233,7 @@
|
||||
android:layout_marginStart="@dimen/dp_18"
|
||||
android:textSize="@dimen/dp_40"
|
||||
android:textColor="@color/white"
|
||||
android:text="Marina Bay Cruise Centre"
|
||||
tools:text="Marina Bay Cruise Centre"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"/>
|
||||
|
||||
@@ -231,6 +257,7 @@
|
||||
android:layout_height="@dimen/dp_16"/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/actv_station_head_pre_1"
|
||||
android:src="@drawable/b4_arrior_station"
|
||||
android:elevation="8dp"
|
||||
app:layout_constraintTop_toTopOf="@+id/bg_station_1"
|
||||
@@ -241,6 +268,7 @@
|
||||
android:layout_height="@dimen/dp_50"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/actv_station_pre_1"
|
||||
app:layout_constraintTop_toTopOf="@+id/bg_station_1"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/bg_station_1"
|
||||
app:layout_constraintStart_toStartOf="@+id/bg_station_1"
|
||||
@@ -248,7 +276,7 @@
|
||||
android:layout_marginStart="@dimen/dp_18"
|
||||
android:textSize="@dimen/dp_40"
|
||||
android:textColor="@color/white"
|
||||
android:text="80 Robinson Road"
|
||||
tools:text="80 Robinson Road"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"/>
|
||||
|
||||
@@ -279,15 +307,17 @@
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
<com.mogo.och.common.module.wigets.OCHGradientTextView
|
||||
android:id="@+id/aciv_text_no_service"
|
||||
android:textSize="@dimen/dp_50"
|
||||
android:text="@string/b4_no_service"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
android:layout_marginTop="@dimen/dp_305"
|
||||
android:src="@drawable/b4_no_service"
|
||||
android:layout_width="@dimen/dp_390"
|
||||
android:layout_height="@dimen/dp_68"/>
|
||||
android:textStyle="bold"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
app:layout_constraintTop_toBottomOf="@+id/aciv_text_no_service"
|
||||
@@ -299,7 +329,6 @@
|
||||
android:layout_height="@dimen/dp_524"/>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/cl_line_info_station"
|
||||
app:layout_constraintTop_toBottomOf="@+id/cl_line_info"
|
||||
@@ -307,6 +336,7 @@
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
android:background="@drawable/b4_empty_service_bg"
|
||||
android:visibility="visible"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp">
|
||||
|
||||
@@ -361,21 +391,38 @@
|
||||
app:layout_constraintStart_toEndOf="@+id/b4_aciv_door_right"
|
||||
app:layout_constraintTop_toTopOf="@+id/b4_aciv_door_right" />
|
||||
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/actv_station_des"
|
||||
<LinearLayout
|
||||
android:id="@+id/service_station_des"
|
||||
app:layout_constraintTop_toBottomOf="@+id/b4_aciv_doorway"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
android:layout_marginTop="@dimen/dp_78"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"/>
|
||||
android:orientation="vertical"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
<com.mogo.och.common.module.wigets.OCHGradientTextView
|
||||
android:id="@+id/actv_station_des_first"
|
||||
android:textSize="@dimen/dp_50"
|
||||
android:text="@string/b4_station_start_desc"
|
||||
android:textStyle="bold"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"/>
|
||||
<com.mogo.och.common.module.wigets.OCHGradientTextView
|
||||
android:id="@+id/actv_station_des_second"
|
||||
android:textSize="@dimen/dp_50"
|
||||
android:text="@string/b4_station_start_desc"
|
||||
android:textStyle="bold"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"/>
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:src="@drawable/b4_station_start"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/actv_station_des"
|
||||
app:layout_constraintTop_toBottomOf="@+id/service_station_des"
|
||||
android:layout_marginTop="@dimen/dp_70"
|
||||
android:layout_width="@dimen/dp_736"
|
||||
android:layout_height="@dimen/dp_526"/>
|
||||
|
||||
@@ -54,5 +54,13 @@
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:lightUser="passenger" />
|
||||
|
||||
<com.mogo.och.shuttle.weaknet.passenger.ui.map.autopilot.B4AutopilotView
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
android:layout_marginTop="@dimen/dp_20"
|
||||
android:layout_marginEnd="@dimen/dp_20"
|
||||
android:layout_width="@dimen/dp_185"
|
||||
android:layout_height="@dimen/dp_380"/>
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -8,4 +8,10 @@
|
||||
<string name="b4_empty_line_title">MOGO Autonomous Driving Minibus</string>
|
||||
<string name="b4_empty_line_content">Ready to depart</string>
|
||||
<string name="b4_arrive_station_title">Current Station</string>
|
||||
|
||||
<string name="b4_no_service">No Service</string>
|
||||
<string name="b4_station_start_desc">Please fasten your seat belt</string>
|
||||
<string name="b4_station_middle_desc_first">Please take your belongings when alighting</string>
|
||||
<string name="b4_station_middle_desc_second">Please fasten your seat belt when boarding</string>
|
||||
<string name="b4_station_end_desc">Take Your Belongings and Goodbye</string>
|
||||
</resources>
|
||||
@@ -18,4 +18,8 @@
|
||||
<color name="b4_7C7C7C">#7C7C7C</color>
|
||||
<color name="b4_2EACFF">#2EACFF</color>
|
||||
<color name="b4_9A2EFF">#9A2EFF</color>
|
||||
<color name="b4_CDFFC0">#CDFFC0</color>
|
||||
<color name="b4_9AFF98">#9AFF98</color>
|
||||
<color name="b4_EDBE2B">#EDBE2B</color>
|
||||
<color name="b4_FF8300">#FF8300</color>
|
||||
</resources>
|
||||
@@ -8,4 +8,10 @@
|
||||
<string name="b4_empty_line_title">MOGO自动驾驶小巴</string>
|
||||
<string name="b4_empty_line_content">即将启程</string>
|
||||
<string name="b4_arrive_station_title">当前到站</string>
|
||||
|
||||
<string name="b4_no_service">无服务</string>
|
||||
<string name="b4_station_start_desc">请系好安全带</string>
|
||||
<string name="b4_station_middle_desc_first">下车时请拿好您的随身物品</string>
|
||||
<string name="b4_station_middle_desc_second">上车后请系好安全带</string>
|
||||
<string name="b4_station_end_desc">请带好您的物品,下次再见</string>
|
||||
</resources>
|
||||
Reference in New Issue
Block a user