[Taxi无人化]refactor: next task 优化;
This commit is contained in:
@@ -1,7 +1,5 @@
|
||||
package com.mogo.och.taxi.bean
|
||||
|
||||
import android.text.Spanned
|
||||
import androidx.core.text.HtmlCompat
|
||||
import com.mogo.eagle.core.data.BaseData
|
||||
|
||||
/**
|
||||
@@ -73,16 +71,6 @@ data class QueryCurrentTaskRespBean(var data: Result?) : BaseData() {
|
||||
var startSite: Site?, var endSite: Site?,
|
||||
var order: OrderDetail?
|
||||
) {
|
||||
companion object {
|
||||
@JvmStatic
|
||||
fun getCurrentTaskTotalAndDurationHtml(mileage: Float, duration: Int): Spanned {
|
||||
val strHtml =
|
||||
("<font color=\"#CAD6FF\">全程 </font>" + "<font color=\"#FFFFFF\"> $mileage </font>" + "<font color=\"#CAD6FF\"> 公里 </font>"
|
||||
+ "<font color=\"#CAD6FF\">,总用时 </font>" + "<font color=\"#FFFFFF\"> $duration </font>" + "<font color=\"#CAD6FF\"> 分钟</font>")
|
||||
return HtmlCompat.fromHtml(strHtml, HtmlCompat.FROM_HTML_MODE_LEGACY)
|
||||
}
|
||||
}
|
||||
|
||||
// servingStatus = 0 //暂停接单 = 1 //开始接单
|
||||
//taskType = 1 //虚拟任务 = 2 //接驾任务 = 3 //送驾任务
|
||||
//currentStatus 0:空闲 1:获取任务 2:开始任务 3:到达目的地
|
||||
|
||||
@@ -184,7 +184,7 @@ class TaxiCurrentTaskFragment : BaseFragment(),
|
||||
|
||||
is TaskWithOrderUIState.UpdateTaskTripInfo -> {
|
||||
taskOtherInfo.text =
|
||||
QueryCurrentTaskRespBean.Result.getCurrentTaskTotalAndDurationHtml(
|
||||
TaskUtils.getCurrentTaskTotalAndDurationHtml(
|
||||
taskAndOrderUiState.mileage,
|
||||
taskAndOrderUiState.duration
|
||||
)
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package com.mogo.och.taxi.ui
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.app.Activity
|
||||
import android.graphics.Color
|
||||
import android.graphics.drawable.GradientDrawable
|
||||
import android.os.Bundle
|
||||
@@ -12,7 +11,6 @@ import com.mogo.och.taxi.R
|
||||
import com.mogo.och.taxi.bean.OrderDetail
|
||||
import com.mogo.och.taxi.bean.QueryCurrentTaskRespBean
|
||||
import com.mogo.och.taxi.constant.TaskTypeEnum
|
||||
import com.mogo.och.taxi.ui.base.TaxiFragment
|
||||
import kotlinx.android.synthetic.main.task_fragment_current.endStationName
|
||||
import kotlinx.android.synthetic.main.task_fragment_current.mCurrentTaskLayout
|
||||
import kotlinx.android.synthetic.main.task_fragment_current.naviToEnd
|
||||
@@ -29,10 +27,15 @@ import kotlinx.android.synthetic.main.task_fragment_current.taskTypeTv
|
||||
* @date: 2023/7/24
|
||||
*/
|
||||
class TaxiNextTaskFragment : BaseFragment() {
|
||||
private val mData: MutableList<QueryCurrentTaskRespBean.Result> = ArrayList()
|
||||
companion object {
|
||||
const val TAG = "TaxiNextTaskFragment"
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
fun newInstance(): TaxiNextTaskFragment {
|
||||
val args = Bundle()
|
||||
val fragment = TaxiNextTaskFragment()
|
||||
fragment.arguments = args
|
||||
return fragment
|
||||
}
|
||||
}
|
||||
|
||||
override fun getLayoutId(): Int {
|
||||
@@ -40,32 +43,30 @@ class TaxiNextTaskFragment : BaseFragment() {
|
||||
}
|
||||
|
||||
override fun getTagName(): String {
|
||||
return "TaxiNextTaskFragment"
|
||||
return javaClass.simpleName
|
||||
}
|
||||
|
||||
override fun initViews() {
|
||||
showNoOrderView()
|
||||
showNoTaskView()
|
||||
}
|
||||
|
||||
fun updateOrderChanged(model: QueryCurrentTaskRespBean.Result?) {
|
||||
fun onTaskDataChanged(model: QueryCurrentTaskRespBean.Result?) {
|
||||
if (model?.order == null) {
|
||||
showNoOrderView()
|
||||
showNoTaskView()
|
||||
return
|
||||
}
|
||||
|
||||
if (model.taskType == TaskTypeEnum.VirtualTask.code) {
|
||||
val order = model.order
|
||||
updateOrderUI(order!!)
|
||||
|
||||
updateTaskUI(order!!)
|
||||
} else {
|
||||
showNoOrderView()
|
||||
showNoTaskView()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@SuppressLint("SetTextI18n")
|
||||
private fun updateOrderUI(order: OrderDetail) {
|
||||
showOrderView()
|
||||
private fun updateTaskUI(order: OrderDetail) {
|
||||
showTaskView()
|
||||
taskOtherInfo.visibility = View.GONE
|
||||
naviToStart.visibility = View.GONE
|
||||
naviToEnd.visibility = View.GONE
|
||||
@@ -77,7 +78,6 @@ class TaxiNextTaskFragment : BaseFragment() {
|
||||
HtmlCompat.FROM_HTML_MODE_LEGACY
|
||||
)
|
||||
|
||||
|
||||
order.orderStartSite?.let {
|
||||
startStationName.text = it.siteName
|
||||
}
|
||||
@@ -88,7 +88,7 @@ class TaxiNextTaskFragment : BaseFragment() {
|
||||
taskTypeTv.text = resources.getString(R.string.task_order)
|
||||
taskTypeTv.background = resources.getDrawable(R.drawable.task_order_type_btn_bg, null)
|
||||
|
||||
updateOrderBottomBtn(
|
||||
updateTaskContainerBottomBtn(
|
||||
getString(R.string.waiting_server),
|
||||
Color.parseColor("#4DFFFFFF"),
|
||||
Color.parseColor("#4D1D5EF3"),
|
||||
@@ -96,7 +96,7 @@ class TaxiNextTaskFragment : BaseFragment() {
|
||||
)
|
||||
}
|
||||
|
||||
private fun updateOrderBottomBtn(
|
||||
private fun updateTaskContainerBottomBtn(
|
||||
txt: String?,
|
||||
txtColorId: Int,
|
||||
bgColorId: Int,
|
||||
@@ -110,33 +110,13 @@ class TaxiNextTaskFragment : BaseFragment() {
|
||||
taskClickBtn.isClickable = isClickable
|
||||
}
|
||||
|
||||
private fun showNoOrderView() {
|
||||
private fun showNoTaskView() {
|
||||
noTaskData.visibility = View.VISIBLE
|
||||
mCurrentTaskLayout.visibility = View.GONE
|
||||
}
|
||||
|
||||
private fun showOrderView() {
|
||||
private fun showTaskView() {
|
||||
noTaskData.visibility = View.GONE
|
||||
mCurrentTaskLayout.visibility = View.VISIBLE
|
||||
}
|
||||
|
||||
companion object {
|
||||
|
||||
const val TAG = "TaxiNextTaskFragment"
|
||||
|
||||
@SuppressLint("StaticFieldLeak")
|
||||
private var mTaxiFragment: TaxiFragment? = null
|
||||
|
||||
@SuppressLint("StaticFieldLeak")
|
||||
private var mActivity: Activity? = null
|
||||
fun newInstance(
|
||||
activity: Activity?,
|
||||
): TaxiNextTaskFragment {
|
||||
mActivity = activity
|
||||
val args = Bundle()
|
||||
val fragment = TaxiNextTaskFragment()
|
||||
fragment.arguments = args
|
||||
return fragment
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -91,9 +91,7 @@ class TaxiTaskTabFragment : BaseFragment() {
|
||||
} else if (TAB_POSITION_NEXT == position) {
|
||||
module_och_taxi_tab.addTab(tab)
|
||||
changeTabLayoutUI(tab, false)
|
||||
nextTaskFragment = TaxiNextTaskFragment.newInstance(
|
||||
activity
|
||||
)
|
||||
nextTaskFragment = TaxiNextTaskFragment.newInstance()
|
||||
mFragments.add(nextTaskFragment!!)
|
||||
}
|
||||
}
|
||||
@@ -203,12 +201,13 @@ class TaxiTaskTabFragment : BaseFragment() {
|
||||
fun onTaskDataChanged(result: QueryCurrentTaskRespBean.Result?) {
|
||||
if (null == nextTaskFragment) return
|
||||
if (result != null && result.taskType == TaskTypeEnum.VirtualTask.code
|
||||
&& result.order != null) {
|
||||
&& result.order != null
|
||||
) {
|
||||
VoiceNotice.showNotice("已为您提前接到下一订单,待完成当前任务后服务")
|
||||
wait_order_num.visibility = View.VISIBLE
|
||||
} else {
|
||||
wait_order_num.visibility = View.GONE
|
||||
}
|
||||
nextTaskFragment!!.updateOrderChanged(result)
|
||||
nextTaskFragment!!.onTaskDataChanged(result)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -64,4 +64,11 @@ object TaskUtils {
|
||||
}
|
||||
return HtmlCompat.fromHtml(strHtml13, HtmlCompat.FROM_HTML_MODE_LEGACY)
|
||||
}
|
||||
|
||||
fun getCurrentTaskTotalAndDurationHtml(mileage: Float, duration: Int): Spanned {
|
||||
val strHtml =
|
||||
("<font color=\"#CAD6FF\">全程 </font>" + "<font color=\"#FFFFFF\"> $mileage </font>" + "<font color=\"#CAD6FF\"> 公里 </font>"
|
||||
+ "<font color=\"#CAD6FF\">,总用时 </font>" + "<font color=\"#FFFFFF\"> $duration </font>" + "<font color=\"#CAD6FF\"> 分钟</font>")
|
||||
return HtmlCompat.fromHtml(strHtml, HtmlCompat.FROM_HTML_MODE_LEGACY)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user