[6.0.0] 1、去除viewBinding 2、更换无人化需求登陆/登出接口
This commit is contained in:
@@ -19,8 +19,8 @@ public class TaxiLoginReqBean {
|
||||
}
|
||||
|
||||
public static class Location4Login{
|
||||
double lat;
|
||||
double lon;
|
||||
public double lat;
|
||||
public double lon;
|
||||
|
||||
public Location4Login(double lat, double lon) {
|
||||
this.lat = lat;
|
||||
|
||||
@@ -14,8 +14,8 @@ public class TaxiLogoutReqBean {
|
||||
}
|
||||
|
||||
public static class Location4Login{
|
||||
double lat;
|
||||
double lon;
|
||||
public double lat;
|
||||
public double lon;
|
||||
|
||||
public Location4Login(double lat, double lon) {
|
||||
this.lat = lat;
|
||||
|
||||
@@ -41,10 +41,6 @@ android {
|
||||
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
||||
}
|
||||
}
|
||||
|
||||
viewBinding {
|
||||
enabled = true
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
package com.mogo.och.taxi.base
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.viewbinding.ViewBinding
|
||||
import com.mogo.commons.mvp.BaseFragment
|
||||
|
||||
abstract class BaseBindingFragment<VB : ViewBinding>(
|
||||
val block: (LayoutInflater) -> VB
|
||||
) : BaseFragment() {
|
||||
private var _binding: VB? = null
|
||||
protected val binding: VB
|
||||
get() = requireNotNull(_binding) { "The property of binding has been destroyed." }
|
||||
|
||||
override fun onCreateView(
|
||||
inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?
|
||||
): View? {
|
||||
_binding = block(layoutInflater)
|
||||
return binding.root
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
_binding = null
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.mogo.och.taxi.bean
|
||||
|
||||
/**
|
||||
* @author: wangmingjun
|
||||
* @date: 2023/8/2
|
||||
*/
|
||||
data class UnmannedLoginReqBean(
|
||||
var phone: String?,
|
||||
var captcha: String?,
|
||||
var sn: String,
|
||||
var loc: UnmannedLocation4Login?
|
||||
) {
|
||||
data class UnmannedLocation4Login(var gcjLat: Double, var gcjLon: Double)
|
||||
}
|
||||
data class UnmannedLogoutReqBean(var sn: String, var loc: UnmannedLocation4Login?) {
|
||||
data class UnmannedLocation4Login(var gcjLat: Double, var gcjLon: Double)
|
||||
}
|
||||
@@ -15,6 +15,8 @@ import com.mogo.eagle.core.network.MoGoRetrofitFactory
|
||||
import com.mogo.och.common.module.biz.network.OchCommonServiceCallback
|
||||
import com.mogo.och.common.module.biz.network.OchCommonSubscribeImpl
|
||||
import com.mogo.och.common.module.biz.network.interceptor.transformTry
|
||||
import com.mogo.och.taxi.bean.UnmannedLoginReqBean
|
||||
import com.mogo.och.taxi.bean.UnmannedLogoutReqBean
|
||||
|
||||
/**
|
||||
* Created by pangfan on 2021/8/19
|
||||
@@ -57,11 +59,17 @@ object OchCommonServiceManager {
|
||||
location4Login: TaxiLoginReqBean.Location4Login?,
|
||||
callback: OchCommonServiceCallback<TaxiLoginRespBean>?
|
||||
) {
|
||||
//新saas 接口变换, 参数变换, 重新组装
|
||||
val unmannedLocation4Login = location4Login?.let {
|
||||
UnmannedLoginReqBean.UnmannedLocation4Login(
|
||||
it.lat,it.lon
|
||||
)
|
||||
}
|
||||
val sn = MoGoAiCloudClientConfig.getInstance().sn
|
||||
mOCHTaxiServiceApi.gotoLoginBycode4Taxi(
|
||||
MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||
MoGoAiCloudClientConfig.getInstance().token,
|
||||
TaxiLoginReqBean(phone, code, sn, location4Login)
|
||||
UnmannedLoginReqBean(phone, code, sn, unmannedLocation4Login)
|
||||
).transformTry().subscribe(OchCommonSubscribeImpl(context, callback, "gotoLoginBycode"))
|
||||
}
|
||||
|
||||
@@ -74,10 +82,16 @@ object OchCommonServiceManager {
|
||||
location4Login: TaxiLogoutReqBean.Location4Login?,
|
||||
callback: OchCommonServiceCallback<BaseData>?
|
||||
) {
|
||||
//新saas 接口变换, 参数变换, 重新组装
|
||||
val unmannedLocation4Login = location4Login?.let {
|
||||
UnmannedLogoutReqBean.UnmannedLocation4Login(
|
||||
it.lat,it.lon
|
||||
)
|
||||
}
|
||||
mOCHTaxiServiceApi.logout4Taxi(
|
||||
MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||
MoGoAiCloudClientConfig.getInstance().token,
|
||||
TaxiLogoutReqBean(MoGoAiCloudClientConfig.getInstance().sn, location4Login)
|
||||
UnmannedLogoutReqBean(MoGoAiCloudClientConfig.getInstance().sn, unmannedLocation4Login)
|
||||
).transformTry().subscribe(OchCommonSubscribeImpl(context, callback, "logout"))
|
||||
}
|
||||
|
||||
|
||||
@@ -5,6 +5,8 @@ import com.mogo.och.common.module.biz.bean.TaxiLoginReqBean;
|
||||
import com.mogo.och.common.module.biz.bean.TaxiLoginRespBean;
|
||||
import com.mogo.och.common.module.biz.bean.TaxiLoginSmsReqBean;
|
||||
import com.mogo.och.common.module.biz.bean.TaxiLogoutReqBean;
|
||||
import com.mogo.och.taxi.bean.UnmannedLoginReqBean;
|
||||
import com.mogo.och.taxi.bean.UnmannedLogoutReqBean;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.Body;
|
||||
@@ -37,17 +39,17 @@ interface OchLoginServiceApi {
|
||||
* @return
|
||||
*/
|
||||
@Headers( {"Content-type:application/json;charset=UTF-8"} )
|
||||
@POST( "/autopilot-car-hailing/cab/flow/v1/driver/taxi/startOperation" )
|
||||
@POST( "/och-taxi-cabin/api/flow/v1/startOperation" )
|
||||
Observable<TaxiLoginRespBean> gotoLoginBycode4Taxi(@Header("appId") String appId
|
||||
, @Header("ticket") String ticket, @Body TaxiLoginReqBean data);
|
||||
, @Header("ticket") String ticket, @Body UnmannedLoginReqBean data);
|
||||
|
||||
/**
|
||||
* 登出接口
|
||||
*/
|
||||
@Headers({"Content-type:application/json;charset=UTF-8"})
|
||||
@POST("/autopilot-car-hailing/cab/flow/v1/driver/taxi/endOperation")
|
||||
@POST("/och-taxi-cabin/api/flow/v1/endOperation")
|
||||
Observable<BaseData> logout4Taxi(@Header("appId") String appId, @Header("ticket") String ticket,
|
||||
@Body TaxiLogoutReqBean data);
|
||||
@Body UnmannedLogoutReqBean data);
|
||||
|
||||
/**
|
||||
* 接单状态和登录状态查询 出租车司机端、小巴车司机端、小巴车乘客端
|
||||
|
||||
@@ -35,19 +35,24 @@ import com.mogo.och.common.module.utils.OCHThreadPoolManager
|
||||
import com.mogo.och.common.module.voice.VoiceNotice.showNotice
|
||||
import com.mogo.och.common.module.wigets.OCHCommitDialog
|
||||
import com.mogo.och.taxi.R
|
||||
import com.mogo.och.taxi.base.BaseBindingFragment
|
||||
import com.mogo.och.taxi.base.BaseTaxiUIFragment
|
||||
import com.mogo.och.taxi.bean.OrderQueryRespBean
|
||||
import com.mogo.och.taxi.bean.OrderQueryRouteInfoRespBean
|
||||
import com.mogo.och.taxi.constant.TaxiConst
|
||||
import com.mogo.och.taxi.constant.TaxiOrderStatusEnum
|
||||
import com.mogo.och.taxi.constant.TaxiOrderStatusEnum.Companion.valueOf
|
||||
import com.mogo.och.taxi.databinding.UnmannedBeingOrderBinding
|
||||
import com.mogo.och.taxi.model.TaxiModel
|
||||
import com.mogo.och.taxi.model.TaxiUnmannedViewModel
|
||||
import com.mogo.och.taxi.ui.unmanned.TaskUiState
|
||||
import com.mogo.och.taxi.ui.unmanned.UnmannedIntent
|
||||
import com.mogo.och.taxi.ui.unmanned.UnmannedState
|
||||
import kotlinx.android.synthetic.main.unmanned_being_order.cancelOrder
|
||||
import kotlinx.android.synthetic.main.unmanned_being_order.endStationName
|
||||
import kotlinx.android.synthetic.main.unmanned_being_order.naviToEnd
|
||||
import kotlinx.android.synthetic.main.unmanned_being_order.naviToStart
|
||||
import kotlinx.android.synthetic.main.unmanned_being_order.orderPhoneAndNum
|
||||
import kotlinx.android.synthetic.main.unmanned_being_order.taskClickBtn
|
||||
import kotlinx.android.synthetic.main.unmanned_being_order.taskOtherInfo
|
||||
import kotlinx.android.synthetic.main.unmanned_being_order.taskStatus
|
||||
import kotlinx.coroutines.flow.collect
|
||||
import kotlinx.coroutines.flow.map
|
||||
import java.util.Calendar
|
||||
@@ -58,9 +63,7 @@ import kotlin.math.roundToInt
|
||||
* @author: wangmingjun
|
||||
* @date: 2023/7/24
|
||||
*/
|
||||
class TaxiBeingTaskFragment : BaseBindingFragment<UnmannedBeingOrderBinding>({
|
||||
UnmannedBeingOrderBinding.inflate(it)
|
||||
}),
|
||||
class TaxiBeingTaskFragment : BaseTaxiUIFragment(),
|
||||
View.OnClickListener, ICommonNaviChangedCallback {
|
||||
|
||||
private var mOrderNo: String? = null
|
||||
@@ -81,16 +84,12 @@ class TaxiBeingTaskFragment : BaseBindingFragment<UnmannedBeingOrderBinding>({
|
||||
return R.layout.unmanned_being_order
|
||||
}
|
||||
|
||||
override fun getTagName(): String {
|
||||
return "TaxiBeingTaskFragment"
|
||||
}
|
||||
|
||||
override fun onAttach(context: Context) {
|
||||
super.onAttach(context)
|
||||
mViewModel = ViewModelProvider(this)[TaxiUnmannedViewModel::class.java]
|
||||
}
|
||||
|
||||
override fun initViews() {
|
||||
override fun initViews(view: View) {
|
||||
initNaviView()
|
||||
isHaveBeingOrder(false)
|
||||
initOnClickListener()
|
||||
@@ -140,13 +139,13 @@ class TaxiBeingTaskFragment : BaseBindingFragment<UnmannedBeingOrderBinding>({
|
||||
}
|
||||
|
||||
private fun initOnClickListener() {
|
||||
binding.cancelOrder.setOnClickListener(this)
|
||||
binding.taskStatus.setOnClickListener(this)
|
||||
cancelOrder.setOnClickListener(this)
|
||||
taskStatus.setOnClickListener(this)
|
||||
}
|
||||
|
||||
private fun initNaviView() {
|
||||
binding.naviToStart.setOnClickListener(this)
|
||||
binding.naviToEnd.setOnClickListener(this)
|
||||
naviToStart.setOnClickListener(this)
|
||||
naviToEnd.setOnClickListener(this)
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -160,33 +159,33 @@ class TaxiBeingTaskFragment : BaseBindingFragment<UnmannedBeingOrderBinding>({
|
||||
if (order.orderStatus == TaxiOrderStatusEnum.JourneyCompleted.code) {
|
||||
mCurrentOrder = null
|
||||
isHaveBeingOrder(false)
|
||||
binding.taskOtherInfo.text = "距离 - - 公里,用时 - - 分"
|
||||
taskOtherInfo.text = "距离 - - 公里,用时 - - 分"
|
||||
return
|
||||
}
|
||||
mOrderNo = order.orderNo
|
||||
onOrderStatusChanged(order)
|
||||
if (TaxiOrderStatusEnum.ArriveAtEnd.code == order.orderStatus) {
|
||||
d(SceneConstant.M_TAXI + TAG, "已经达到终点")
|
||||
binding.taskStatus.setText(R.string.module_och_taxi_arrive_at_end_station2)
|
||||
taskStatus.setText(R.string.module_och_taxi_arrive_at_end_station2)
|
||||
updateOrderBottomBtn(
|
||||
getString(R.string.module_och_taxi_order_server_end),
|
||||
Color.parseColor("#FFFFFF"),
|
||||
Color.parseColor("#FF1D5EF3"),
|
||||
true
|
||||
)
|
||||
binding.taskStatus.text = "送乘客至"
|
||||
binding.endStationName.text = order.endSiteAddr
|
||||
taskStatus.text = "送乘客至"
|
||||
endStationName.text = order.endSiteAddr
|
||||
} else if (TaxiOrderStatusEnum.OnTheWayToEnd.code == order.orderStatus) {
|
||||
d(SceneConstant.M_TAXI + TAG, "已经去往终点")
|
||||
binding.taskStatus.setText(R.string.module_och_taxi_on_the_way_2_end_station)
|
||||
taskStatus.setText(R.string.module_och_taxi_on_the_way_2_end_station)
|
||||
updateOrderBottomBtn(
|
||||
getString(R.string.module_och_taxi_order_close),
|
||||
Color.parseColor("#FFFFFF"),
|
||||
Color.parseColor("#FF1D5EF3"),
|
||||
true
|
||||
)
|
||||
binding.taskStatus.text= "送乘客至"
|
||||
binding.endStationName.text = order.endSiteAddr
|
||||
taskStatus.text= "送乘客至"
|
||||
endStationName.text = order.endSiteAddr
|
||||
} else if (TaxiOrderStatusEnum.UserArriveAtStart.code == order.orderStatus
|
||||
|| TaxiOrderStatusEnum.ArriveAtStart.code == order.orderStatus
|
||||
) {
|
||||
@@ -195,8 +194,8 @@ class TaxiBeingTaskFragment : BaseBindingFragment<UnmannedBeingOrderBinding>({
|
||||
val currentDay =
|
||||
DateTimeUtil.formatCalendarToString(currentCale, DateTimeUtil.yyyy_MM_dd)
|
||||
|
||||
binding.taskStatus.text = "送乘客至"
|
||||
binding.endStationName.text = order.endSiteAddr
|
||||
taskStatus.text = "送乘客至"
|
||||
endStationName.text = order.endSiteAddr
|
||||
currentCale.add(Calendar.MINUTE, 10)
|
||||
val strHtml13: String = if (currentDay == DateTimeUtil.formatCalendarToString(
|
||||
currentCale,
|
||||
@@ -215,12 +214,12 @@ class TaxiBeingTaskFragment : BaseBindingFragment<UnmannedBeingOrderBinding>({
|
||||
DateTimeUtil.MM_dd_HH_mm
|
||||
) + "</big></font>")
|
||||
}
|
||||
binding.taskOtherInfo.text = Html.fromHtml(strHtml13,Html.FROM_HTML_MODE_LEGACY)
|
||||
taskOtherInfo.text = Html.fromHtml(strHtml13,Html.FROM_HTML_MODE_LEGACY)
|
||||
if (TaxiOrderStatusEnum.ArriveAtStart.code == order.orderStatus) {
|
||||
d(SceneConstant.M_TAXI + TAG, "车辆已经达到起点")
|
||||
mPassengerInfoLayout!!.visibility = View.VISIBLE
|
||||
binding.orderPhoneAndNum.text = order.passengerPhone + " | "+ order.passengerNum + "人"
|
||||
binding.taskStatus.setText(R.string.module_och_taxi_waiting)
|
||||
orderPhoneAndNum.text = order.passengerPhone + " | "+ order.passengerNum + "人"
|
||||
taskStatus.setText(R.string.module_och_taxi_waiting)
|
||||
updateOrderBottomBtn(
|
||||
getString(R.string.module_och_taxi_order_server_start_wait_check),
|
||||
Color.parseColor("#FFFFFF"),
|
||||
@@ -230,7 +229,7 @@ class TaxiBeingTaskFragment : BaseBindingFragment<UnmannedBeingOrderBinding>({
|
||||
} else if (TaxiOrderStatusEnum.UserArriveAtStart.code == order.orderStatus) {
|
||||
d(SceneConstant.M_TAXI + TAG, "乘客已上车验证成功")
|
||||
mPassengerInfoLayout!!.visibility = View.GONE
|
||||
binding.taskStatus.setText(R.string.module_och_taxi_user_check_success)
|
||||
taskStatus.setText(R.string.module_och_taxi_user_check_success)
|
||||
updateOrderBottomBtn(
|
||||
getString(R.string.module_och_taxi_order_server_start),
|
||||
Color.parseColor("#FFFFFF"),
|
||||
@@ -241,9 +240,9 @@ class TaxiBeingTaskFragment : BaseBindingFragment<UnmannedBeingOrderBinding>({
|
||||
} else if (TaxiModel.checkCurrentOCHOrder()) {
|
||||
d(SceneConstant.M_TAXI + TAG, "前往乘客上车地点")
|
||||
|
||||
binding.orderPhoneAndNum.text = order.passengerPhone + " | "+ order.passengerNum + "人"
|
||||
orderPhoneAndNum.text = order.passengerPhone + " | "+ order.passengerNum + "人"
|
||||
|
||||
binding.taskStatus.setText(R.string.module_och_taxi_new_order)
|
||||
taskStatus.setText(R.string.module_och_taxi_new_order)
|
||||
updateOrderBottomBtn(
|
||||
getString(R.string.module_och_taxi_order_server_start),
|
||||
Color.parseColor("#4DFFFFFF"),
|
||||
@@ -294,8 +293,8 @@ class TaxiBeingTaskFragment : BaseBindingFragment<UnmannedBeingOrderBinding>({
|
||||
}
|
||||
|
||||
private fun showOrHideNavi() {
|
||||
binding.naviToStart.visibility = View.GONE
|
||||
binding.naviToEnd.visibility = View.GONE
|
||||
naviToStart.visibility = View.GONE
|
||||
naviToEnd.visibility = View.GONE
|
||||
AmapNaviToDestinationModel.getInstance(context).destroyAmaNavi()
|
||||
mTaxiFragment!!.showAmapNaviToStationFragment(false)
|
||||
mTaxiFragment!!.showRottingToStationFragment(false)
|
||||
@@ -326,18 +325,18 @@ class TaxiBeingTaskFragment : BaseBindingFragment<UnmannedBeingOrderBinding>({
|
||||
+ "<font color=\"#CAD6FF\">,剩余 </font>" + "<b><font color=\"#FFFFFF\">" + min + "</font></b>" + "<font color=\"#CAD6FF\"> 分钟</font>")
|
||||
try {
|
||||
if (mCurrentOrder != null && mCurrentOrder!!.orderStatus == TaxiOrderStatusEnum.OnTheWayToStart.code) { //前往上车点
|
||||
binding.taskOtherInfo.text = Html.fromHtml(strHtml2,Html.FROM_HTML_MODE_LEGACY)
|
||||
if (binding.naviToStart.visibility == View.GONE) {
|
||||
binding.naviToStart.visibility = View.VISIBLE
|
||||
taskOtherInfo.text = Html.fromHtml(strHtml2,Html.FROM_HTML_MODE_LEGACY)
|
||||
if (naviToStart.visibility == View.GONE) {
|
||||
naviToStart.visibility = View.VISIBLE
|
||||
}
|
||||
} else if (mCurrentOrder != null && mCurrentOrder!!.orderStatus == TaxiOrderStatusEnum.OnTheWayToEnd.code) { //前往终点 时间单位是分钟
|
||||
if (binding.naviToEnd.visibility == View.GONE) {
|
||||
binding.naviToEnd.visibility = View.VISIBLE
|
||||
if (naviToEnd.visibility == View.GONE) {
|
||||
naviToEnd.visibility = View.VISIBLE
|
||||
}
|
||||
if (mTtsLessThan200Tip < 1 && meters <= 250 && meters > 150) {
|
||||
speekVoice200mTipsOnce()
|
||||
}
|
||||
binding.taskOtherInfo.text = Html.fromHtml(strHtml2,Html.FROM_HTML_MODE_LEGACY)
|
||||
taskOtherInfo.text = Html.fromHtml(strHtml2,Html.FROM_HTML_MODE_LEGACY)
|
||||
if (isFirstStartAutopilotDone) {
|
||||
showNotice(
|
||||
String.format(
|
||||
@@ -374,7 +373,7 @@ class TaxiBeingTaskFragment : BaseBindingFragment<UnmannedBeingOrderBinding>({
|
||||
duration.toDouble() / 60
|
||||
).toInt() + "</font></b>" + "<font color=\"#CAD6FF\"> 分钟</font>")
|
||||
|
||||
binding.taskOtherInfo.text = Html.fromHtml(strHtml2,Html.FROM_HTML_MODE_LEGACY)
|
||||
taskOtherInfo.text = Html.fromHtml(strHtml2,Html.FROM_HTML_MODE_LEGACY)
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
@@ -440,7 +439,7 @@ class TaxiBeingTaskFragment : BaseBindingFragment<UnmannedBeingOrderBinding>({
|
||||
valueOf(status)
|
||||
when (ochStatus) {
|
||||
TaxiOrderStatusEnum.OnTheWayToStart -> {
|
||||
binding.cancelOrder.visibility = View.VISIBLE
|
||||
cancelOrder.visibility = View.VISIBLE
|
||||
showNotice(
|
||||
mActivity!!.getString(
|
||||
R.string.module_och_taxi_new_order
|
||||
@@ -469,7 +468,7 @@ class TaxiBeingTaskFragment : BaseBindingFragment<UnmannedBeingOrderBinding>({
|
||||
mCurrentOrder = null
|
||||
mTtsLessThan200Tip = 0
|
||||
isFirstStartAutopilotDone = true
|
||||
binding.cancelOrder.visibility = View.VISIBLE
|
||||
cancelOrder.visibility = View.VISIBLE
|
||||
//VoiceNotice.showNotice(mActivity.getString(R.string.module_och_taxi_order_cancel));
|
||||
showOrHideNavi()
|
||||
setOrRemoveMapMaker(
|
||||
@@ -490,7 +489,7 @@ class TaxiBeingTaskFragment : BaseBindingFragment<UnmannedBeingOrderBinding>({
|
||||
TaxiOrderStatusEnum.ArriveAtStart, TaxiOrderStatusEnum.UserArriveAtStart -> {
|
||||
mTtsLessThan200Tip = 0
|
||||
isFirstStartAutopilotDone = true
|
||||
binding.cancelOrder.visibility = View.VISIBLE
|
||||
cancelOrder.visibility = View.VISIBLE
|
||||
if (TaxiOrderStatusEnum.UserArriveAtStart.code == ochStatus.code) {
|
||||
showNotice(
|
||||
mActivity!!.getString(
|
||||
@@ -521,7 +520,7 @@ class TaxiBeingTaskFragment : BaseBindingFragment<UnmannedBeingOrderBinding>({
|
||||
|
||||
TaxiOrderStatusEnum.OnTheWayToEnd -> {
|
||||
// showNotice("欢迎使用蘑菇智行");
|
||||
binding.cancelOrder.visibility = View.VISIBLE
|
||||
cancelOrder.visibility = View.VISIBLE
|
||||
|
||||
if (mTaxiFragment != null) {
|
||||
showNaviToEndStationFragment(false)
|
||||
@@ -542,7 +541,7 @@ class TaxiBeingTaskFragment : BaseBindingFragment<UnmannedBeingOrderBinding>({
|
||||
|
||||
TaxiOrderStatusEnum.ArriveAtEnd -> {
|
||||
mTtsLessThan200Tip = 0
|
||||
binding.cancelOrder.visibility = View.GONE
|
||||
cancelOrder.visibility = View.GONE
|
||||
showNotice(
|
||||
mActivity!!.getString(
|
||||
R.string.module_och_taxi_order_auto_arrive_end_tip
|
||||
@@ -568,7 +567,7 @@ class TaxiBeingTaskFragment : BaseBindingFragment<UnmannedBeingOrderBinding>({
|
||||
mCurrentOrder = null
|
||||
mTtsLessThan200Tip = 0
|
||||
isFirstStartAutopilotDone = true
|
||||
binding.cancelOrder.visibility = View.GONE
|
||||
cancelOrder.visibility = View.GONE
|
||||
showNotice("感谢您使用蘑菇智行,再见~")
|
||||
showOrHideNavi()
|
||||
}
|
||||
@@ -582,7 +581,7 @@ class TaxiBeingTaskFragment : BaseBindingFragment<UnmannedBeingOrderBinding>({
|
||||
|
||||
private fun clearOrderTag() {
|
||||
saveOrderState = -1
|
||||
binding.taskOtherInfo.text = "距离 - - 公里,用时 - - 分"
|
||||
taskOtherInfo.text = "距离 - - 公里,用时 - - 分"
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -613,16 +612,16 @@ class TaxiBeingTaskFragment : BaseBindingFragment<UnmannedBeingOrderBinding>({
|
||||
}
|
||||
|
||||
override fun onClick(v: View) {
|
||||
if (v.id == binding.taskStatus.id) {
|
||||
d(SceneConstant.M_TAXI + TAG, binding.taskStatus.text.toString())
|
||||
if (v.id == taskStatus.id) {
|
||||
d(SceneConstant.M_TAXI + TAG, taskStatus.text.toString())
|
||||
startOrEndService()
|
||||
} else if (v.id == binding.cancelOrder.id) {
|
||||
} else if (v.id == cancelOrder.id) {
|
||||
TaxiOrderCancelDialog(mTaxiFragment, mActivity, mOrderNo, saveOrderState).show()
|
||||
} else if (v.id == binding.naviToStart.id) {
|
||||
} else if (v.id == naviToStart.id) {
|
||||
if (mTaxiFragment != null) {
|
||||
showNaviToStartStationFragment()
|
||||
}
|
||||
} else if (v.id == binding.naviToEnd.id) {
|
||||
} else if (v.id == naviToEnd.id) {
|
||||
if (mTaxiFragment != null) {
|
||||
showNaviToEndStationFragment(true)
|
||||
}
|
||||
@@ -685,7 +684,7 @@ class TaxiBeingTaskFragment : BaseBindingFragment<UnmannedBeingOrderBinding>({
|
||||
* 订单流转debug START
|
||||
*/
|
||||
private fun initOrderTestBar() {
|
||||
binding.taskStatus.setOnLongClickListener {
|
||||
taskStatus.setOnLongClickListener {
|
||||
mTaxiFragment!!.clickTestBar()
|
||||
false
|
||||
}
|
||||
@@ -723,15 +722,15 @@ class TaxiBeingTaskFragment : BaseBindingFragment<UnmannedBeingOrderBinding>({
|
||||
if (mCurrentOrder != null &&
|
||||
mCurrentOrder!!.orderStatus == TaxiOrderStatusEnum.OnTheWayToStart.code
|
||||
) {
|
||||
if (binding.naviToStart.visibility == View.GONE) {
|
||||
binding.naviToStart.visibility = View.VISIBLE
|
||||
if (naviToStart.visibility == View.GONE) {
|
||||
naviToStart.visibility = View.VISIBLE
|
||||
}
|
||||
}
|
||||
if (mCurrentOrder != null &&
|
||||
mCurrentOrder!!.orderStatus == TaxiOrderStatusEnum.OnTheWayToEnd.code
|
||||
) {
|
||||
if (binding.naviToEnd.visibility == View.GONE) {
|
||||
binding.naviToEnd.visibility = View.VISIBLE
|
||||
if (naviToEnd.visibility == View.GONE) {
|
||||
naviToEnd.visibility = View.VISIBLE
|
||||
}
|
||||
}
|
||||
}, 3000)
|
||||
@@ -824,12 +823,12 @@ class TaxiBeingTaskFragment : BaseBindingFragment<UnmannedBeingOrderBinding>({
|
||||
}
|
||||
|
||||
private fun updateOrderBottomBtn(txt: String?, txtColorId: Int, bgColorId: Int, isClickable: Boolean) {
|
||||
binding.taskClickBtn.text = txt
|
||||
binding.taskClickBtn.setTextColor(txtColorId)
|
||||
taskClickBtn.text = txt
|
||||
taskClickBtn.setTextColor(txtColorId)
|
||||
val background =
|
||||
binding.taskClickBtn.background as GradientDrawable //GradientDrawable是Drawable的子类
|
||||
taskClickBtn.background as GradientDrawable //GradientDrawable是Drawable的子类
|
||||
background.setColor(bgColorId)
|
||||
binding.taskClickBtn.isClickable = isClickable
|
||||
taskClickBtn.isClickable = isClickable
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -37,7 +37,7 @@ import java.lang.ref.WeakReference
|
||||
*/
|
||||
public class TaxiFragment : BaseTaxiTabFragment<TaxiFragment, TaxiPresenter>(),
|
||||
ITaxiView {
|
||||
private var serverOrdersFragmentWR: WeakReference<TaxiServerOrdersFragment?>? = null
|
||||
private var serverOrdersFragmentWR: WeakReference<TaxiServerOrdersFragment>? = null
|
||||
private var personalDialogFragment: WeakReference<TaxiPersonalDialogFragment>? = null
|
||||
private var loginService: LoginService? = null
|
||||
override fun onActivityCreated(savedInstanceState: Bundle?) {
|
||||
@@ -94,7 +94,7 @@ public class TaxiFragment : BaseTaxiTabFragment<TaxiFragment, TaxiPresenter>(),
|
||||
serverOrdersFragmentWR = WeakReference(TaxiServerOrdersFragment.newInstance())
|
||||
val transaction: FragmentTransaction = childFragmentManager.beginTransaction()
|
||||
//默认显示OCHTaxiServerOrdersFragment
|
||||
transaction.add(R.id.fragment_container, serverOrdersFragmentWR!!.get()!!).show(
|
||||
transaction.add(R.id.fragment_container, serverOrdersFragmentWR!!.get()).show(
|
||||
serverOrdersFragmentWR!!.get()!!
|
||||
)
|
||||
transaction.commitAllowingStateLoss()
|
||||
|
||||
@@ -4,16 +4,15 @@ import android.annotation.SuppressLint
|
||||
import android.app.Activity
|
||||
import android.content.Context
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.och.taxi.R
|
||||
import com.mogo.och.taxi.base.BaseBindingFragment
|
||||
import com.mogo.och.taxi.base.BaseTaxiUIFragment
|
||||
import com.mogo.och.taxi.bean.OrderQueryRespBean
|
||||
import com.mogo.och.taxi.databinding.UnmannedBeingOrderBinding
|
||||
import com.mogo.och.taxi.model.TaxiUnmannedViewModel
|
||||
import com.mogo.och.taxi.ui.unmanned.OrderUiState
|
||||
import com.mogo.och.taxi.ui.unmanned.TaskUiState
|
||||
import kotlinx.coroutines.flow.collect
|
||||
import kotlinx.coroutines.flow.map
|
||||
|
||||
@@ -21,9 +20,7 @@ import kotlinx.coroutines.flow.map
|
||||
* @author: wangmingjun
|
||||
* @date: 2023/7/24
|
||||
*/
|
||||
class TaxiReserveOrderFragment : BaseBindingFragment<UnmannedBeingOrderBinding>({
|
||||
UnmannedBeingOrderBinding.inflate(it)
|
||||
}) {
|
||||
class TaxiReserveOrderFragment : BaseTaxiUIFragment() {
|
||||
private val mData: MutableList<OrderQueryRespBean.Result> = ArrayList()
|
||||
|
||||
private var mViewModel: TaxiUnmannedViewModel? = null
|
||||
@@ -32,8 +29,8 @@ class TaxiReserveOrderFragment : BaseBindingFragment<UnmannedBeingOrderBinding>(
|
||||
return R.layout.unmanned_being_order
|
||||
}
|
||||
|
||||
override fun getTagName(): String {
|
||||
return "TaxiReserveOrdersFragment"
|
||||
override fun initViews(view: View) {
|
||||
initViews()
|
||||
}
|
||||
|
||||
override fun onAttach(context: Context) {
|
||||
@@ -41,7 +38,7 @@ class TaxiReserveOrderFragment : BaseBindingFragment<UnmannedBeingOrderBinding>(
|
||||
mViewModel = ViewModelProvider(this)[TaxiUnmannedViewModel::class.java]
|
||||
}
|
||||
|
||||
override fun initViews() {
|
||||
fun initViews() {
|
||||
initData()
|
||||
}
|
||||
|
||||
|
||||
@@ -17,18 +17,17 @@ import com.google.android.material.tabs.TabLayout
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
|
||||
import com.mogo.och.taxi.R
|
||||
import com.mogo.och.taxi.base.BaseBindingFragment
|
||||
import com.mogo.och.taxi.base.BaseTaxiUIFragment
|
||||
import com.mogo.och.taxi.bean.OrderQueryRespBean
|
||||
import com.mogo.och.taxi.databinding.TaxiServerOrdersPanelBinding
|
||||
import kotlinx.android.synthetic.main.taxi_server_orders_panel.module_och_taxi_tab
|
||||
import kotlinx.android.synthetic.main.taxi_server_orders_panel.module_och_taxi_view_pager
|
||||
import me.jessyan.autosize.utils.AutoSizeUtils
|
||||
|
||||
/**
|
||||
* @author: wangmingjun
|
||||
* @date: 2023/7/25
|
||||
*/
|
||||
class TaxiServerOrdersFragment : BaseBindingFragment<TaxiServerOrdersPanelBinding>({
|
||||
TaxiServerOrdersPanelBinding.inflate(it)
|
||||
}) {
|
||||
class TaxiServerOrdersFragment : BaseTaxiUIFragment(){
|
||||
private val mTabTitles = arrayOf("进行中", "待服务")
|
||||
private val fragments: MutableList<Fragment> = ArrayList()
|
||||
private var beingTaskFragment: TaxiBeingTaskFragment? = null
|
||||
@@ -36,26 +35,22 @@ class TaxiServerOrdersFragment : BaseBindingFragment<TaxiServerOrdersPanelBindin
|
||||
override fun getLayoutId(): Int {
|
||||
return R.layout.taxi_server_orders_panel
|
||||
}
|
||||
|
||||
override fun getTagName(): String {
|
||||
return "TaxiServerOrdersFragment"
|
||||
}
|
||||
|
||||
override fun initViews() {
|
||||
|
||||
override fun initViews(view: View) {
|
||||
initOrderTab()
|
||||
}
|
||||
|
||||
private fun initOrderTab() {
|
||||
for (i in mTabTitles.indices) {
|
||||
val tab = binding.moduleOchTaxiTab.newTab()
|
||||
val tab = module_och_taxi_tab.newTab()
|
||||
tab.view.setBackgroundColor(Color.parseColor("#00000000"))
|
||||
val tabView =
|
||||
View.inflate(activity, R.layout.taxi_tab_item_custom, null) as TextView
|
||||
tabView.text = mTabTitles[i]
|
||||
tabView.height = AutoSizeUtils.dp2px(context, 120f)
|
||||
tab?.customView = tabView
|
||||
tab.customView = tabView
|
||||
if (0 == i) {
|
||||
binding.moduleOchTaxiTab.addTab(tab, true)
|
||||
module_och_taxi_tab.addTab(tab, true)
|
||||
changeTabLayoutTabUI(tab, true)
|
||||
beingTaskFragment = TaxiBeingTaskFragment.newInstance(
|
||||
activity,
|
||||
@@ -63,7 +58,7 @@ class TaxiServerOrdersFragment : BaseBindingFragment<TaxiServerOrdersPanelBindin
|
||||
)
|
||||
fragments.add(beingTaskFragment!!)
|
||||
} else if (1 == i) {
|
||||
binding.moduleOchTaxiTab.addTab(tab)
|
||||
module_och_taxi_tab.addTab(tab)
|
||||
changeTabLayoutTabUI(tab, false)
|
||||
reserveOrdersFragment = TaxiReserveOrderFragment.newInstance(
|
||||
activity
|
||||
@@ -72,9 +67,9 @@ class TaxiServerOrdersFragment : BaseBindingFragment<TaxiServerOrdersPanelBindin
|
||||
}
|
||||
}
|
||||
d(SceneConstant.M_TAXI + TAG, "activity=$activity")
|
||||
binding.moduleOchTaxiTab.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener {
|
||||
module_och_taxi_tab.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener {
|
||||
override fun onTabSelected(tab: TabLayout.Tab) {
|
||||
binding.moduleOchTaxiViewPager.currentItem = tab.position
|
||||
module_och_taxi_view_pager.currentItem = tab.position
|
||||
changeTabLayoutTabUI(tab, true)
|
||||
}
|
||||
|
||||
@@ -84,7 +79,7 @@ class TaxiServerOrdersFragment : BaseBindingFragment<TaxiServerOrdersPanelBindin
|
||||
|
||||
override fun onTabReselected(tab: TabLayout.Tab) {}
|
||||
})
|
||||
binding.moduleOchTaxiViewPager.addOnPageChangeListener(object : OnPageChangeListener {
|
||||
module_och_taxi_view_pager.addOnPageChangeListener(object : OnPageChangeListener {
|
||||
override fun onPageScrolled(
|
||||
position: Int,
|
||||
positionOffset: Float,
|
||||
@@ -93,12 +88,12 @@ class TaxiServerOrdersFragment : BaseBindingFragment<TaxiServerOrdersPanelBindin
|
||||
}
|
||||
|
||||
override fun onPageSelected(position: Int) {
|
||||
binding.moduleOchTaxiTab.getTabAt(position)!!.select()
|
||||
module_och_taxi_tab.getTabAt(position)!!.select()
|
||||
}
|
||||
|
||||
override fun onPageScrollStateChanged(state: Int) {}
|
||||
})
|
||||
binding.moduleOchTaxiViewPager.adapter = OrdersFragmentAdapter(
|
||||
module_och_taxi_view_pager.adapter = OrdersFragmentAdapter(
|
||||
childFragmentManager,
|
||||
FragmentPagerAdapter.BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT
|
||||
)
|
||||
@@ -157,7 +152,7 @@ class TaxiServerOrdersFragment : BaseBindingFragment<TaxiServerOrdersPanelBindin
|
||||
@RequiresApi(api = Build.VERSION_CODES.P)
|
||||
fun updateCurrentOrderStatusChanged(order: OrderQueryRespBean.Result?) {
|
||||
if (beingTaskFragment != null) {
|
||||
binding.moduleOchTaxiTab.getTabAt(0)?.select()
|
||||
module_och_taxi_tab.getTabAt(0)?.select()
|
||||
beingTaskFragment!!.updateCurrentOrderStatusChanged(order)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
project.android.productFlavors {
|
||||
// 出租车业务
|
||||
taxiunmanned {
|
||||
dimension "product"
|
||||
|
||||
dimension "product"
|
||||
manifestPlaceholders = [
|
||||
CHANNEL_VALUE_HEAD: "Taxi",
|
||||
// Activity的朝向
|
||||
@@ -14,20 +14,23 @@ project.android.productFlavors {
|
||||
// ②连接的工控机IP地址
|
||||
buildConfigField 'String', 'ADAS_CONNECT_IP', "\"192.168.1.102\""
|
||||
|
||||
// ③是否需要重写状态栏
|
||||
buildConfigField 'boolean', 'IS_REPLACE_STATUSVIEW', 'false'
|
||||
|
||||
// ④构建 是否支持多屏异显异交互
|
||||
buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'false'
|
||||
|
||||
if (isCurrentDriver("taxi")) {
|
||||
// 在启动的时候把Task给清空
|
||||
manifestPlaceholders.put("ACTIVITY_ROOT", true)
|
||||
// ③是否需要重写状态栏
|
||||
buildConfigField 'boolean', 'IS_REPLACE_STATUSVIEW', 'false'
|
||||
}else if (isCurrentPassenger("taxi")) {
|
||||
// 在启动的时候把Task给清空
|
||||
manifestPlaceholders.put("ACTIVITY_ROOT", false)
|
||||
// ③是否需要重写状态栏
|
||||
buildConfigField 'boolean', 'IS_REPLACE_STATUSVIEW', 'true'
|
||||
}else {
|
||||
manifestPlaceholders.put("ACTIVITY_ROOT", false)
|
||||
// ③是否需要重写状态栏
|
||||
buildConfigField 'boolean', 'IS_REPLACE_STATUSVIEW', 'false'
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -166,6 +166,12 @@ SHUTTLE_PASSENGER_VERSION=2.4.0
|
||||
TAXI_DRIVER_VERSION=3.4.0
|
||||
# 出租车模式乘客端端版本号
|
||||
TAXI_PASSENGER_VERSION=2.4.0
|
||||
|
||||
# 出租车模式司机端版本号
|
||||
TAXI_UNMANNED_DRIVER_VERSION=6.0.0
|
||||
# 出租车模式乘客端端版本号
|
||||
TAXI_UNMANNED_PASSENGER_VERSION=5.0.0
|
||||
|
||||
# 包车模式司机端版本号
|
||||
CHARTER_DRIVER_VERSION=3.4.0
|
||||
# 包车模式乘客端端版本号
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
ext {
|
||||
gradle_version = '4.2.2'
|
||||
gradle_version = '3.5.3'
|
||||
kotlin_version = '1.5.30'
|
||||
plugin_version = '10.0.0_mogo'
|
||||
hook_log_plugin_version = '1.7.2'
|
||||
|
||||
4
gradle/wrapper/gradle-wrapper.properties
vendored
4
gradle/wrapper/gradle-wrapper.properties
vendored
@@ -1,6 +1,6 @@
|
||||
#Wed Dec 18 10:03:53 CST 2019
|
||||
#Wed Aug 02 17:04:33 CST 2023
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-bin.zip
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip
|
||||
|
||||
Reference in New Issue
Block a user