[6.0.0] 1、去除viewBinding 2、更换无人化需求登陆/登出接口

This commit is contained in:
wangmingjun
2023-08-02 19:45:26 +08:00
parent 0d5a32c3c6
commit 46a02d36c4
15 changed files with 142 additions and 141 deletions

View File

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

View File

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

View File

@@ -41,10 +41,6 @@ android {
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
viewBinding {
enabled = true
}
}
dependencies {

View File

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

View File

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

View File

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

View File

@@ -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);
/**
* 接单状态和登录状态查询 出租车司机端、小巴车司机端、小巴车乘客端

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -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
# 包车模式乘客端端版本号

View File

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

View File

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