diff --git a/OCH/common/data/src/main/java/com/mogo/och/data/bean/BusStationBean.kt b/OCH/common/data/src/main/java/com/mogo/och/data/bean/BusStationBean.kt
index 6e97a39a84..556384ff19 100644
--- a/OCH/common/data/src/main/java/com/mogo/och/data/bean/BusStationBean.kt
+++ b/OCH/common/data/src/main/java/com/mogo/och/data/bean/BusStationBean.kt
@@ -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:站点
diff --git a/OCH/shuttle/driver_unmanned/src/main/java/com/mogo/och/unmanned/ui/taskrunning/TaskRunningView.kt b/OCH/shuttle/driver_unmanned/src/main/java/com/mogo/och/unmanned/ui/taskrunning/TaskRunningView.kt
index fd64efd0de..072ff04b05 100644
--- a/OCH/shuttle/driver_unmanned/src/main/java/com/mogo/och/unmanned/ui/taskrunning/TaskRunningView.kt
+++ b/OCH/shuttle/driver_unmanned/src/main/java/com/mogo/och/unmanned/ui/taskrunning/TaskRunningView.kt
@@ -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()
diff --git a/OCH/shuttle/driver_unmanned/src/main/res/layout/shuttle_unmanned_task_running.xml b/OCH/shuttle/driver_unmanned/src/main/res/layout/shuttle_unmanned_task_running.xml
index 9f771b6641..b8576dc166 100644
--- a/OCH/shuttle/driver_unmanned/src/main/res/layout/shuttle_unmanned_task_running.xml
+++ b/OCH/shuttle/driver_unmanned/src/main/res/layout/shuttle_unmanned_task_running.xml
@@ -125,5 +125,18 @@
app:pressed_enabled="false" />
+
+
\ No newline at end of file
diff --git a/OCH/shuttle/passenger_weaknet/src/main/java/b4/com/mogo/och/shuttle/weaknet/passenger/presenter/PB4DrivingFullsPresenter.kt b/OCH/shuttle/passenger_weaknet/src/main/java/b4/com/mogo/och/shuttle/weaknet/passenger/presenter/PB4DrivingFullsPresenter.kt
index c9eb41d7d8..ffaa4efa6b 100644
--- a/OCH/shuttle/passenger_weaknet/src/main/java/b4/com/mogo/och/shuttle/weaknet/passenger/presenter/PB4DrivingFullsPresenter.kt
+++ b/OCH/shuttle/passenger_weaknet/src/main/java/b4/com/mogo/och/shuttle/weaknet/passenger/presenter/PB4DrivingFullsPresenter.kt
@@ -55,9 +55,18 @@ class PB4DrivingFullsPresenter(view: PB4DrivingInfoFullSFragment?) :
}
- override fun updateStationsInfo(stations: MutableList, i: Int, isArrived: Boolean) {
+ override fun updateStationsInfo(stations: MutableList, 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)
+ }
}
}
diff --git a/OCH/shuttle/passenger_weaknet/src/main/java/b4/com/mogo/och/shuttle/weaknet/passenger/ui/linenew/PB4DrivingInfoFullSFragment.kt b/OCH/shuttle/passenger_weaknet/src/main/java/b4/com/mogo/och/shuttle/weaknet/passenger/ui/linenew/PB4DrivingInfoFullSFragment.kt
index 81d92bc299..11311923a1 100644
--- a/OCH/shuttle/passenger_weaknet/src/main/java/b4/com/mogo/och/shuttle/weaknet/passenger/ui/linenew/PB4DrivingInfoFullSFragment.kt
+++ b/OCH/shuttle/passenger_weaknet/src/main/java/b4/com/mogo/och/shuttle/weaknet/passenger/ui/linenew/PB4DrivingInfoFullSFragment.kt
@@ -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, i: Int, isArrived: Boolean) {
+ fun updateStationsInfo(stations: MutableList, 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){
+ if(currentStationIndex {
- 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
}
}
diff --git a/OCH/shuttle/passenger_weaknet/src/main/java/com/mogo/och/shuttle/weaknet/passenger/model/CommonModel.kt b/OCH/shuttle/passenger_weaknet/src/main/java/com/mogo/och/shuttle/weaknet/passenger/model/CommonModel.kt
index 3d2b106e1d..8df33bb8e4 100644
--- a/OCH/shuttle/passenger_weaknet/src/main/java/com/mogo/och/shuttle/weaknet/passenger/model/CommonModel.kt
+++ b/OCH/shuttle/passenger_weaknet/src/main/java/com/mogo/och/shuttle/weaknet/passenger/model/CommonModel.kt
@@ -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
diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b4/drawable/b4_autopilot_state_0.xml b/OCH/shuttle/passenger_weaknet/src/main/res/b4/drawable/b4_autopilot_state_0.xml
new file mode 100644
index 0000000000..1d6826edb2
--- /dev/null
+++ b/OCH/shuttle/passenger_weaknet/src/main/res/b4/drawable/b4_autopilot_state_0.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b4/drawable/b4_autopilot_state_2.xml b/OCH/shuttle/passenger_weaknet/src/main/res/b4/drawable/b4_autopilot_state_2.xml
new file mode 100644
index 0000000000..1cbcc0f567
--- /dev/null
+++ b/OCH/shuttle/passenger_weaknet/src/main/res/b4/drawable/b4_autopilot_state_2.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b4/drawable/b4_autopilot_state_7.xml b/OCH/shuttle/passenger_weaknet/src/main/res/b4/drawable/b4_autopilot_state_7.xml
new file mode 100644
index 0000000000..354825c680
--- /dev/null
+++ b/OCH/shuttle/passenger_weaknet/src/main/res/b4/drawable/b4_autopilot_state_7.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b4/layout/b4_autopilot.xml b/OCH/shuttle/passenger_weaknet/src/main/res/b4/layout/b4_autopilot.xml
index 8b5b69c2b3..4ec0beaa8d 100644
--- a/OCH/shuttle/passenger_weaknet/src/main/res/b4/layout/b4_autopilot.xml
+++ b/OCH/shuttle/passenger_weaknet/src/main/res/b4/layout/b4_autopilot.xml
@@ -2,8 +2,9 @@
-
-
-
diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b4/layout/b4_driving_info_full_fragment.xml b/OCH/shuttle/passenger_weaknet/src/main/res/b4/layout/b4_driving_info_full_fragment.xml
index 692bd0fa00..bf7759faa3 100644
--- a/OCH/shuttle/passenger_weaknet/src/main/res/b4/layout/b4_driving_info_full_fragment.xml
+++ b/OCH/shuttle/passenger_weaknet/src/main/res/b4/layout/b4_driving_info_full_fragment.xml
@@ -17,6 +17,14 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
+
+
+
+
+
-
+
@@ -149,6 +171,7 @@
android:layout_height="@dimen/dp_22"/>
@@ -190,6 +214,7 @@
android:layout_height="@dimen/dp_16"/>
@@ -231,6 +257,7 @@
android:layout_height="@dimen/dp_16"/>
@@ -279,15 +307,17 @@
android:layout_width="0dp"
android:layout_height="0dp">
-
+ android:textStyle="bold"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"/>
-
@@ -361,21 +391,38 @@
app:layout_constraintStart_toEndOf="@+id/b4_aciv_door_right"
app:layout_constraintTop_toTopOf="@+id/b4_aciv_door_right" />
-
-
+ android:orientation="vertical"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content">
+
+
+
+
+
diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b4/layout/shuttle_p_b4_hpmap_fragment.xml b/OCH/shuttle/passenger_weaknet/src/main/res/b4/layout/shuttle_p_b4_hpmap_fragment.xml
index f26378b9d8..174883ac88 100644
--- a/OCH/shuttle/passenger_weaknet/src/main/res/b4/layout/shuttle_p_b4_hpmap_fragment.xml
+++ b/OCH/shuttle/passenger_weaknet/src/main/res/b4/layout/shuttle_p_b4_hpmap_fragment.xml
@@ -54,5 +54,13 @@
app:layout_constraintTop_toTopOf="parent"
app:lightUser="passenger" />
+
+
\ No newline at end of file
diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b4/values-en/strings.xml b/OCH/shuttle/passenger_weaknet/src/main/res/b4/values-en/strings.xml
index a168e2dd21..bb9e5edc15 100644
--- a/OCH/shuttle/passenger_weaknet/src/main/res/b4/values-en/strings.xml
+++ b/OCH/shuttle/passenger_weaknet/src/main/res/b4/values-en/strings.xml
@@ -8,4 +8,10 @@
MOGO Autonomous Driving Minibus
Ready to depart
Current Station
+
+ No Service
+ Please fasten your seat belt
+ Please take your belongings when alighting
+ Please fasten your seat belt when boarding
+ Take Your Belongings and Goodbye
\ No newline at end of file
diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b4/values/colors.xml b/OCH/shuttle/passenger_weaknet/src/main/res/b4/values/colors.xml
index 8399a9297a..758e344554 100644
--- a/OCH/shuttle/passenger_weaknet/src/main/res/b4/values/colors.xml
+++ b/OCH/shuttle/passenger_weaknet/src/main/res/b4/values/colors.xml
@@ -18,4 +18,8 @@
#7C7C7C
#2EACFF
#9A2EFF
+ #CDFFC0
+ #9AFF98
+ #EDBE2B
+ #FF8300
\ No newline at end of file
diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b4/values/strings.xml b/OCH/shuttle/passenger_weaknet/src/main/res/b4/values/strings.xml
index 174c1eca0f..965a79d3b3 100644
--- a/OCH/shuttle/passenger_weaknet/src/main/res/b4/values/strings.xml
+++ b/OCH/shuttle/passenger_weaknet/src/main/res/b4/values/strings.xml
@@ -8,4 +8,10 @@
MOGO自动驾驶小巴
即将启程
当前到站
+
+ 无服务
+ 请系好安全带
+ 下车时请拿好您的随身物品
+ 上车后请系好安全带
+ 请带好您的物品,下次再见
\ No newline at end of file