[charter m1]司机端倒计时,UI处理
This commit is contained in:
@@ -176,6 +176,10 @@ class DriverM1Fragment : CharterBaseFragment<DriverM1Fragment?, DriverM1Presente
|
||||
driverm1_order_count_down.text = String.format(
|
||||
resources.getString(R.string.count_down_txt)
|
||||
,minute)
|
||||
|
||||
if(minute.toInt() == 5){//还车提示
|
||||
mPresenter?.carReturnTip()
|
||||
}
|
||||
d(SceneConstant.M_CHARTER_D + TAG, "倒计时分钟 = $minute" )
|
||||
}
|
||||
|
||||
|
||||
@@ -51,7 +51,7 @@ object DriverM1LooperManager {
|
||||
CallerLogger.i(SceneConstant.M_CHARTER_D + TAG, "starCountDownLoop()")
|
||||
mQueryCountDownDisposable = Observable.interval(
|
||||
CharterConst.LOOP_DELAY,
|
||||
CharterConst.LOOP_5M, TimeUnit.MINUTES
|
||||
CharterConst.LOOP_3M, TimeUnit.MILLISECONDS
|
||||
)
|
||||
.map { aLong: Long -> aLong + 1 }
|
||||
.subscribeOn(Schedulers.io())
|
||||
|
||||
@@ -2,7 +2,6 @@ package com.magic.mogo.och.charter.model
|
||||
|
||||
import android.content.Context
|
||||
import android.net.ConnectivityManager
|
||||
import android.os.Handler
|
||||
import com.alibaba.android.arouter.launcher.ARouter
|
||||
import com.alibaba.android.arouter.utils.TextUtils
|
||||
import com.amap.api.maps.model.LatLng
|
||||
@@ -19,7 +18,6 @@ import com.magic.mogo.och.charter.callback.IDriverM1ControllerStatusCallback
|
||||
import com.magic.mogo.och.charter.constant.CharterConst
|
||||
import com.magic.mogo.och.charter.net.DriverM1ServiceManager
|
||||
import com.mogo.aicloud.services.socket.IMogoOnMessageListener
|
||||
import com.mogo.commons.AbsMogoApplication
|
||||
import com.mogo.commons.module.intent.IMogoIntentListener
|
||||
import com.mogo.commons.module.intent.IntentManager
|
||||
import com.mogo.eagle.core.data.BaseData
|
||||
@@ -60,8 +58,6 @@ import java.io.IOException
|
||||
*/
|
||||
class DriverM1Model {
|
||||
|
||||
private var backgroundCurrentStationIndex = 0 //A->B 此处值是A站点索引
|
||||
|
||||
var mLongitude = 0.0
|
||||
var mLatitude = 0.0
|
||||
private var mContext: Context? = null
|
||||
@@ -69,11 +65,7 @@ class DriverM1Model {
|
||||
private var isArrivedStation: Boolean = false
|
||||
|
||||
// 运营类型
|
||||
private val MSG_QUERY_BUS_STATION: Int = 1001
|
||||
private val QUERY_BUS_STATION_DELAY: Long = 5000
|
||||
|
||||
// 运营类型
|
||||
private val VEHICLE_TYPE = 10
|
||||
private val VEHICLE_TYPE : Int = 10
|
||||
|
||||
private var mControllerStatusCallback //Model->Presenter:VR mode等
|
||||
: IDriverM1ControllerStatusCallback? = null
|
||||
@@ -104,14 +96,6 @@ class DriverM1Model {
|
||||
}
|
||||
}
|
||||
|
||||
private val handler = Handler(Handler.Callback { msg ->
|
||||
if (msg.what == MSG_QUERY_BUS_STATION) {
|
||||
return@Callback true
|
||||
}
|
||||
false
|
||||
})
|
||||
|
||||
|
||||
fun init(context: Context) {
|
||||
mContext = context
|
||||
// 定位监听
|
||||
@@ -317,15 +301,14 @@ class DriverM1Model {
|
||||
startFailedCode: String,
|
||||
startFailedMessage: String
|
||||
) {
|
||||
// BusAnalyticsManager.getInstance()
|
||||
// .triggerStartAutopilotFailureEventByAdas(startFailedCode, startFailedMessage)
|
||||
// if (mADASStatusCallback != null && !FunctionBuildConfig.isDemoMode) {
|
||||
// e(
|
||||
// SceneConstant.M_CHARTER_D + TAG,
|
||||
// "mAdasStartFailureListener = $startFailedMessage"
|
||||
// )
|
||||
CharterAnalyticsManager.getInstance()
|
||||
.triggerStartAutopilotFailureEventByAdas(startFailedCode, startFailedMessage)
|
||||
if (mControllerStatusCallback != null) {
|
||||
|
||||
d(SceneConstant.M_CHARTER_D + TAG,
|
||||
"mAdasStartFailureListener = $startFailedMessage")
|
||||
mControllerStatusCallback?.onStartAdasFailure()
|
||||
// }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -413,13 +396,6 @@ class DriverM1Model {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 延时查询站点信心
|
||||
*/
|
||||
fun queryBusStationDelay() {
|
||||
handler.sendEmptyMessageDelayed(MSG_QUERY_BUS_STATION, QUERY_BUS_STATION_DELAY)
|
||||
}
|
||||
|
||||
/**
|
||||
* 在踩刹车、控制方向盘等操作后,会停止自动驾驶,重启自动驾驶的话相当于重新设置自动驾驶目的地
|
||||
*/
|
||||
@@ -438,7 +414,7 @@ class DriverM1Model {
|
||||
loginService!!.loginOut(mLatitude, mLongitude)
|
||||
}
|
||||
|
||||
private fun triggerStartServiceEvent(isRestart: Boolean, send: Boolean) {
|
||||
fun triggerStartServiceEvent(isRestart: Boolean, send: Boolean) {
|
||||
if (mCurrentOrder == null) {
|
||||
return
|
||||
}
|
||||
@@ -462,10 +438,6 @@ class DriverM1Model {
|
||||
}
|
||||
}
|
||||
|
||||
fun getCurrentStationIndex(): Int {
|
||||
return backgroundCurrentStationIndex
|
||||
}
|
||||
|
||||
/**
|
||||
* 将业务订单信息保存,鹰眼可取用
|
||||
*/
|
||||
@@ -490,7 +462,7 @@ class DriverM1Model {
|
||||
var parameters = AutopilotControlParameters()
|
||||
parameters.routeID = mCurrentOrder?.lineId!!
|
||||
parameters.routeName = mCurrentOrder?.lineName!!
|
||||
// parameters.startName = PinYinUtil.getPinYinHeadChar(currentStation.getName())
|
||||
parameters.startName = PinYinUtil.getPinYinHeadChar(mCurrentOrder?.startSiteName)
|
||||
parameters.endName = PinYinUtil.getPinYinHeadChar(mCurrentOrder?.siteName)
|
||||
parameters.startLatLon = AutopilotControlParameters.AutoPilotLonLat(
|
||||
mLatitude,
|
||||
@@ -565,15 +537,16 @@ class DriverM1Model {
|
||||
d(SceneConstant.M_CHARTER_D + TAG, "queryCurrentServiceStatus success = "
|
||||
+ GsonUtils.toJson(data.data))
|
||||
|
||||
if (data.data.businessStatus == 2){
|
||||
if (data.data.businessStatus == 2){//订单为空,则是要换车状态
|
||||
if (TextUtils.isEmpty(data.data.orderNo)){//还未换车,显示还车状态
|
||||
mOrderCallback?.updateReturnCarStatus(false)
|
||||
startOrStopCheckCountDown(false)
|
||||
}else{ // 去查询订单
|
||||
}else{ // 订单不为空,有服务中订单,去查询订单
|
||||
mOrderCallback?.updateReturnCarStatus(true)
|
||||
queryCurrentOrder()
|
||||
}
|
||||
}else{
|
||||
}else{ //车辆无订单,闲置状态
|
||||
clearAutopilotControlParameters()
|
||||
startOrStopCheckCountDown(false)
|
||||
}
|
||||
}
|
||||
@@ -601,6 +574,8 @@ class DriverM1Model {
|
||||
checkoutContrail()
|
||||
// 倒计时校验开始
|
||||
startOrStopCheckCountDown(true)
|
||||
//鹰眼存参数
|
||||
updateAutopilotControlParameters()
|
||||
}
|
||||
|
||||
override fun onFail(code: Int, msg: String?) {
|
||||
@@ -658,6 +633,7 @@ class DriverM1Model {
|
||||
}
|
||||
|
||||
override fun onFail(code: Int, msg: String?) {
|
||||
ToastUtilsOch.toastRequestError(mContext,msg)
|
||||
d(SceneConstant.M_CHARTER_D + TAG, "changeDest-onFail== $msg .")
|
||||
}
|
||||
})
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
package com.magic.mogo.och.charter.presenter
|
||||
|
||||
import androidx.lifecycle.LifecycleOwner
|
||||
import com.magic.mogo.och.charter.CharterAnalyticsManager
|
||||
import com.magic.mogo.och.charter.R
|
||||
import com.magic.mogo.och.charter.bean.QueryCurrentOrderResponse
|
||||
import com.magic.mogo.och.charter.callback.ChangeDestCallback
|
||||
import com.magic.mogo.och.charter.callback.DriverM1OrderCallback
|
||||
@@ -116,6 +118,11 @@ class DriverM1Presenter(view: DriverM1Fragment?) :
|
||||
DriverM1Model.get().changeDest()
|
||||
}
|
||||
|
||||
fun carReturnTip(){ //提前 5分钟 提醒
|
||||
DriverM1Model.get().pushOperationalToMsgBox(DateTimeUtil.getCurrentTimeStamp()
|
||||
,context.getString(R.string.last_5_minutes))
|
||||
}
|
||||
|
||||
override fun onAutopilotArriveAtStation(arrivalNotification: MessagePad.ArrivalNotification?) {
|
||||
DriverM1Model.get().onAutopilotArriveAtStation()
|
||||
}
|
||||
@@ -126,21 +133,21 @@ class DriverM1Presenter(view: DriverM1Fragment?) :
|
||||
|
||||
mView?.onAutopilotStatusChanged(status)
|
||||
mCurrentAutopilotStatus = status
|
||||
// when(status){
|
||||
//
|
||||
when(status){
|
||||
|
||||
// IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_ENABLE -> { //
|
||||
//
|
||||
// }
|
||||
// IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING ->{
|
||||
//
|
||||
// }
|
||||
IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING ->{
|
||||
DriverM1Model.get().triggerStartServiceEvent(false,true)
|
||||
}
|
||||
// IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE ->{
|
||||
//
|
||||
// }
|
||||
// IMoGoAutopilotStatusListener.STATUS_PARALLEL_DRIVING ->{
|
||||
//
|
||||
// }
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
||||
override fun onStartAutopilotFailure(
|
||||
@@ -160,12 +167,14 @@ class DriverM1Presenter(view: DriverM1Fragment?) :
|
||||
}
|
||||
|
||||
override fun startOpenAutopilot() {
|
||||
mCurrentAutopilotStatus = -1
|
||||
ThreadUtils.runOnUiThread {
|
||||
mView?.startAutopilotAnimation()
|
||||
}
|
||||
}
|
||||
|
||||
override fun onStartAdasFailure() {
|
||||
mCurrentAutopilotStatus = -1
|
||||
ThreadUtils.runOnUiThread {
|
||||
mView?.stopAnimAndUpdateBtnStatus()
|
||||
}
|
||||
|
||||
@@ -166,9 +166,9 @@
|
||||
<View
|
||||
android:id="@+id/line3"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0.5dp"
|
||||
android:layout_height="@dimen/dp_1"
|
||||
android:layout_marginTop="@dimen/dp_40"
|
||||
android:background="#FFFFFF"
|
||||
android:background="#33FFFFFF"
|
||||
app:layout_constraintTop_toBottomOf="@+id/driverm1StationName2Tv"
|
||||
app:layout_constraintLeft_toLeftOf="@+id/driverm1nextCircleIv"
|
||||
app:layout_constraintRight_toRightOf="@+id/driverm1_order_count_down"/>
|
||||
@@ -198,7 +198,7 @@
|
||||
android:id="@+id/group_stations_panel"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="visible"
|
||||
android:visibility="gone"
|
||||
app:constraint_referenced_ids="driverm1_line_name,driverm1_order_count_down
|
||||
,cur_station_title,cur_station_title1,line1,line2,driverm1StationName1Tv,
|
||||
driverm1StationName2Tv,driverm1nextCircleIv,driverm1CircleIvBg,driverm1ArrowBg
|
||||
|
||||
@@ -37,12 +37,11 @@ class CharterConst {
|
||||
const val EVENT_PARAM_ENV_ONLINE = "env_online" // 是否线上环境:true/false
|
||||
// 埋点key:开启自动驾驶前已识别的异常,会导致无法开启自驾
|
||||
const val EVENT_KEY_AP_UNABLE_START_REASON = "event_key_och_charter_ap_unable_start_reason"
|
||||
const val EVENT_PARAM_UNABLE_START_REASON = "unable_start_reason";
|
||||
const val EVENT_PARAM_UNABLE_START_REASON = "unable_start_reason"
|
||||
|
||||
/**
|
||||
* 订单起终点Marker类型
|
||||
*/
|
||||
const val TYPE_MARKER_BUS_ORDER = "TYPE_MARKER_BUS_ORDER"
|
||||
|
||||
const val TIMER_START_AUTOPILOT_INTERVAL = 20 * 1000L
|
||||
|
||||
@@ -50,7 +49,7 @@ class CharterConst {
|
||||
const val ARRIVE_AT_END_STATION_DISTANCE = 10
|
||||
|
||||
// 轮询
|
||||
const val LOOP_5M = 3 * 1000L
|
||||
const val LOOP_3M = 5 * 60 * 1000L
|
||||
const val LOOP_2S = 2 * 1000L
|
||||
const val LOOP_1S = 1 * 1000L
|
||||
const val LOOP_DELAY_500 = 500L
|
||||
|
||||
Reference in New Issue
Block a user