[Taxi无人化]refactor: next task 优化;

This commit is contained in:
aibingbing
2023-08-23 18:14:17 +08:00
parent e94a271876
commit 7d115c6c77
5 changed files with 32 additions and 58 deletions

View File

@@ -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:到达目的地

View File

@@ -184,7 +184,7 @@ class TaxiCurrentTaskFragment : BaseFragment(),
is TaskWithOrderUIState.UpdateTaskTripInfo -> {
taskOtherInfo.text =
QueryCurrentTaskRespBean.Result.getCurrentTaskTotalAndDurationHtml(
TaskUtils.getCurrentTaskTotalAndDurationHtml(
taskAndOrderUiState.mileage,
taskAndOrderUiState.duration
)

View File

@@ -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
}
}
}

View File

@@ -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)
}
}

View File

@@ -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)
}
}