Merge branch 'dev_robobus-d_241202_6.9.0_yyk' into dev_robotaxi-d_241210_6.9.0
# Conflicts: # gradle.properties
This commit is contained in:
@@ -62,6 +62,8 @@ dependencies {
|
||||
compileOnly rootProject.ext.dependencies.recyclerviewadapterhelper
|
||||
|
||||
implementation project(":OCH:common:common")
|
||||
implementation project(":OCH:common:data")
|
||||
implementation project(":OCH:common:bridge")
|
||||
compileOnly project(":libraries:mogo-map")
|
||||
|
||||
androidTestImplementation rootProject.ext.dependencies.androidxjunit
|
||||
|
||||
@@ -1,16 +1,19 @@
|
||||
package com.magic.mogo.och.charter
|
||||
|
||||
import android.content.Context
|
||||
import android.view.View
|
||||
import androidx.fragment.app.Fragment
|
||||
import com.alibaba.android.arouter.facade.annotation.Route
|
||||
import com.magic.mogo.och.charter.fragment.DriverM1Fragment
|
||||
import com.magic.mogo.och.charter.manager.CharterAnalyticsManager
|
||||
import com.magic.mogo.och.charter.manager.CharterTrajectoryManager
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
|
||||
import com.mogo.och.common.module.constant.OchCommonConst
|
||||
import com.mogo.och.common.module.biz.provider.CommonService
|
||||
import com.mogo.och.common.module.biz.provider.CommonServiceImpl
|
||||
import com.mogo.och.common.module.manager.autopilot.autopilot.OchAutopilotAnalytics
|
||||
import com.mogo.och.bridge.autopilot.autopilot.OchAutopilotAnalytics
|
||||
import com.mogo.och.bridge.ui.autopilot.AutopilotState
|
||||
|
||||
|
||||
/**
|
||||
@@ -29,14 +32,22 @@ class CharterDriverProvider : CommonServiceImpl() {
|
||||
fragment = DriverM1Fragment()
|
||||
}
|
||||
OchAutopilotAnalytics.ochEventKey = CharterAnalyticsManager.getInstance()
|
||||
CharterTrajectoryManager.load()
|
||||
return fragment!!
|
||||
}
|
||||
|
||||
override fun resetFragment() {
|
||||
CharterTrajectoryManager.release()
|
||||
fragment = null
|
||||
OchAutopilotAnalytics.ochEventKey = null
|
||||
}
|
||||
|
||||
override fun createStartAutopilotView(context: Context?): View? {
|
||||
return context?.let {
|
||||
AutopilotState(it)
|
||||
}
|
||||
}
|
||||
|
||||
override fun init(context: Context) {
|
||||
CallerLogger.d(SceneConstant.M_TAXI + tag, "init")
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ package com.magic.mogo.och.charter.manager;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.mogo.och.common.module.manager.autopilot.autopilot.IOchEventKey;
|
||||
import com.mogo.och.bridge.autopilot.autopilot.IOchEventKey;
|
||||
|
||||
public class CharterAnalyticsManager implements IOchEventKey {
|
||||
|
||||
|
||||
@@ -14,22 +14,22 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.e
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
|
||||
import com.mogo.eagle.core.utilcode.util.ActivityUtils
|
||||
import com.mogo.eagle.core.utilcode.util.GsonUtils
|
||||
import com.mogo.och.bridge.autopilot.trajectory.ITrajectoryListListener
|
||||
import com.mogo.och.bridge.autopilot.trajectory.TrajectoryManager
|
||||
import com.mogo.och.common.module.biz.login.LoginStatusManager
|
||||
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
|
||||
import com.mogo.och.common.module.utils.SoundPoolHelper
|
||||
import io.reactivex.Observable
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||
import io.reactivex.disposables.Disposable
|
||||
import io.reactivex.functions.Function
|
||||
import io.reactivex.schedulers.Schedulers
|
||||
import mogo_msg.MogoReportMsg.MogoReportMessage
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
||||
/**
|
||||
* Bus轨迹管理:给MEC下发用于轨迹下载的信息
|
||||
* Created on 2022/6/23
|
||||
*/
|
||||
object CharterTrajectoryManager {
|
||||
object CharterTrajectoryManager : ITrajectoryListListener {
|
||||
|
||||
private const val TAG = "CharterTrajectoryManager"
|
||||
private var mAutoPilotLine: AutoPilotLine? = null
|
||||
@@ -37,6 +37,14 @@ object CharterTrajectoryManager {
|
||||
private var mLineName = ""
|
||||
private var mSendReqDisposable: Disposable? = null
|
||||
|
||||
fun load(){
|
||||
TrajectoryManager.addListener(TAG,this)
|
||||
}
|
||||
|
||||
fun release(){
|
||||
TrajectoryManager.removeListener(TAG)
|
||||
}
|
||||
|
||||
/**
|
||||
* 同步Bus路线信息
|
||||
*/
|
||||
@@ -54,57 +62,34 @@ object CharterTrajectoryManager {
|
||||
}
|
||||
}
|
||||
|
||||
fun onAutopilotGuardian(guardianInfo: MogoReportMessage?, lineId: Long) {
|
||||
onAutopilotGuardian(guardianInfo)
|
||||
override fun onDownLoadStart(lineId: Long) {
|
||||
stopTrajReqLoop()
|
||||
}
|
||||
|
||||
/**
|
||||
* 接口MEC反馈的常规信息(MAP v2.5.0新增轨迹相关信息)
|
||||
* @param guardianInfo
|
||||
*/
|
||||
fun onAutopilotGuardian(guardianInfo: MogoReportMessage?) {
|
||||
if (guardianInfo == null || !guardianInfo.hasCode()) return
|
||||
if ("ISYS_INIT_TRAJECTORY_START" == guardianInfo.code) {
|
||||
// 1. 轨迹管理_轨迹开始下载(本地已有对应轨迹也触发)
|
||||
d(SceneConstant.M_CHARTER_D + TAG, "onAutopilotGuardian() 轨迹开始下载")
|
||||
OchChainLogManager.writeChainLog("轨迹监控","onAutopilotGuardian() 轨迹开始下载", eventID = OchChainLogManager.EVENT_KEY_INFE_WITH_TRAJECTORY)
|
||||
stopTrajReqLoop()
|
||||
} else if ("ISYS_INIT_TRAJECTORY_SUCCESS" == guardianInfo.code) {
|
||||
// 2. 轨迹管理_轨迹下载成功(本地已有对应轨迹也触发)
|
||||
d(SceneConstant.M_CHARTER_D + TAG, "onAutopilotGuardian() 轨迹下载成功")
|
||||
OchChainLogManager.writeChainLog("轨迹监控","onAutopilotGuardian() 轨迹下载成功", eventID = OchChainLogManager.EVENT_KEY_INFE_WITH_TRAJECTORY)
|
||||
stopTrajReqLoop()
|
||||
} else if ("ISYS_INIT_TRAJECTORY_FAILURE" == guardianInfo.code) {
|
||||
// 3. 轨迹管理_轨迹下载失败,本地无对应轨迹
|
||||
d(SceneConstant.M_CHARTER_D + TAG, "onAutopilotGuardian() " + "轨迹下载失败,本地无对应轨迹")
|
||||
OchChainLogManager.writeChainLog("轨迹监控","onAutopilotGuardian() 轨迹下载失败,本地无对应轨迹", eventID = OchChainLogManager.EVENT_KEY_INFE_WITH_TRAJECTORY)
|
||||
// ToastUtils.showShort("轨迹下载失败,本地无对应轨迹");
|
||||
} else if ("ISYS_INIT_TRAJECTORY_WARNING" == guardianInfo.code) {
|
||||
// 4. 轨迹管理_轨迹下载失败,本地有对应轨迹,认为成功
|
||||
d(SceneConstant.M_CHARTER_D + TAG, "onAutopilotGuardian() " + "轨迹下载失败,本地有对应轨迹,认为成功")
|
||||
OchChainLogManager.writeChainLog("轨迹监控","onAutopilotGuardian() 轨迹下载失败,本地有对应轨迹,认为成功", eventID = OchChainLogManager.EVENT_KEY_INFE_WITH_TRAJECTORY)
|
||||
// ToastUtils.showShort("轨迹下载失败,本地有对应轨迹,认为成功");
|
||||
} else if ("ISYS_INIT_TRAJECTORY_TIMEOUT" == guardianInfo.code) {
|
||||
// 5. 轨迹管理_轨迹下载超时
|
||||
d(SceneConstant.M_CHARTER_D + TAG, "onAutopilotGuardian() 轨迹下载超时")
|
||||
OchChainLogManager.writeChainLog("轨迹监控","onAutopilotGuardian() 轨迹下载超时", eventID = OchChainLogManager.EVENT_KEY_INFE_WITH_TRAJECTORY)
|
||||
} else if ("EMAP_ATTITUDE_INIT_FAILED" == guardianInfo.getCode()) {
|
||||
// 收到ssm的自动驾驶变为ready,再次下发轨迹下载.解决:域控重启,或者102域控启动太早,107节点初始化未完成导致的轨迹未进行下载。
|
||||
d(SceneConstant.M_CHARTER_D + TAG, "onAutopilotGuardian() ssm ready,再次发起下载")
|
||||
OchChainLogManager.writeChainLog("轨迹监控","onAutopilotGuardian() 当前位置距离轨迹距离大于15m", eventID = OchChainLogManager.EVENT_KEY_INFE_WITH_TRAJECTORY)
|
||||
DriverM1Model.get().getBusOrderResult()?.lineId?.let {
|
||||
syncTrajectoryInfo(it, DriverM1Model.get().getBusOrderResult()?.lineName!!)
|
||||
}
|
||||
CallerMsgBoxManager.saveMsgBox(
|
||||
MsgBoxBean(
|
||||
MsgBoxType.OPERATION,
|
||||
OperationMsg(
|
||||
System.currentTimeMillis(), "请尽快操作车辆至适当位置掉头!", -1
|
||||
)
|
||||
override fun onDownLoadSuccess(lineId: Long) {
|
||||
stopTrajReqLoop()
|
||||
}
|
||||
|
||||
override fun onDownLoadReady(lineId: Long) {
|
||||
DriverM1Model.get().getBusOrderResult()?.lineId?.let {
|
||||
syncTrajectoryInfo(it, DriverM1Model.get().getBusOrderResult()?.lineName!!)
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDistanceWithTrajectory(lineId: Long) {
|
||||
super.onDistanceWithTrajectory(lineId)
|
||||
DriverM1Model.get().getBusOrderResult()?.lineId?.let {
|
||||
syncTrajectoryInfo(it, DriverM1Model.get().getBusOrderResult()?.lineName!!)
|
||||
}
|
||||
CallerMsgBoxManager.saveMsgBox(
|
||||
MsgBoxBean(
|
||||
MsgBoxType.OPERATION,
|
||||
OperationMsg(
|
||||
System.currentTimeMillis(), "请尽快操作车辆至适当位置掉头!", -1
|
||||
)
|
||||
)
|
||||
SoundPoolHelper.getSoundPoolHelper().playSoundWithRedId(ActivityUtils.getTopActivity(), R.raw.startautopilot)
|
||||
}
|
||||
)
|
||||
SoundPoolHelper.getSoundPoolHelper().playSoundWithRedId(ActivityUtils.getTopActivity(), R.raw.startautopilot)
|
||||
}
|
||||
|
||||
private fun setupAutoPilotLine() {
|
||||
|
||||
@@ -35,15 +35,16 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.i
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
|
||||
import com.mogo.eagle.core.utilcode.util.*
|
||||
import com.mogo.och.common.module.biz.login.LoginStatusManager
|
||||
import com.mogo.och.common.module.callback.OchAdasStartFailureCallback
|
||||
import com.mogo.och.bridge.autopilot.callback.OchAdasStartFailureCallback
|
||||
import com.mogo.och.common.module.constant.OchCommonConst
|
||||
import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager
|
||||
import com.mogo.och.common.module.manager.autopilot.autopilot.OchAutoPilotManager
|
||||
import com.mogo.och.common.module.manager.autopilot.autopilot.OchAutopilotAnalytics
|
||||
import com.mogo.och.common.module.manager.autopilot.line.LineManager
|
||||
import com.mogo.och.common.module.manager.autopilot.location.OchLocationManager
|
||||
import com.mogo.och.common.module.manager.device.LightAirconditionDoorManager
|
||||
import com.mogo.och.common.module.manager.device.LightAirconditionDoorStatusManager
|
||||
import com.mogo.och.bridge.autopilot.OCHAdasAbilityManager
|
||||
import com.mogo.och.bridge.autopilot.autopilot.OchAutoPilotManager
|
||||
import com.mogo.och.bridge.autopilot.autopilot.OchAutopilotAnalytics
|
||||
import com.mogo.och.bridge.autopilot.line.LineManager
|
||||
import com.mogo.och.bridge.autopilot.location.OchLocationManager
|
||||
import com.mogo.och.bridge.device.LightAirconditionDoorManager
|
||||
import com.mogo.och.bridge.device.LightAirconditionDoorStatusManager
|
||||
import com.mogo.och.bridge.utils.CoordinateCalculateRouteUtil
|
||||
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
|
||||
import com.mogo.och.common.module.manager.socket.cloud.AbnormalFactorsLoopManager.startLoopAbnormalFactors
|
||||
import com.mogo.och.common.module.manager.socket.cloud.AbnormalFactorsLoopManager.stopLoopAbnormalFactors
|
||||
@@ -66,7 +67,7 @@ import com.mogo.och.common.module.manager.stopside.StopSideManager
|
||||
import com.mogo.och.common.module.network.OchCommonServiceCallback
|
||||
import com.mogo.och.common.module.utils.*
|
||||
import com.mogo.och.common.module.voice.VoiceNotice
|
||||
import com.mogo.och.data.bean.*
|
||||
import com.mogo.och.data.bean.LineInfo
|
||||
|
||||
/**
|
||||
* @author: wangmingjun
|
||||
|
||||
@@ -18,16 +18,15 @@ import com.mogo.och.common.module.biz.login.ILoginCallback
|
||||
import com.mogo.och.common.module.biz.login.LoginStatusEnum
|
||||
import com.mogo.och.common.module.biz.login.LoginStatusManager
|
||||
import com.mogo.och.common.module.manager.socket.cloud.OCHSocketMessageManager.OPERATION_ROAD_SIDE_TYPE
|
||||
import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager
|
||||
import com.mogo.och.common.module.manager.autopilot.autopilot.bean.ArrivedStation
|
||||
import com.mogo.och.common.module.manager.autopilot.autopilot.IOchAutopilotStatusListener
|
||||
import com.mogo.och.common.module.manager.autopilot.autopilot.OchAutoPilotStatusListenerManager
|
||||
import com.mogo.och.bridge.autopilot.OCHAdasAbilityManager
|
||||
import com.mogo.och.bridge.autopilot.autopilot.bean.ArrivedStation
|
||||
import com.mogo.och.bridge.autopilot.autopilot.IOchAutopilotStatusListener
|
||||
import com.mogo.och.bridge.autopilot.autopilot.OchAutoPilotStatusListenerManager
|
||||
import com.mogo.och.common.module.manager.beautifymode.BeautifyManager
|
||||
import com.mogo.och.common.module.manager.stopside.OCHPlanningActionsCallback
|
||||
import com.mogo.och.common.module.manager.stopside.StopSideStatus
|
||||
import com.mogo.och.common.module.manager.stopside.StopSideManager
|
||||
import com.mogo.och.common.module.utils.DateTimeUtil
|
||||
import mogo_msg.MogoReportMsg
|
||||
|
||||
/**
|
||||
* @author: wangmingjun
|
||||
@@ -124,10 +123,6 @@ class DriverM1Presenter(view: DriverM1Fragment?) :
|
||||
DriverM1Model.get().pushOperationalToMsgBox(DateTimeUtil.getCurrentTimeStamp()
|
||||
,context.getString(R.string.charter_last_15_minutes))
|
||||
}
|
||||
|
||||
override fun onAutopilotGuardian(guardianInfo: MogoReportMsg.MogoReportMessage?, lineId: Long) {
|
||||
CharterTrajectoryManager.onAutopilotGuardian(guardianInfo,lineId)
|
||||
}
|
||||
|
||||
override fun onAutopilotArriveAtStation(arrivalNotification: ArrivedStation?) {
|
||||
DriverM1Model.get().onAutopilotArriveAtStation()
|
||||
|
||||
@@ -8,7 +8,7 @@ import com.magic.mogo.och.charter.R
|
||||
import com.mogo.eagle.core.utilcode.kotlin.onClick
|
||||
import com.mogo.eagle.core.utilcode.util.ActivityUtils
|
||||
import com.mogo.och.common.module.manager.DriverMoFangFunctionManager
|
||||
import com.mogo.och.common.module.manager.device.LightAirconditionDoorManager
|
||||
import com.mogo.och.bridge.device.LightAirconditionDoorManager
|
||||
import com.mogo.och.common.module.utils.SoundPoolHelper
|
||||
import kotlinx.android.synthetic.main.driver_mofang_function_view.view.*
|
||||
|
||||
|
||||
@@ -14,8 +14,8 @@ import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_
|
||||
import com.mogo.eagle.core.utilcode.util.ThreadUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
|
||||
import com.mogo.och.common.module.manager.autopilot.autopilot.IOchAutopilotStatusListener
|
||||
import com.mogo.och.common.module.manager.autopilot.autopilot.OchAutoPilotStatusListenerManager
|
||||
import com.mogo.och.bridge.autopilot.autopilot.IOchAutopilotStatusListener
|
||||
import com.mogo.och.bridge.autopilot.autopilot.OchAutoPilotStatusListenerManager
|
||||
import com.mogo.och.common.module.manager.beautifymode.BeautifyManager
|
||||
import com.mogo.och.common.module.manager.beautifymode.IBeautifyModeCallback
|
||||
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
|
||||
|
||||
@@ -6,7 +6,7 @@ import com.mogo.eagle.core.data.map.MogoLocation
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Listener
|
||||
import com.mogo.eagle.core.utilcode.util.ThreadUtils
|
||||
import com.mogo.och.common.module.manager.autopilot.location.OchLocationManager
|
||||
import com.mogo.och.bridge.autopilot.location.OchLocationManager
|
||||
import kotlin.math.abs
|
||||
|
||||
class CarStatusViewModel: ViewModel(), IMoGoAutopilotStatusListener,
|
||||
|
||||
@@ -82,21 +82,21 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_71"
|
||||
app:layout_constraintEnd_toEndOf="@+id/viewLimitingVelocity"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_goneMarginEnd="40dp"
|
||||
app:layout_goneMarginTop="@dimen/dp_236"
|
||||
android:visibility="invisible"
|
||||
app:layout_constraintTop_toBottomOf="@+id/viewLimitingVelocity"/>
|
||||
app:layout_constraintTop_toBottomOf="@+id/ivCameraIcon"/>
|
||||
|
||||
<com.mogo.eagle.core.function.hmi.ui.widget.GreenWaveView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_71"
|
||||
app:layout_constraintEnd_toEndOf="@+id/viewLimitingVelocity"
|
||||
app:layout_constraintEnd_toEndOf="@+id/viewTrafficLightVr"
|
||||
app:layout_constraintTop_toBottomOf="@+id/viewTrafficLightVr"
|
||||
app:layout_goneMarginEnd="40dp"
|
||||
app:layout_goneMarginTop="@dimen/dp_236"
|
||||
android:visibility="invisible"
|
||||
app:layout_constraintTop_toBottomOf="@+id/viewLimitingVelocity"/>
|
||||
android:visibility="invisible"/>
|
||||
|
||||
|
||||
<!--红绿灯-->
|
||||
@@ -197,7 +197,7 @@
|
||||
android:layout_width="@dimen/dp_142"
|
||||
android:layout_height="@dimen/dp_142"/>
|
||||
|
||||
<com.mogo.och.common.module.wigets.map.drawline.LineView
|
||||
<com.mogo.och.bridge.ui.drawline.LineView
|
||||
android:id="@+id/lineView"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toRightOf="@id/reportworkorderview"
|
||||
|
||||
@@ -55,6 +55,7 @@ dependencies {
|
||||
implementation rootProject.ext.dependencies.arouter
|
||||
implementation rootProject.ext.dependencies.androidxrecyclerview
|
||||
implementation rootProject.ext.dependencies.material
|
||||
implementation project(':OCH:common:bridge')
|
||||
kapt rootProject.ext.dependencies.aroutercompiler
|
||||
implementation rootProject.ext.dependencies.rxandroid
|
||||
implementation rootProject.ext.dependencies.androidxconstraintlayout
|
||||
|
||||
@@ -6,6 +6,7 @@ import androidx.fragment.app.Fragment
|
||||
import com.alibaba.android.arouter.facade.annotation.Route
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
|
||||
import com.mogo.och.bridge.ui.autopilot.AutopilotState
|
||||
import com.mogo.och.charter.passenger.ui.MainFragment
|
||||
import com.mogo.och.charter.passenger.ui.statusbar.StatusBarView
|
||||
import com.mogo.och.common.module.constant.OchCommonConst
|
||||
@@ -47,4 +48,10 @@ class CharterPassengerProvider : CommonServiceImpl() {
|
||||
CallerLogger.d(SceneConstant.M_TAXI_P + tag, "init")
|
||||
}
|
||||
|
||||
override fun createStartAutopilotView(context: Context?): View? {
|
||||
return context?.let {
|
||||
AutopilotState(it)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -2,7 +2,7 @@ package com.mogo.och.charter.passenger.bean.response
|
||||
|
||||
import com.mogo.commons.AbsMogoApplication
|
||||
import com.mogo.eagle.core.data.BaseData
|
||||
import com.mogo.och.common.module.utils.CoordinateCalculateRouteUtil
|
||||
import com.mogo.och.bridge.utils.CoordinateCalculateRouteUtil
|
||||
import com.mogo.och.common.module.utils.DateTimeUtil
|
||||
|
||||
/**
|
||||
|
||||
@@ -41,17 +41,17 @@ import com.mogo.och.common.module.biz.login.LoginStatusManager
|
||||
import com.mogo.och.common.module.biz.login.ILoginCallback
|
||||
import com.mogo.och.common.module.biz.login.LoginStatusEnum
|
||||
import com.mogo.och.common.module.network.OchCommonServiceCallback
|
||||
import com.mogo.och.common.module.manager.autopilot.autopilot.bean.ArrivedStation
|
||||
import com.mogo.och.common.module.manager.autopilot.autopilot.IOchAutopilotStatusListener
|
||||
import com.mogo.och.common.module.manager.autopilot.autopilot.OchAutoPilotManager
|
||||
import com.mogo.och.common.module.manager.autopilot.autopilot.OchAutoPilotStatusListenerManager
|
||||
import com.mogo.och.common.module.manager.autopilot.location.OchLocationManager
|
||||
import com.mogo.och.bridge.autopilot.autopilot.bean.ArrivedStation
|
||||
import com.mogo.och.bridge.autopilot.autopilot.IOchAutopilotStatusListener
|
||||
import com.mogo.och.bridge.autopilot.autopilot.OchAutoPilotManager
|
||||
import com.mogo.och.bridge.autopilot.autopilot.OchAutoPilotStatusListenerManager
|
||||
import com.mogo.och.bridge.autopilot.location.OchLocationManager
|
||||
import com.mogo.och.common.module.manager.beautifymode.BeautifyManager
|
||||
import com.mogo.och.common.module.manager.distance.TrajectoryAndDistanceManager
|
||||
import com.mogo.och.bridge.distance.TrajectoryAndDistanceManager
|
||||
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
|
||||
import com.mogo.och.common.module.manager.socket.lan.LanSocketManager
|
||||
import com.mogo.och.common.module.manager.socket.lan.LedScreenManager
|
||||
import com.mogo.och.common.module.utils.CoordinateCalculateRouteUtil
|
||||
import com.mogo.och.bridge.utils.CoordinateCalculateRouteUtil
|
||||
import com.mogo.och.common.module.utils.DateTimeUtil
|
||||
import com.mogo.och.common.module.utils.PinYinUtil
|
||||
import com.mogo.och.common.module.voice.VoiceNotice
|
||||
|
||||
@@ -2,12 +2,11 @@ package com.mogo.och.charter.passenger.model
|
||||
|
||||
import com.mogo.commons.storage.SharedPrefsMgr
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager
|
||||
import com.mogo.eagle.core.utilcode.util.TAG
|
||||
import com.mogo.och.common.module.manager.audition.AuditionManager
|
||||
import com.mogo.och.common.module.manager.audition.PlayState
|
||||
import com.mogo.och.common.module.manager.autopilot.autopilot.IOchAutopilotStatusListener
|
||||
import com.mogo.och.common.module.manager.autopilot.autopilot.OchAutoPilotStatusListenerManager
|
||||
import com.mogo.och.bridge.autopilot.autopilot.IOchAutopilotStatusListener
|
||||
import com.mogo.och.bridge.autopilot.autopilot.OchAutoPilotStatusListenerManager
|
||||
import com.mogo.och.common.module.utils.RxUtils
|
||||
import io.reactivex.disposables.Disposable
|
||||
|
||||
|
||||
@@ -32,13 +32,13 @@ import com.mogo.och.charter.passenger.ui.MainFragment
|
||||
import com.mogo.och.charter.passenger.ui.overmapview.MakerWithSiteName
|
||||
import com.mogo.och.charter.passenger.ui.overmapview.MakerWithSiteNamewithCheck
|
||||
import com.mogo.och.common.module.network.OchCommonServiceCallback
|
||||
import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager
|
||||
import com.mogo.och.bridge.autopilot.OCHAdasAbilityManager
|
||||
import com.mogo.och.common.module.manager.beautifymode.BeautifyManager
|
||||
import com.mogo.och.common.module.manager.stopside.StopSideManager
|
||||
import com.mogo.och.common.module.manager.device.callback.LightAirconditionDoorCallback
|
||||
import com.mogo.och.bridge.device.callback.LightAirconditionDoorCallback
|
||||
import com.mogo.och.common.module.manager.stopside.OCHPlanningActionsCallback
|
||||
import com.mogo.och.common.module.manager.stopside.StopSideStatus
|
||||
import com.mogo.och.common.module.utils.CoordinateCalculateRouteUtil
|
||||
import com.mogo.och.bridge.utils.CoordinateCalculateRouteUtil
|
||||
import com.mogo.och.common.module.voice.VoiceNotice
|
||||
import com.mogo.och.common.module.wigets.toast.ToastCharterUtils
|
||||
import me.jessyan.autosize.utils.AutoSizeUtils
|
||||
|
||||
@@ -13,8 +13,8 @@ import com.mogo.och.charter.passenger.bean.response.OrderInfoResponse
|
||||
import com.mogo.och.charter.passenger.model.CharterPassengerModel
|
||||
import com.mogo.och.common.module.manager.socket.cloud.OCHSocketMessageManager
|
||||
import com.mogo.och.common.module.constant.OchCommonConst
|
||||
import com.mogo.och.common.module.manager.device.LightAirconditionDoorManager
|
||||
import com.mogo.och.common.module.manager.device.LightAirconditionDoorStatusManager
|
||||
import com.mogo.och.bridge.device.LightAirconditionDoorManager
|
||||
import com.mogo.och.bridge.device.LightAirconditionDoorStatusManager
|
||||
import com.mogo.och.common.module.manager.socket.lan.bean.AppConnectMsg
|
||||
import com.mogo.och.common.module.manager.socket.lan.bean.BaseDPMsg
|
||||
import com.mogo.och.common.module.manager.socket.lan.bean.ChangeDestMsg
|
||||
|
||||
@@ -5,7 +5,7 @@ import android.util.AttributeSet
|
||||
import com.mogo.eagle.core.utilcode.util.ActivityUtils
|
||||
import com.mogo.och.charter.passenger.R
|
||||
import com.mogo.och.charter.passenger.ui.bottom.BottomClickView
|
||||
import com.mogo.och.common.module.manager.device.LightAirconditionDoorManager
|
||||
import com.mogo.och.bridge.device.LightAirconditionDoorManager
|
||||
import com.mogo.och.common.module.utils.SoundPoolHelper
|
||||
|
||||
class CloseDoorView @JvmOverloads constructor(
|
||||
|
||||
@@ -19,7 +19,7 @@ import com.mogo.och.charter.passenger.R
|
||||
import com.mogo.och.charter.passenger.callback.ICharterPassengerAutoStatusChangeCallback
|
||||
import com.mogo.och.charter.passenger.model.CharterPassengerModel
|
||||
import com.mogo.och.charter.passenger.ui.bottom.BottomClickView
|
||||
import com.mogo.och.common.module.manager.device.LightAirconditionDoorStatusManager
|
||||
import com.mogo.och.bridge.device.LightAirconditionDoorStatusManager
|
||||
import com.mogo.och.common.module.manager.stopside.StopSideManager
|
||||
import com.mogo.och.common.module.utils.RxUtils
|
||||
import com.mogo.och.common.module.utils.SoundPoolHelper
|
||||
|
||||
@@ -5,7 +5,7 @@ import android.util.AttributeSet
|
||||
import com.mogo.eagle.core.utilcode.util.ActivityUtils
|
||||
import com.mogo.och.charter.passenger.R
|
||||
import com.mogo.och.charter.passenger.ui.bottom.BottomClickView
|
||||
import com.mogo.och.common.module.manager.device.LightAirconditionDoorManager
|
||||
import com.mogo.och.bridge.device.LightAirconditionDoorManager
|
||||
import com.mogo.och.common.module.utils.SoundPoolHelper
|
||||
|
||||
class OpenDoorView @JvmOverloads constructor(
|
||||
|
||||
@@ -18,7 +18,7 @@ import com.mogo.eagle.core.utilcode.util.ClickUtils
|
||||
import com.mogo.och.charter.passenger.R
|
||||
import com.mogo.och.charter.passenger.presenter.BusPassengerCarUseAndNoOrderPresenter
|
||||
import com.mogo.och.charter.passenger.utils.CharterVoiceManager
|
||||
import com.mogo.och.common.module.manager.device.LightAirconditionDoorManager
|
||||
import com.mogo.och.bridge.device.LightAirconditionDoorManager
|
||||
import kotlinx.android.synthetic.main.charter_p_order_end.iv_end_order_closedoor
|
||||
import kotlinx.android.synthetic.main.charter_p_order_end.iv_end_order_opendoor
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ import com.mogo.och.charter.passenger.callback.IDistanceCallback
|
||||
import com.mogo.och.charter.passenger.model.CharterPassengerModel
|
||||
import com.mogo.och.charter.passenger.model.IOrderStatusChangeListener
|
||||
import com.mogo.och.charter.passenger.model.OrderStatusEnum
|
||||
import com.mogo.och.common.module.manager.autopilot.location.OchLocationManager
|
||||
import com.mogo.och.bridge.autopilot.location.OchLocationManager
|
||||
import com.mogo.och.common.module.utils.DateTimeUtil
|
||||
import com.mogo.och.common.module.utils.NumberFormatUtil
|
||||
import kotlin.math.abs
|
||||
|
||||
@@ -25,7 +25,7 @@ import com.mogo.och.common.module.manager.socket.lan.bean.ChangeDestMsg
|
||||
import com.mogo.och.common.module.manager.socket.lan.bean.DPMsgType
|
||||
import com.mogo.och.common.module.manager.socket.lan.bean.LineSite
|
||||
import com.mogo.och.common.module.constant.OchCommonConst
|
||||
import com.mogo.och.common.module.manager.autopilot.location.OchLocationManager
|
||||
import com.mogo.och.bridge.autopilot.location.OchLocationManager
|
||||
import com.mogo.och.common.module.network.OchCommonServiceCallback
|
||||
import com.mogo.och.common.module.manager.stopside.StopSideManager
|
||||
import com.mogo.och.common.module.manager.loop.BizLoopManager
|
||||
|
||||
@@ -6,11 +6,11 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_BUS_P
|
||||
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
|
||||
import com.mogo.och.common.module.wigets.toast.ToastCharterUtils
|
||||
import com.mogo.och.common.module.manager.device.callback.LightAirconditionDoorCallback
|
||||
import com.mogo.och.common.module.manager.device.LightAirconditionDoorStatusManager
|
||||
import com.mogo.och.common.module.manager.device.data.AirconditionStatus
|
||||
import com.mogo.och.common.module.manager.device.data.HeaterStatue
|
||||
import com.mogo.och.common.module.manager.device.data.LightStatus
|
||||
import com.mogo.och.bridge.device.callback.LightAirconditionDoorCallback
|
||||
import com.mogo.och.bridge.device.LightAirconditionDoorStatusManager
|
||||
import com.mogo.och.bridge.device.data.AirconditionStatus
|
||||
import com.mogo.och.bridge.device.data.HeaterStatue
|
||||
import com.mogo.och.bridge.device.data.LightStatus
|
||||
import com.mogo.och.common.module.utils.RxUtils
|
||||
import io.reactivex.disposables.Disposable
|
||||
|
||||
|
||||
@@ -25,8 +25,8 @@ import com.mogo.och.charter.passenger.bean.response.OrderInfoResponse
|
||||
import com.mogo.och.charter.passenger.model.CharterPassengerModel
|
||||
import com.mogo.och.charter.passenger.model.OrderStatusEnum
|
||||
import com.mogo.och.charter.passenger.ui.debugview.DebugEvent
|
||||
import com.mogo.och.common.module.manager.autopilot.autopilot.IOchAutopilotStatusListener
|
||||
import com.mogo.och.common.module.manager.autopilot.autopilot.OchAutoPilotStatusListenerManager
|
||||
import com.mogo.och.bridge.autopilot.autopilot.IOchAutopilotStatusListener
|
||||
import com.mogo.och.bridge.autopilot.autopilot.OchAutoPilotStatusListenerManager
|
||||
import com.mogo.och.common.module.manager.beautifymode.BeautifyManager
|
||||
import com.mogo.och.common.module.manager.beautifymode.IBeautifyModeCallback
|
||||
import com.mogo.och.common.module.manager.loop.BizLoopManager
|
||||
|
||||
@@ -4,8 +4,7 @@ import com.mogo.eagle.core.data.map.MogoLocation
|
||||
import com.mogo.eagle.core.network.utils.GsonUtil
|
||||
import com.mogo.eagle.core.utilcode.util.CoordinateTransform
|
||||
import com.mogo.eagle.core.utilcode.util.CoordinateUtils
|
||||
import com.mogo.och.common.module.utils.CoordinateCalculateRouteUtil
|
||||
import com.mogo.och.common.module.utils.DateTimeUtil
|
||||
import com.mogo.och.bridge.utils.CoordinateCalculateRouteUtil
|
||||
import org.json.JSONException
|
||||
import org.json.JSONObject
|
||||
import org.junit.Test
|
||||
|
||||
@@ -53,6 +53,8 @@ dependencies {
|
||||
implementation project(':OCH:common:common')
|
||||
|
||||
implementation rootProject.ext.dependencies.arouter
|
||||
implementation project(':OCH:common:data')
|
||||
implementation project(':OCH:common:bridge')
|
||||
kapt rootProject.ext.dependencies.aroutercompiler
|
||||
|
||||
if (Boolean.valueOf(USE_MAVEN_PACKAGE)) {
|
||||
|
||||
@@ -10,6 +10,7 @@ import com.mogo.eagle.core.data.config.HdMapBuildConfig
|
||||
import com.mogo.eagle.core.data.enums.Carmodel
|
||||
import com.mogo.eagle.core.function.call.och.CallerEagleBaseFunctionCall4OchManager
|
||||
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
|
||||
import com.mogo.eagle.core.utilcode.mogo.Product
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
|
||||
import com.mogo.och.biz.login.callback.ILoginViewCallback
|
||||
@@ -17,7 +18,6 @@ import com.mogo.och.biz.login.model.LoginModel
|
||||
import com.mogo.och.biz.login.ui.LoginFragment
|
||||
import com.mogo.och.biz.login.ui.LoginPassengerFragment
|
||||
import com.mogo.och.common.module.constant.OchCommonConst
|
||||
import com.mogo.och.common.module.biz.login.BusinessEnum
|
||||
import com.mogo.och.common.module.biz.login.LoginInfo
|
||||
import com.mogo.och.common.module.biz.login.LoginService
|
||||
import com.mogo.och.common.module.biz.login.LoginStatusManager
|
||||
@@ -43,7 +43,7 @@ class LoginProvider : LoginService {
|
||||
private val tag = LoginProvider::class.java.simpleName
|
||||
private var loginFragment: Fragment?=null
|
||||
private var loginStatus: LoginStatusEnum = LoginStatusEnum.None
|
||||
private var businessEnum: BusinessEnum = BusinessEnum.None
|
||||
private var businessEnum = Product.NONE
|
||||
private var openOrderStatusEnum: OpenOrderStatusEnum = OpenOrderStatusEnum.None
|
||||
private var carModel: Carmodel = Carmodel.T2
|
||||
private var loginInfo: LoginInfo? = null
|
||||
@@ -220,12 +220,12 @@ class LoginProvider : LoginService {
|
||||
override fun setBusinessType(type: Int) {
|
||||
CallerLogger.d(tag, "setBusinessType:${type}")
|
||||
if (businessEnum.code != type) {
|
||||
this.businessEnum = BusinessEnum.valueOf(type)
|
||||
this.businessEnum = Product.valueOf(type)
|
||||
LoginStatusManager.invokeLBusinessTypeChange(this.businessEnum)
|
||||
}
|
||||
}
|
||||
|
||||
override fun getBusinessType(): BusinessEnum {
|
||||
override fun getBusinessType(): Product {
|
||||
CallerLogger.d(tag, "getBusinessType")
|
||||
return businessEnum
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.mogo.och.biz.login.bean;
|
||||
|
||||
import com.mogo.eagle.core.data.map.MogoLocation;
|
||||
import com.mogo.och.common.module.manager.autopilot.location.OchLocationManager;
|
||||
import com.mogo.och.bridge.autopilot.location.OchLocationManager;
|
||||
|
||||
/**
|
||||
* Created by yyk on 2021/8/19
|
||||
|
||||
@@ -11,13 +11,14 @@ import com.mogo.commons.storage.SharedPrefsMgr
|
||||
import com.mogo.commons.utils.MogoAnalyticUtils
|
||||
import com.mogo.eagle.core.data.BaseData
|
||||
import com.mogo.eagle.core.data.config.FunctionBuildConfig
|
||||
import com.mogo.eagle.core.utilcode.mogo.Product
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_OCHCOMMON
|
||||
import com.mogo.eagle.core.utilcode.util.DateTimeUtils
|
||||
import com.mogo.eagle.core.utilcode.util.GsonUtils
|
||||
import com.mogo.eagle.core.utilcode.util.NetworkUtils
|
||||
import com.mogo.eagle.core.utilcode.util.Utils
|
||||
import com.mogo.och.biz.R
|
||||
import com.mogo.och.biz.login.bean.DriverStatusQueryRespBean
|
||||
import com.mogo.och.biz.login.bean.TaxiLoginReqBean
|
||||
@@ -25,11 +26,11 @@ import com.mogo.och.biz.login.bean.TaxiLoginRespBean
|
||||
import com.mogo.och.biz.login.bean.TaxiLogoutReqBean
|
||||
import com.mogo.och.biz.login.callback.ITaxiLoginCallback
|
||||
import com.mogo.och.biz.login.net.OchCommonServiceManager
|
||||
import com.mogo.och.common.module.biz.login.BusinessEnum
|
||||
import com.mogo.och.bridge.autopilot.location.OchLocationManager
|
||||
import com.mogo.och.common.module.biz.login.LoginStatusEnum
|
||||
import com.mogo.och.common.module.biz.login.LoginStatusEnum.Companion.valueOf
|
||||
import com.mogo.och.common.module.biz.login.LoginStatusManager
|
||||
import com.mogo.och.common.module.manager.autopilot.location.OchLocationManager
|
||||
import com.mogo.och.common.module.manager.cache.ISpCallback
|
||||
import com.mogo.och.common.module.manager.cache.OchSPManager
|
||||
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
|
||||
import com.mogo.och.common.module.manager.socket.lan.bean.BusCacheKey
|
||||
@@ -39,8 +40,6 @@ import com.mogo.och.common.module.utils.DateTimeUtil
|
||||
import com.mogo.och.common.module.utils.ToastUtilsOch
|
||||
import com.mogo.och.common.module.wigets.toast.ToastCharterUtils
|
||||
import com.mogo.och.data.manager.cache.CacheDataManager
|
||||
import com.mogo.skin.Skin
|
||||
import com.mogo.skin.SkinManager
|
||||
import io.reactivex.Observable
|
||||
import io.reactivex.disposables.Disposable
|
||||
import java.util.concurrent.TimeUnit
|
||||
@@ -55,7 +54,7 @@ import java.util.concurrent.TimeUnit
|
||||
@SuppressLint("StaticFieldLeak")
|
||||
object LoginModel {
|
||||
|
||||
private const val TAG = "LoginModel"
|
||||
private const val TAG = "${M_OCHCOMMON}LoginModel"
|
||||
private var mContext: Context? = null
|
||||
var iTaxiLoginCallback: ITaxiLoginCallback? = null
|
||||
private var subscribe: Disposable? = null
|
||||
@@ -72,6 +71,13 @@ object LoginModel {
|
||||
}
|
||||
}
|
||||
|
||||
private val snChangeListener = object :ISpCallback{
|
||||
override fun snChange() {
|
||||
d(TAG, "sn 发生变化${OchSPManager.getSn()}")
|
||||
queryCarStatus(false)
|
||||
}
|
||||
}
|
||||
|
||||
init {
|
||||
mContext = AbsMogoApplication.getApp()
|
||||
IntentManager.getInstance()
|
||||
@@ -91,10 +97,14 @@ object LoginModel {
|
||||
}
|
||||
|
||||
fun setiTaxiLoginCallback(iTaxiLoginCallback: ITaxiLoginCallback?) {
|
||||
d(TAG,"setiTaxiLoginCallback")
|
||||
OchSPManager.addListener(TAG,snChangeListener)
|
||||
LoginModel.iTaxiLoginCallback = iTaxiLoginCallback
|
||||
}
|
||||
|
||||
fun release() {
|
||||
d(TAG,"release")
|
||||
OchSPManager.remove(TAG)
|
||||
iTaxiLoginCallback = null
|
||||
}
|
||||
|
||||
@@ -184,19 +194,19 @@ object LoginModel {
|
||||
* 8、登录页面关闭后查下状态
|
||||
*/
|
||||
fun queryCarStatus(readCatche:Boolean = true) {
|
||||
Log.d("登录","设置源:queryCarStatus")
|
||||
mContext?.let {
|
||||
Log.d(TAG,"设置源:queryCarStatus")
|
||||
if(readCatche){
|
||||
val logingInfoJson = OchSPManager.getString(loginInfoKey)
|
||||
val timeText = DateTimeUtils.getTimeText(DateTimeUtils.yyyy_MM_dd)
|
||||
logingInfoJson?.let {logininfo->
|
||||
if(logininfo.startsWith(timeText)){
|
||||
val json = logingInfoJson.replace(timeText,"" )
|
||||
val oldLoginInfo = GsonUtils.fromJson(json, DriverStatusQueryRespBean::class.java)
|
||||
go2LoginInfo(oldLoginInfo,"缓存获取")
|
||||
val logingInfoJson = OchSPManager.getString(loginInfoKey)
|
||||
val timeText = DateTimeUtils.getTimeText(DateTimeUtils.yyyy_MM_dd)
|
||||
logingInfoJson?.let {logininfo->
|
||||
if(logininfo.startsWith(timeText)){
|
||||
val json = logingInfoJson.replace(timeText,"" )
|
||||
val oldLoginInfo = GsonUtils.fromJson(json, DriverStatusQueryRespBean::class.java)
|
||||
go2LoginInfo(oldLoginInfo,"缓存获取")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
OchCommonServiceManager.queryDriverServiceStatus(it, object : OchCommonServiceCallback<DriverStatusQueryRespBean> {
|
||||
override fun onSuccess(data: DriverStatusQueryRespBean?) {
|
||||
val map: MutableMap<String, Any> = HashMap()
|
||||
@@ -244,8 +254,7 @@ object LoginModel {
|
||||
|
||||
@Synchronized
|
||||
private fun go2LoginInfo(data: DriverStatusQueryRespBean?, source: String) {
|
||||
CallerLogger.d(TAG,"设置源:${source}")
|
||||
Log.d("登录","设置源:${source}")
|
||||
d(TAG,"设置源:${source}")
|
||||
data?.let {
|
||||
LoginStatusManager.setLoginInfo(data.data)
|
||||
}
|
||||
@@ -271,7 +280,7 @@ object LoginModel {
|
||||
val loginInfo4Json = GsonUtils.toJson(data)
|
||||
OchSPManager.putString(loginInfoKey,timeText+loginInfo4Json)
|
||||
LoginStatusManager.setOpenOrderType(data.data.servingStatus)
|
||||
d(SceneConstant.M_TAXI + TAG, "登录信息:$data")
|
||||
d(TAG, "登录信息:$data")
|
||||
loginSuccess(data)
|
||||
}
|
||||
}
|
||||
@@ -280,7 +289,7 @@ object LoginModel {
|
||||
fun logout() {
|
||||
val location4Login = TaxiLogoutReqBean.Location4Login()
|
||||
if (FunctionBuildConfig.isOffLine) {
|
||||
CallerLogger.d(TAG, "离线模式登录后退出 setLoginStatus:${LoginStatusEnum.Logout}")
|
||||
d(TAG, "离线模式登录后退出 setLoginStatus:${LoginStatusEnum.Logout}")
|
||||
LoginStatusManager.setLoginStatus(LoginStatusEnum.Logout)
|
||||
FunctionBuildConfig.isOffLine = false
|
||||
return
|
||||
@@ -308,14 +317,14 @@ object LoginModel {
|
||||
override fun onFail(code: Int, msg: String) {
|
||||
ToastUtilsOch.showWithCodeMessage(code, msg)
|
||||
if(!LoginStatusManager.isLogin()){
|
||||
LoginStatusManager.invokeLBusinessTypeChangeDebug(BusinessEnum.None)
|
||||
LoginStatusManager.invokeLBusinessTypeChangeDebug(Product.NONE)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
fun loginSuccess(data: DriverStatusQueryRespBean?) {
|
||||
CallerLogger.d(SceneConstant.M_TAXI + TAG, "loginSuccess:${LoginStatusManager.isLogin()}")
|
||||
d(TAG, "loginSuccess:${LoginStatusManager.isLogin()}")
|
||||
if (LoginStatusManager.isLogin()) {
|
||||
SharedPrefsMgr.getInstance().putString("och_account", data?.data?.phone)
|
||||
} else {
|
||||
@@ -336,13 +345,13 @@ object LoginModel {
|
||||
|
||||
|
||||
fun loginFail(isLogin: Boolean) {
|
||||
CallerLogger.d(SceneConstant.M_TAXI + TAG, "loginFail:$isLogin")
|
||||
d(TAG, "loginFail:$isLogin")
|
||||
updateLoginLocalStatus(0)
|
||||
}
|
||||
|
||||
fun gotoOfflineMode() {
|
||||
FunctionBuildConfig.isOffLine = true
|
||||
CallerLogger.d(TAG, "离线模式登录 setLoginStatus:${LoginStatusEnum.Login}")
|
||||
d(TAG, "离线模式登录 setLoginStatus:${LoginStatusEnum.Login}")
|
||||
LoginStatusManager.setLoginStatus(LoginStatusEnum.Login)
|
||||
}
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@ import com.mogo.och.common.module.network.OchCommonSubscribeImpl
|
||||
import com.mogo.och.common.module.network.interceptor.transformTry
|
||||
import com.mogo.commons.env.ProjectUtils
|
||||
import com.mogo.och.common.module.manager.cache.OchSPManager
|
||||
import com.mogo.och.common.module.utils.RxUtils
|
||||
|
||||
object OchCommonServiceManager {
|
||||
|
||||
@@ -135,7 +136,6 @@ object OchCommonServiceManager {
|
||||
context: Context,
|
||||
callback: OchCommonServiceCallback<DriverStatusQueryRespBean>?
|
||||
) {
|
||||
CallerLogger.d(TAG, "queryDriverServiceStatus:查询登录状态");
|
||||
val sn =
|
||||
if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) {
|
||||
OchSPManager.getSn()
|
||||
@@ -147,8 +147,10 @@ object OchCommonServiceManager {
|
||||
return
|
||||
}
|
||||
if(FunctionBuildConfig.ochdebug){
|
||||
CallerLogger.d(TAG, "queryDriverServiceStatus:查询登录状态 ochdebug模式");
|
||||
return
|
||||
}
|
||||
CallerLogger.d(TAG, "queryDriverServiceStatus:查询登录状态${sn}");
|
||||
if (ProjectUtils.isMogo()) {
|
||||
ochLoginServiceMogo.queryDriverServiceStatusAndLoginStatus(
|
||||
MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||
|
||||
@@ -9,8 +9,8 @@ import androidx.lifecycle.findViewTreeViewModelStoreOwner
|
||||
import com.mogo.eagle.core.data.config.FunctionBuildConfig
|
||||
import com.mogo.eagle.core.function.hmi.ui.setting.ToggleDebugView
|
||||
import com.mogo.eagle.core.utilcode.kotlin.onClick
|
||||
import com.mogo.eagle.core.utilcode.mogo.Product
|
||||
import com.mogo.och.biz.R
|
||||
import com.mogo.och.common.module.biz.login.BusinessEnum
|
||||
import com.mogo.och.common.module.biz.login.LoginStatusManager
|
||||
import kotlinx.android.synthetic.main.biz_login_business_view.view.actv_business_bus
|
||||
import kotlinx.android.synthetic.main.biz_login_business_view.view.actv_business_charter
|
||||
@@ -55,14 +55,14 @@ class BusinessView : ConstraintLayout, BusinessViewModel.IErrorInfoViewCallback
|
||||
|
||||
viewModel?.setDistanceCallback(this)
|
||||
|
||||
actv_business_shuttle.onClick { swtichBusiness(BusinessEnum.Shuttle) }
|
||||
actv_business_bus.onClick { swtichBusiness(BusinessEnum.Bus) }
|
||||
actv_business_taxi.onClick { swtichBusiness(BusinessEnum.Taxi) }
|
||||
actv_business_charter.onClick { swtichBusiness(BusinessEnum.Charter) }
|
||||
actv_business_shuttle.onClick { swtichBusiness(Product.SHUTTLE) }
|
||||
actv_business_bus.onClick { swtichBusiness(Product.BUS) }
|
||||
actv_business_taxi.onClick { swtichBusiness(Product.TAXI) }
|
||||
actv_business_charter.onClick { swtichBusiness(Product.CHARTER) }
|
||||
actv_debugview.onClick { ToggleDebugView.toggleDebugView.toggle(context) }
|
||||
}
|
||||
|
||||
private fun swtichBusiness(businessEnum: BusinessEnum) {
|
||||
private fun swtichBusiness(businessEnum: Product) {
|
||||
LoginStatusManager.invokeLBusinessTypeChangeDebug(businessEnum)
|
||||
visibility = GONE
|
||||
}
|
||||
|
||||
@@ -29,15 +29,6 @@ android {
|
||||
kotlinOptions {
|
||||
jvmTarget = '1.8'
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
res.srcDirs = [
|
||||
'src/main/res',
|
||||
'src/main/res/ani',
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
@@ -48,12 +39,23 @@ dependencies {
|
||||
implementation rootProject.ext.dependencies.androidxappcompat
|
||||
implementation rootProject.ext.dependencies.material
|
||||
implementation rootProject.ext.dependencies.rxandroid
|
||||
implementation rootProject.ext.dependencies.arouter
|
||||
implementation project(':libraries:mogo-adas-data')
|
||||
implementation project(':core:mogo-core-data')
|
||||
implementation project(':foudations:mogo-commons')
|
||||
implementation project(':OCH:common:common')
|
||||
implementation project(':OCH:common:data')
|
||||
|
||||
implementation rootProject.ext.dependencies.amapnavi3dmap
|
||||
|
||||
testImplementation project(':OCH:common:bridge')
|
||||
testImplementation 'junit:junit:4.12'
|
||||
|
||||
|
||||
api project(":OCH:common:common")
|
||||
if (Boolean.valueOf(USE_MAVEN_PACKAGE)) {
|
||||
api rootProject.ext.dependencies.mogoutils
|
||||
implementation rootProject.ext.dependencies.mogo_core_function_call
|
||||
api rootProject.ext.dependencies.mogo_core_function_map
|
||||
}else {
|
||||
api project(":core:mogo-core-utils")
|
||||
implementation project(':core:mogo-core-function-call')
|
||||
api project(':core:function-impl:mogo-core-function-map')
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.mogo.och.taxi.passenger.common">
|
||||
package="com.mogo.och.bridge">
|
||||
|
||||
</manifest>
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.common.module.manager.autopilot;
|
||||
package com.mogo.och.bridge.autopilot;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
@@ -14,8 +14,8 @@ import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils;
|
||||
import com.mogo.eagle.core.data.config.FunctionBuildConfig;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.Logger;
|
||||
import com.mogo.eagle.core.utilcode.util.ParseVersionUtils;
|
||||
import com.mogo.och.common.module.callback.OchAdasStartFailureCallback;
|
||||
import com.mogo.och.common.module.manager.autopilot.line.LineManager;
|
||||
import com.mogo.och.bridge.autopilot.callback.OchAdasStartFailureCallback;
|
||||
import com.mogo.och.bridge.autopilot.line.LineManager;
|
||||
import com.zhjt.mogo.adas.data.bean.AutopilotStatistics;
|
||||
import com.zhjt.mogo.adas.data.bean.LaunchConditionData;
|
||||
import com.zhjt.mogo.adas.data.bean.UnableLaunchReason;
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.mogo.och.common.module.manager.autopilot.autopilot;
|
||||
package com.mogo.och.bridge.autopilot.autopilot;
|
||||
|
||||
import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters;
|
||||
import com.mogo.och.common.module.manager.autopilot.autopilot.bean.ArrivedStation;
|
||||
import com.mogo.och.bridge.autopilot.autopilot.bean.ArrivedStation;
|
||||
import com.zhjt.mogo.adas.data.AdasConstants;
|
||||
|
||||
import mogo.telematics.pad.MessagePad;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.common.module.manager.autopilot.autopilot;
|
||||
package com.mogo.och.bridge.autopilot.autopilot;
|
||||
|
||||
public interface IOchEventKey {
|
||||
// 无人化taxi event_key_unmanned_taxi_start_service *
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.common.module.manager.autopilot.autopilot
|
||||
package com.mogo.och.bridge.autopilot.autopilot
|
||||
|
||||
import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters
|
||||
import com.mogo.eagle.core.data.config.FunctionBuildConfig
|
||||
@@ -8,10 +8,10 @@ import com.mogo.eagle.core.data.msgbox.MsgBoxType
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager
|
||||
import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager
|
||||
import com.mogo.och.common.module.manager.autopilot.autopilot.bean.SessionWithTime
|
||||
import com.mogo.och.common.module.manager.autopilot.line.LineManager
|
||||
import com.mogo.och.common.module.manager.distance.TrajectoryAndDistanceManager
|
||||
import com.mogo.och.bridge.autopilot.OCHAdasAbilityManager
|
||||
import com.mogo.och.bridge.autopilot.autopilot.bean.SessionWithTime
|
||||
import com.mogo.och.bridge.autopilot.line.LineManager
|
||||
import com.mogo.och.bridge.distance.TrajectoryAndDistanceManager
|
||||
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
|
||||
import java.util.concurrent.atomic.AtomicReference
|
||||
|
||||
@@ -48,7 +48,7 @@ object OchAutoPilotManager {
|
||||
if(sessionInfo==null){
|
||||
return true
|
||||
}else{
|
||||
if(currentTimeMillis-sessionInfo.setTime>=OchAutopilotAnalytics.LOOP_PERIOD_16S){
|
||||
if(currentTimeMillis-sessionInfo.setTime>= OchAutopilotAnalytics.LOOP_PERIOD_16S){
|
||||
clearGlobalSessionId("检测session 自带的时间 ${currentTimeMillis}_${sessionInfo.setTime}_${sessionInfo.sessionId}")
|
||||
return true
|
||||
}else{
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.common.module.manager.autopilot.autopilot
|
||||
package com.mogo.och.bridge.autopilot.autopilot
|
||||
|
||||
import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters
|
||||
import com.mogo.eagle.core.data.config.FunctionBuildConfig
|
||||
@@ -13,14 +13,13 @@ import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
import com.mogo.och.common.module.R
|
||||
import com.mogo.och.common.module.manager.autopilot.autopilot.bean.ArrivedStation
|
||||
import com.mogo.och.common.module.manager.autopilot.line.LineManager
|
||||
import com.mogo.och.common.module.manager.autopilot.trajectory.TrajectoryManager
|
||||
import com.mogo.och.bridge.autopilot.autopilot.bean.ArrivedStation
|
||||
import com.mogo.och.bridge.autopilot.line.LineManager
|
||||
import com.mogo.och.bridge.autopilot.trajectory.TrajectoryManager
|
||||
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
|
||||
import com.mogo.och.common.module.utils.CallerBase
|
||||
import com.zhjt.mogo.adas.common.MessageType
|
||||
import com.zhjt.mogo.adas.data.AdasConstants
|
||||
import com.zhjt.mogo.adas.data.bean.MogoReport
|
||||
import com.zhjt.mogo.adas.data.bean.ReceivedAck
|
||||
import com.zhjt.mogo.adas.data.bean.ReceivedAck.Status
|
||||
import fsm.Fsm2024
|
||||
@@ -55,6 +54,12 @@ object OchAutoPilotStatusListenerManager : CallerBase<IOchAutopilotStatusListene
|
||||
}
|
||||
}
|
||||
|
||||
private var _orderIdFromFSM:String? by Delegates.observable("") { _, oldValue, newValue ->
|
||||
if (oldValue != newValue) {
|
||||
LineManager.compareFSMAndOchOrderId(newValue)
|
||||
}
|
||||
}
|
||||
|
||||
val canStartAutopilotFromFSM:Boolean
|
||||
get() = _canStartAutopilotFromFSM
|
||||
|
||||
@@ -134,12 +139,7 @@ object OchAutoPilotStatusListenerManager : CallerBase<IOchAutopilotStatusListene
|
||||
override fun onAutopilotGuardian(guardianInfo: MogoReportMsg.MogoReportMessage?) {
|
||||
super.onAutopilotGuardian(guardianInfo)
|
||||
var lineId = -1L
|
||||
if (MogoReport.Code.Info.ISYS.INIT_TRAJECTORY_START == guardianInfo?.code ||
|
||||
MogoReport.Code.Info.ISYS.INIT_TRAJECTORY_SUCCESS == guardianInfo?.code ||
|
||||
MogoReport.Code.Info.ISYS.INIT_TRAJECTORY_FAILURE == guardianInfo?.code ||
|
||||
MogoReport.Code.Info.ISYS.INIT_TRAJECTORY_WARNING == guardianInfo?.code ||
|
||||
MogoReport.Code.Info.ISYS.INIT_TRAJECTORY_TIMEOUT == guardianInfo?.code
|
||||
) {
|
||||
guardianInfo?.let {
|
||||
val msg = guardianInfo.msg
|
||||
try {
|
||||
val regex = Regex("lineid:(\\d+)")
|
||||
@@ -161,16 +161,9 @@ object OchAutoPilotStatusListenerManager : CallerBase<IOchAutopilotStatusListene
|
||||
|
||||
}
|
||||
}
|
||||
if (MogoReport.Code.Info.ISYS.INIT_TRAJECTORY_SUCCESS == guardianInfo?.code){
|
||||
TrajectoryManager.addDownLoadSuccessLine(lineId)
|
||||
}
|
||||
if (MogoReport.Code.Info.ISYS.INIT_TRAJECTORY_FAILURE == guardianInfo?.code){
|
||||
// 更新轨迹没有更新lineId 第二次下载失败 删除App成功缓存(概率很低)
|
||||
TrajectoryManager.removeDownLoadSuccessLine(lineId)
|
||||
}
|
||||
}
|
||||
|
||||
TrajectoryManager.carDownLoadTrajectoryLog(guardianInfo?.code)
|
||||
TrajectoryManager.carDownLoadTrajectoryLog(guardianInfo?.code,lineId)
|
||||
|
||||
M_LISTENERS.forEach {
|
||||
val listener = it.value
|
||||
@@ -215,7 +208,7 @@ object OchAutoPilotStatusListenerManager : CallerBase<IOchAutopilotStatusListene
|
||||
}
|
||||
|
||||
override fun invoke(canStartAutopilot: Boolean) {
|
||||
this.canStartAutopilot = canStartAutopilot
|
||||
OchAutoPilotStatusListenerManager.canStartAutopilot = canStartAutopilot
|
||||
}
|
||||
|
||||
override fun onAutopilotStatusResponseFromCan(state: Int) {
|
||||
@@ -267,11 +260,19 @@ object OchAutoPilotStatusListenerManager : CallerBase<IOchAutopilotStatusListene
|
||||
override fun onFSM2024State(fsmState: Fsm2024.FSMStateMsg) {
|
||||
fsmBackSessionId.set(fsmState.failToPilotSessionId)
|
||||
_canStartAutopilotFromFSM = fsmState.pilotStandbyFlag
|
||||
_orderIdFromFSM = fsmState.orderId
|
||||
}
|
||||
|
||||
/**
|
||||
* 消息发送 5s后超时回执
|
||||
*
|
||||
*/
|
||||
override fun onReceiveReceivedAck(receivedAck: ReceivedAck) {
|
||||
if (receivedAck.messageType == MessageType.TYPE_SEND_SET_AUTOPILOT_MODE_REQ) {
|
||||
OchAutopilotAnalytics.triggerStartAutopilotParametersAck(receivedAck.toString(),receivedAck.status == Status.NORMAL)
|
||||
OchAutopilotAnalytics.triggerStartAutopilotParametersAck(
|
||||
receivedAck.toString(),
|
||||
receivedAck.status == Status.NORMAL
|
||||
)
|
||||
if(receivedAck.status==Status.NORMAL){
|
||||
// 底盘接受成功
|
||||
LineManager.invokeStartAutopilotAckSuccess(receivedAck)
|
||||
@@ -1,7 +1,6 @@
|
||||
package com.mogo.och.common.module.manager.autopilot.autopilot
|
||||
package com.mogo.och.bridge.autopilot.autopilot
|
||||
|
||||
import android.text.TextUtils
|
||||
import com.alibaba.android.arouter.exception.InitException
|
||||
import com.mogo.commons.debug.DebugConfig
|
||||
import com.mogo.commons.utils.MogoAnalyticUtils
|
||||
import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters
|
||||
@@ -10,11 +9,11 @@ import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListener
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
|
||||
import com.mogo.eagle.core.utilcode.util.DateTimeUtils
|
||||
import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager
|
||||
import com.mogo.och.common.module.manager.autopilot.autopilot.bean.SessionWithTime
|
||||
import com.mogo.och.common.module.manager.autopilot.line.LineManager
|
||||
import com.mogo.och.bridge.autopilot.OCHAdasAbilityManager
|
||||
import com.mogo.och.bridge.autopilot.autopilot.bean.SessionWithTime
|
||||
import com.mogo.och.bridge.autopilot.line.LineManager
|
||||
import com.mogo.och.common.module.exception.InitException
|
||||
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
|
||||
import com.mogo.och.common.module.manager.loop.BizLoopManager
|
||||
import com.mogo.och.common.module.utils.RxUtils
|
||||
import io.reactivex.disposables.Disposable
|
||||
|
||||
@@ -273,7 +272,7 @@ object OchAutopilotAnalytics {
|
||||
// taxi event_key_och_taxi_start_service *
|
||||
// 无人化taxiPa event_key_unmanned_taxi_start_service
|
||||
fun getEventKeyStartService(): String{
|
||||
if(ochEventKey==null){
|
||||
if(ochEventKey ==null){
|
||||
throw InitException("请设置启动自驾埋点key")
|
||||
}
|
||||
return ochEventKey!!.getEventKeyStartService()
|
||||
@@ -286,7 +285,7 @@ object OchAutopilotAnalytics {
|
||||
// taxi event_key_och_taxi_restart_autopilot *
|
||||
// 无人化taxiPa event_key_unmanned_taxi_restart_autopilot
|
||||
fun getEventKeyRestartService(): String{
|
||||
if(ochEventKey==null){
|
||||
if(ochEventKey ==null){
|
||||
throw InitException("请设置启动自驾埋点key")
|
||||
}
|
||||
return ochEventKey!!.getEventKeyRestartService()
|
||||
@@ -299,7 +298,7 @@ object OchAutopilotAnalytics {
|
||||
// taxi event_key_och_taxi_ap_unable_start_reason *
|
||||
// 无人化taxiPa event_key_och_taxi_ap_unable_start_reason
|
||||
fun getEventKeyApUnableStartReason(): String{
|
||||
if(ochEventKey==null){
|
||||
if(ochEventKey ==null){
|
||||
throw InitException("请设置启动自驾埋点key")
|
||||
}
|
||||
return ochEventKey!!.getEventKeyApUnableStartReason()
|
||||
@@ -312,7 +311,7 @@ object OchAutopilotAnalytics {
|
||||
// taxi event_key_och_taxi_click_start_autopilot
|
||||
// 无人化taxiPa event_key_och_taxi_passenger_click_start_autopilot
|
||||
fun getEventKeyClickStartAutopilot(): String{
|
||||
if(ochEventKey==null){
|
||||
if(ochEventKey ==null){
|
||||
throw InitException("请设置启动自驾埋点key")
|
||||
}
|
||||
return ochEventKey!!.getEventKeyClickStartAutopilot()
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.common.module.manager.autopilot.autopilot.bean;
|
||||
package com.mogo.och.bridge.autopilot.autopilot.bean;
|
||||
|
||||
import com.mogo.eagle.core.data.map.MogoLocation;
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
package com.mogo.och.bridge.autopilot.autopilot.bean
|
||||
|
||||
data class SessionWithTime(val sessionId:Long,val setTime:Long)
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.common.module.callback
|
||||
package com.mogo.och.bridge.autopilot.callback
|
||||
|
||||
/**
|
||||
* @author: wangmingjun
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.common.module.manager.autopilot.line;
|
||||
package com.mogo.och.bridge.autopilot.line;
|
||||
|
||||
|
||||
public interface ILineCallback {
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.common.module.manager.autopilot.line
|
||||
package com.mogo.och.bridge.autopilot.line
|
||||
|
||||
import android.text.TextUtils
|
||||
import com.elegant.network.utils.GsonUtil
|
||||
@@ -23,12 +23,12 @@ import com.mogo.eagle.core.utilcode.util.CoordinateUtils
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
import com.mogo.och.common.module.constant.OchCommonConst
|
||||
import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager
|
||||
import com.mogo.och.common.module.manager.autopilot.autopilot.OchAutoPilotManager
|
||||
import com.mogo.och.common.module.manager.autopilot.autopilot.OchAutoPilotManager.startAutoPilot
|
||||
import com.mogo.och.common.module.manager.autopilot.autopilot.OchAutopilotAnalytics
|
||||
import com.mogo.och.common.module.manager.autopilot.location.OchLocationManager
|
||||
import com.mogo.och.common.module.manager.distance.TrajectoryAndDistanceManager
|
||||
import com.mogo.och.bridge.autopilot.OCHAdasAbilityManager
|
||||
import com.mogo.och.bridge.autopilot.autopilot.OchAutoPilotManager
|
||||
import com.mogo.och.bridge.autopilot.autopilot.OchAutoPilotManager.startAutoPilot
|
||||
import com.mogo.och.bridge.autopilot.autopilot.OchAutopilotAnalytics
|
||||
import com.mogo.och.bridge.autopilot.location.OchLocationManager
|
||||
import com.mogo.och.bridge.distance.TrajectoryAndDistanceManager
|
||||
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
|
||||
import com.mogo.och.common.module.utils.CallerBase
|
||||
import com.mogo.och.common.module.voice.VoiceNotice
|
||||
@@ -81,6 +81,7 @@ object LineManager : CallerBase<ILineCallback>() {
|
||||
private var autopilotId: String by Delegates.observable("") { _, oldValue, newValue ->
|
||||
if (oldValue != newValue) {
|
||||
CallerEagleBaseFunctionCall4OchManager.setOchAutopilotOrderId(newValue)
|
||||
isFirstStartAutopilot = true
|
||||
M_LISTENERS.forEach {
|
||||
it.value.onAutopilotIdChange(oldValue,newValue)
|
||||
}
|
||||
@@ -167,9 +168,9 @@ object LineManager : CallerBase<ILineCallback>() {
|
||||
clearGlobalTrajectory(true)
|
||||
CallerEagleBaseFunctionCall4OchManager.updateOrderLine("")
|
||||
}
|
||||
this._lineInfos = lineInfo
|
||||
_lineInfos = lineInfo
|
||||
setAutopilotControlParameters()
|
||||
this._lineInfos?.let { line ->
|
||||
_lineInfos?.let { line ->
|
||||
if (ProjectUtils.isSaas()) {
|
||||
val sb = StringBuilder()
|
||||
sb.append(line.lineName)
|
||||
@@ -179,7 +180,7 @@ object LineManager : CallerBase<ILineCallback>() {
|
||||
CallerEagleBaseFunctionCall4OchManager.updateOrderLine(sb.toString())
|
||||
}
|
||||
}
|
||||
OchChainLogManager.writeChainLogAutopilot("自驾参数", "线路信息:${contraiInfo}")
|
||||
OchChainLogManager.writeChainLogAutopilot("自驾参数", "线路信息:$contraiInfo")
|
||||
}
|
||||
|
||||
fun getStations(): Pair<BusStationBean?, BusStationBean?> {
|
||||
@@ -193,7 +194,7 @@ object LineManager : CallerBase<ILineCallback>() {
|
||||
return
|
||||
}
|
||||
}
|
||||
OchChainLogManager.writeChainLog("异常情况","startStation:${startStation}__endStation:${endStation}")
|
||||
OchChainLogManager.writeChainLog("异常情况","startStation:${startStation}__endStation:$endStation")
|
||||
}
|
||||
|
||||
fun getStationsWithLine(function: (start: BusStationBean, end: BusStationBean, lineInfo: LineInfo) -> Unit) {
|
||||
@@ -207,7 +208,7 @@ object LineManager : CallerBase<ILineCallback>() {
|
||||
}
|
||||
OchChainLogManager.writeChainLog(
|
||||
"异常情况",
|
||||
"startStation:${startStation}__endStation:${endStation}__lineInfos:${_lineInfos}"
|
||||
"startStation:${startStation}__endStation:${endStation}__lineInfos:$_lineInfos"
|
||||
)
|
||||
}
|
||||
|
||||
@@ -224,7 +225,7 @@ object LineManager : CallerBase<ILineCallback>() {
|
||||
}
|
||||
OchChainLogManager.writeChainLog(
|
||||
"异常情况",
|
||||
"startStation:${startStation}__endStation:${endStation}__lineInfos:${_lineInfos}__contraiInfo:${_contraiInfo}"
|
||||
"startStation:${startStation}__endStation:${endStation}__lineInfos:${_lineInfos}__contraiInfo:$_contraiInfo"
|
||||
)
|
||||
}
|
||||
|
||||
@@ -233,7 +234,7 @@ object LineManager : CallerBase<ILineCallback>() {
|
||||
function.invoke(start)
|
||||
return
|
||||
}
|
||||
OchChainLogManager.writeChainLog("异常情况", "startStation:${startStation}")
|
||||
OchChainLogManager.writeChainLog("异常情况", "startStation:$startStation")
|
||||
}
|
||||
|
||||
fun getLineInfo(function: (lineInfo: LineInfo) -> Unit){
|
||||
@@ -241,7 +242,7 @@ object LineManager : CallerBase<ILineCallback>() {
|
||||
function.invoke(line)
|
||||
return
|
||||
}
|
||||
OchChainLogManager.writeChainLog("异常情况", "lineInfos:${_lineInfos}")
|
||||
OchChainLogManager.writeChainLog("异常情况", "lineInfos:$_lineInfos")
|
||||
}
|
||||
|
||||
|
||||
@@ -271,7 +272,7 @@ object LineManager : CallerBase<ILineCallback>() {
|
||||
endStationLocation.latitude = end.gcjLat
|
||||
endStationLocation.longitude = end.gcjLon
|
||||
TrajectoryAndDistanceManager.setStationPoint(startStationLocation, endStationLocation, lineInfo.lineId)
|
||||
OchLocationManager.addGCJ02Listener(TAG,1,mMapLocationListener)
|
||||
OchLocationManager.addGCJ02Listener(TAG,1, mMapLocationListener)
|
||||
// 恢复启动自驾信息
|
||||
searchAutopilotState()
|
||||
}
|
||||
@@ -282,7 +283,7 @@ object LineManager : CallerBase<ILineCallback>() {
|
||||
private fun clearAutopilotControlParameters(){
|
||||
CallerAutoPilotStatusListenerManager.updateAutopilotControlParameters(null)
|
||||
TrajectoryAndDistanceManager.setStationPoint(null, null, null)
|
||||
this.autopilotId = ""
|
||||
autopilotId = ""
|
||||
OchLocationManager.removeGCJ02Listener(TAG)
|
||||
}
|
||||
|
||||
@@ -433,7 +434,7 @@ object LineManager : CallerBase<ILineCallback>() {
|
||||
// 启动自动驾驶
|
||||
fun startAutopilot() {
|
||||
|
||||
if(startStation==null|| endStation==null){
|
||||
if(startStation ==null|| endStation ==null){
|
||||
ToastUtils.showShort("未设置起始或终点站点")
|
||||
return
|
||||
}
|
||||
@@ -455,7 +456,7 @@ object LineManager : CallerBase<ILineCallback>() {
|
||||
OchAutopilotAnalytics.triggerClickStartAutopilotTime(System.currentTimeMillis())
|
||||
|
||||
//1、判断轨迹url是否可用
|
||||
if(_contraiInfo==null){
|
||||
if(_contraiInfo ==null){
|
||||
ToastUtils.showLong("无发布轨迹, 请发布后重试")
|
||||
return
|
||||
}else{
|
||||
@@ -467,7 +468,7 @@ object LineManager : CallerBase<ILineCallback>() {
|
||||
e(
|
||||
TAG, "isPassStartAutopilotCommand = " +
|
||||
FunctionBuildConfig.isPassStartAutopilotCommand
|
||||
+ "busRoutesResult.csvFileUrl = " + LineManager._contraiInfo!!.csvFileUrl
|
||||
+ "busRoutesResult.csvFileUrl = " + _contraiInfo!!.csvFileUrl
|
||||
)
|
||||
return
|
||||
}
|
||||
@@ -506,7 +507,7 @@ object LineManager : CallerBase<ILineCallback>() {
|
||||
M_BUS + TAG,
|
||||
"行程日志-开启自动驾驶====" + GsonUtil.jsonFromObject(parameters)
|
||||
+ " startLatLon=" + parameters.startName + ",endLatLon=" + parameters.endName +
|
||||
"isRestart = " + LineManager.isFirstStartAutopilot
|
||||
"isRestart = " + isFirstStartAutopilot
|
||||
)
|
||||
|
||||
M_LISTENERS.forEach {
|
||||
@@ -570,4 +571,26 @@ object LineManager : CallerBase<ILineCallback>() {
|
||||
}
|
||||
}
|
||||
|
||||
fun compareFSMAndOchOrderId(autopilotIdFromFsm: String?) {
|
||||
if(autopilotIdFromFsm == autopilotId){
|
||||
// 地盘有和上层一样 不用操作
|
||||
}else{
|
||||
if(autopilotIdFromFsm.isNullOrEmpty()){
|
||||
// 地盘没有 不做操作
|
||||
}else{
|
||||
// 地盘有但是和och出不一样
|
||||
// todo 需要och 重新出发轨迹下载操作
|
||||
ToastUtils.showShort("${autopilotIdFromFsm}_${autopilotId}_自动驾驶id不同请排查")
|
||||
OchChainLogManager.writeChainLogAutopilot("自驾Id","${autopilotIdFromFsm}_${autopilotId}_自动驾驶id不同请排查")
|
||||
// val initAutopilotControlParameters = initAutopilotControlParameters()
|
||||
// if (initAutopilotControlParameters!==null&&initAutopilotControlParameters.autoPilotLine!=null
|
||||
// && contraiInfo!=null
|
||||
// ) {
|
||||
// CallerAutoPilotControlManager.sendTrajectoryDownloadReq(initAutopilotControlParameters.autoPilotLine!!,
|
||||
// contraiInfo!!.source, autopilotId)
|
||||
// }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.common.module.manager.autopilot.location
|
||||
package com.mogo.och.bridge.autopilot.location
|
||||
|
||||
import com.mogo.eagle.core.data.map.MogoLocation
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Listener
|
||||
@@ -0,0 +1,32 @@
|
||||
package com.mogo.och.bridge.autopilot.trajectory
|
||||
|
||||
import com.mogo.eagle.core.data.map.MogoLocation
|
||||
|
||||
interface ITrajectoryListListener{
|
||||
/**
|
||||
* @param trajectoryList gcj 坐标轨迹集合
|
||||
*/
|
||||
fun trajectoryCallback(trajectoryList: MutableList<MogoLocation>){}
|
||||
|
||||
/**
|
||||
* @param maxDistanceAllPoint 轨迹全长
|
||||
*/
|
||||
fun trajectoryDistanceCallback(maxDistanceAllPoint: Double){}
|
||||
// 开始下载轨迹
|
||||
fun onDownLoadStart(lineId: Long){}
|
||||
// 下载轨迹成功
|
||||
fun onDownLoadSuccess(lineId: Long){}
|
||||
// 下载轨迹是吧
|
||||
fun onDownLoadFail(lineId: Long){}
|
||||
// 下载轨迹超时
|
||||
fun onDownLoadTimeout(lineId: Long){}
|
||||
// 加载轨迹失败
|
||||
fun onLoadFail(lineId: Long){}
|
||||
// 轨迹不存在
|
||||
fun onTrajectoryNotExist(lineId: Long){}
|
||||
// 底盘已就行
|
||||
fun onDownLoadReady(lineId: Long) {}
|
||||
|
||||
// 当前位置距离轨迹大于15m
|
||||
fun onDistanceWithTrajectory(lineId: Long) {}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.common.module.manager.autopilot.trajectory
|
||||
package com.mogo.och.bridge.autopilot.trajectory
|
||||
|
||||
import com.elegant.network.utils.GsonUtil
|
||||
import com.mogo.commons.AbsMogoApplication
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.common.module.manager.autopilot.trajectory
|
||||
package com.mogo.och.bridge.autopilot.trajectory
|
||||
|
||||
import com.mogo.commons.AbsMogoApplication
|
||||
import com.mogo.eagle.core.data.map.MogoLocation
|
||||
@@ -9,17 +9,14 @@ import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
|
||||
import com.mogo.eagle.core.utilcode.util.CoordinateUtils
|
||||
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
|
||||
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager.writeChainLog
|
||||
import com.mogo.och.common.module.utils.CoordinateCalculateRouteUtil
|
||||
import com.mogo.och.common.module.utils.CallerBase
|
||||
import com.mogo.och.bridge.utils.CoordinateCalculateRouteUtil
|
||||
import com.zhjt.mogo.adas.data.bean.MogoReport
|
||||
import mogo.telematics.pad.MessagePad
|
||||
import java.util.concurrent.ConcurrentHashMap
|
||||
|
||||
object TrajectoryManager : IMoGoPlanningRottingListener {
|
||||
object TrajectoryManager : CallerBase<ITrajectoryListListener>(),IMoGoPlanningRottingListener {
|
||||
const val TAG = "TrajectoryManager"
|
||||
|
||||
private val distanceListeners: ConcurrentHashMap<String, ITrajectoryListListener> =
|
||||
ConcurrentHashMap()
|
||||
|
||||
private val downLoadSuccessLineIds = mutableListOf<Long>()
|
||||
|
||||
/**
|
||||
@@ -60,7 +57,7 @@ object TrajectoryManager : IMoGoPlanningRottingListener {
|
||||
CallerLogger.d(SceneConstant.M_OCHCOMMON + TAG, "重复轨迹")
|
||||
return
|
||||
}
|
||||
this.lineId = globalPathResp.lineId
|
||||
lineId = globalPathResp.lineId
|
||||
}
|
||||
updateRoutePoints(it)
|
||||
}
|
||||
@@ -88,48 +85,88 @@ object TrajectoryManager : IMoGoPlanningRottingListener {
|
||||
maxDistanceAllPoint += distanceItem
|
||||
}
|
||||
}
|
||||
distanceListeners.forEach {
|
||||
M_LISTENERS.forEach {
|
||||
it.value.trajectoryCallback(mRoutePoints)
|
||||
}
|
||||
M_LISTENERS.forEach {
|
||||
it.value.trajectoryDistanceCallback(maxDistanceAllPoint)
|
||||
}
|
||||
}
|
||||
|
||||
fun addTrajectoryListListenerr(tag: String, listener: ITrajectoryListListener?) {
|
||||
if (distanceListeners.containsKey(tag)) {
|
||||
return
|
||||
}
|
||||
if(listener==null){
|
||||
distanceListeners.remove(tag)
|
||||
return
|
||||
}
|
||||
distanceListeners[tag] = listener
|
||||
}
|
||||
|
||||
fun addDownLoadSuccessLine(lineId:Long){
|
||||
private fun addDownLoadSuccessLine(lineId:Long){
|
||||
if(lineId>0){
|
||||
OchChainLogManager.writeChainLog("轨迹监控", " 轨迹下载成功${lineId}", true, OchChainLogManager.EVENT_KEY_INFE_WITH_TRAJECTORY)
|
||||
downLoadSuccessLineIds.add(lineId)
|
||||
}
|
||||
}
|
||||
fun removeDownLoadSuccessLine(lineId:Long){
|
||||
private fun removeDownLoadSuccessLine(lineId:Long){
|
||||
if(lineId>0&& downLoadSuccessLineIds.contains(lineId)){
|
||||
downLoadSuccessLineIds.remove(lineId)
|
||||
}
|
||||
}
|
||||
|
||||
fun carDownLoadTrajectoryLog(code:String?){
|
||||
fun carDownLoadTrajectoryLog(code: String?, lineId: Long){
|
||||
when (code) {
|
||||
MogoReport.Code.Info.ISYS.INIT_TRAJECTORY_START -> writeTrajectoryLog("轨迹开始下载")
|
||||
MogoReport.Code.Info.ISYS.INIT_TRAJECTORY_SUCCESS -> writeTrajectoryLog("轨迹下载成功")
|
||||
MogoReport.Code.Info.ISYS.INIT_TRAJECTORY_FAILURE -> writeTrajectoryLog("轨迹下载失败,本地无对应轨迹")
|
||||
MogoReport.Code.Info.ISYS.INIT_TRAJECTORY_WARNING -> writeTrajectoryLog("轨迹下载失败,本地有对应轨迹,认为成功")
|
||||
MogoReport.Code.Info.ISYS.INIT_TRAJECTORY_TIMEOUT -> writeTrajectoryLog("轨迹下载超时")
|
||||
MogoReport.Code.Info.ISSM.FUNC_AUTO_PILOT_READY -> writeTrajectoryLog("再次发起下载、 ssm ready,再次发起下载")
|
||||
MogoReport.Code.Error.EMAP.TRA_LOAD_FAILED -> writeTrajectoryLog("onAutopilotGuardian() 加载轨迹文件失败")
|
||||
MogoReport.Code.Error.EMAP.TRA_NOT_EXIST -> writeTrajectoryLog("onAutopilotGuardian() 无法找到轨迹文件")
|
||||
MogoReport.Code.Info.ISYS.INIT_TRAJECTORY_START -> {
|
||||
writeTrajectoryLog("轨迹开始下载")
|
||||
M_LISTENERS.forEach {
|
||||
it.value.onDownLoadStart(lineId)
|
||||
}
|
||||
}
|
||||
MogoReport.Code.Info.ISYS.INIT_TRAJECTORY_SUCCESS -> {
|
||||
writeTrajectoryLog("轨迹下载成功")
|
||||
addDownLoadSuccessLine(lineId)
|
||||
M_LISTENERS.forEach {
|
||||
it.value.onDownLoadSuccess(lineId)
|
||||
}
|
||||
}
|
||||
MogoReport.Code.Info.ISYS.INIT_TRAJECTORY_FAILURE -> {
|
||||
writeTrajectoryLog("轨迹下载失败,本地无对应轨迹")
|
||||
// 更新轨迹没有更新lineId 第二次下载失败 删除App成功缓存(概率很低)
|
||||
removeDownLoadSuccessLine(lineId)
|
||||
M_LISTENERS.forEach {
|
||||
it.value.onDownLoadFail(lineId)
|
||||
}
|
||||
}
|
||||
MogoReport.Code.Info.ISYS.INIT_TRAJECTORY_WARNING -> {
|
||||
writeTrajectoryLog("轨迹下载失败,本地有对应轨迹,认为成功")
|
||||
M_LISTENERS.forEach {
|
||||
it.value.onDownLoadSuccess(lineId)
|
||||
}
|
||||
}
|
||||
MogoReport.Code.Info.ISYS.INIT_TRAJECTORY_TIMEOUT -> {
|
||||
writeTrajectoryLog("轨迹下载超时")
|
||||
M_LISTENERS.forEach {
|
||||
it.value.onDownLoadTimeout(lineId)
|
||||
}
|
||||
}
|
||||
MogoReport.Code.Info.ISSM.FUNC_AUTO_PILOT_READY -> {
|
||||
writeTrajectoryLog("再次发起下载、 ssm ready,再次发起下载")
|
||||
M_LISTENERS.forEach {
|
||||
it.value.onDownLoadReady(lineId)
|
||||
}
|
||||
}
|
||||
MogoReport.Code.Error.EMAP.TRA_LOAD_FAILED -> {
|
||||
writeTrajectoryLog("onAutopilotGuardian() 加载轨迹文件失败")
|
||||
M_LISTENERS.forEach {
|
||||
it.value.onLoadFail(lineId)
|
||||
}
|
||||
}
|
||||
MogoReport.Code.Error.EMAP.TRA_NOT_EXIST -> {
|
||||
writeTrajectoryLog("onAutopilotGuardian() 无法找到轨迹文件")
|
||||
M_LISTENERS.forEach {
|
||||
it.value.onTrajectoryNotExist(lineId)
|
||||
}
|
||||
}
|
||||
MogoReport.Code.Error.EMAP.ATTITUDE_INIT_FAILED->{
|
||||
writeTrajectoryLog("onAutopilotGuardian() 当前位置距离轨迹距离大于15m")
|
||||
|
||||
M_LISTENERS.forEach {
|
||||
it.value.onDistanceWithTrajectory(lineId)
|
||||
}
|
||||
}
|
||||
else -> {}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
private fun writeTrajectoryLog(message:String){
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.mogo.och.common.module.manager.device
|
||||
package com.mogo.och.bridge.device
|
||||
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager
|
||||
import com.mogo.och.common.module.manager.autopilot.location.OchLocationManager
|
||||
import com.mogo.och.bridge.autopilot.location.OchLocationManager
|
||||
import com.mogo.och.common.module.utils.RxUtils
|
||||
import com.mogo.och.common.module.wigets.toast.ToastCharterUtils
|
||||
import io.reactivex.disposables.Disposable
|
||||
@@ -1,13 +1,13 @@
|
||||
package com.mogo.och.common.module.manager.device
|
||||
package com.mogo.och.bridge.device
|
||||
|
||||
import chassis.VehicleStateOuterClass
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoRoboBusJinlvM1StatesListener
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerRoboBusJinlvM1StatesListenerManager
|
||||
import com.mogo.och.common.module.manager.device.callback.LightAirconditionDoorCallback
|
||||
import com.mogo.och.common.module.manager.device.data.AirconditionStatus
|
||||
import com.mogo.och.common.module.manager.device.data.DoorStatus
|
||||
import com.mogo.och.common.module.manager.device.data.HeaterStatue
|
||||
import com.mogo.och.common.module.manager.device.data.LightStatus
|
||||
import com.mogo.och.bridge.device.callback.LightAirconditionDoorCallback
|
||||
import com.mogo.och.bridge.device.data.AirconditionStatus
|
||||
import com.mogo.och.bridge.device.data.DoorStatus
|
||||
import com.mogo.och.bridge.device.data.HeaterStatue
|
||||
import com.mogo.och.bridge.device.data.LightStatus
|
||||
import java.util.concurrent.ConcurrentHashMap
|
||||
|
||||
object LightAirconditionDoorStatusManager : IMoGoRoboBusJinlvM1StatesListener {
|
||||
@@ -37,8 +37,8 @@ object LightAirconditionDoorStatusManager : IMoGoRoboBusJinlvM1StatesListener {
|
||||
listener.onLightTop1Callback(lightStatus,true)
|
||||
listener.onLightTop2Callback(lightStatus,true)
|
||||
listener.onLightAtmosphereCallback(lightStatus,true)
|
||||
listener.onAirconditionStatusCallback(heaterStatue.isOpen,airconditionStatus,true)
|
||||
listener.onHeaterStatusCallback(airconditionStatus.isOpen,heaterStatue,true)
|
||||
listener.onAirconditionStatusCallback(heaterStatue.isOpen, airconditionStatus,true)
|
||||
listener.onHeaterStatusCallback(airconditionStatus.isOpen, heaterStatue,true)
|
||||
}
|
||||
|
||||
fun removeListener(tag: String) {
|
||||
@@ -78,7 +78,7 @@ object LightAirconditionDoorStatusManager : IMoGoRoboBusJinlvM1StatesListener {
|
||||
M_LISTENERS.forEach {
|
||||
val tag = it.key
|
||||
val listener = it.value
|
||||
listener.onAirconditionStatusCallback(heaterState.isOn,airconditionStatus,false)
|
||||
listener.onAirconditionStatusCallback(heaterState.isOn, airconditionStatus,false)
|
||||
}
|
||||
}
|
||||
if (heaterState.isOn != heaterStatue.isOpen ||
|
||||
@@ -89,7 +89,7 @@ object LightAirconditionDoorStatusManager : IMoGoRoboBusJinlvM1StatesListener {
|
||||
M_LISTENERS.forEach {
|
||||
val tag = it.key
|
||||
val listener = it.value
|
||||
listener.onHeaterStatusCallback(airConditionerState.isOn,heaterStatue,false)
|
||||
listener.onHeaterStatusCallback(airConditionerState.isOn, heaterStatue,false)
|
||||
}
|
||||
}
|
||||
if (states.frontDoorState.isOn != doorStatus.isOpen) {
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.common.module.manager.device
|
||||
package com.mogo.och.bridge.device
|
||||
|
||||
import chassis.Chassis
|
||||
import chassis.VehicleStateOuterClass
|
||||
@@ -7,9 +7,9 @@ import com.mogo.eagle.core.function.call.autopilot.CallerChassisDoorStateListene
|
||||
import com.mogo.eagle.core.function.call.base.CallerBase
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
|
||||
import com.mogo.och.common.module.manager.device.callback.DoorStateCallback
|
||||
import com.mogo.och.common.module.manager.device.data.DoorPosition
|
||||
import com.mogo.och.common.module.manager.device.data.DoorState
|
||||
import com.mogo.och.bridge.device.callback.DoorStateCallback
|
||||
import com.mogo.och.bridge.device.data.DoorPosition
|
||||
import com.mogo.och.bridge.device.data.DoorState
|
||||
|
||||
object TaxiDoorStateManager : IMoGoChassisDoorStateListener,
|
||||
CallerBase<DoorStateCallback>() {
|
||||
@@ -67,9 +67,14 @@ object TaxiDoorStateManager : IMoGoChassisDoorStateListener,
|
||||
override fun onAutopilotSingleDoorState(num: Chassis.DoorNumber, status: Int) {
|
||||
CallerLogger.d(SceneConstant.M_TAXI_P + TAG, "门太变化:${num}--${status}")
|
||||
when (status) {
|
||||
0 -> { exchangeEnum(num, DoorState.CLOSE)}
|
||||
1 -> {exchangeEnum(num, DoorState.OPEN)}
|
||||
2 -> {exchangeEnum(num, DoorState.UNKNOWN)}
|
||||
0 -> { exchangeEnum(num, DoorState.CLOSE)
|
||||
}
|
||||
1 -> {
|
||||
exchangeEnum(num, DoorState.OPEN)
|
||||
}
|
||||
2 -> {
|
||||
exchangeEnum(num, DoorState.UNKNOWN)
|
||||
}
|
||||
else -> {}
|
||||
}
|
||||
|
||||
@@ -118,7 +123,7 @@ object TaxiDoorStateManager : IMoGoChassisDoorStateListener,
|
||||
* @param doorState 车门状态
|
||||
*/
|
||||
@Synchronized
|
||||
private fun invokeSingleDoorOpenState(doorPosition: DoorPosition,doorState: DoorState) {
|
||||
private fun invokeSingleDoorOpenState(doorPosition: DoorPosition, doorState: DoorState) {
|
||||
M_LISTENERS.forEach {
|
||||
val listener = it.value
|
||||
listener.doorStateChangeCallback(doorPosition,doorState)
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.mogo.och.common.module.manager.device.callback
|
||||
package com.mogo.och.bridge.device.callback
|
||||
|
||||
import com.mogo.och.common.module.manager.device.data.DoorPosition
|
||||
import com.mogo.och.common.module.manager.device.data.DoorState
|
||||
import com.mogo.och.bridge.device.data.DoorPosition
|
||||
import com.mogo.och.bridge.device.data.DoorState
|
||||
|
||||
interface DoorStateCallback {
|
||||
|
||||
@@ -15,5 +15,5 @@ interface DoorStateCallback {
|
||||
* @param position 车门位置
|
||||
* @param state 当前车门状态
|
||||
*/
|
||||
fun doorStateChangeCallback(position: DoorPosition,state: DoorState){}
|
||||
fun doorStateChangeCallback(position: DoorPosition, state: DoorState){}
|
||||
}
|
||||
@@ -1,17 +1,17 @@
|
||||
package com.mogo.och.common.module.manager.device.callback
|
||||
package com.mogo.och.bridge.device.callback
|
||||
|
||||
import com.mogo.och.common.module.manager.device.data.AirconditionStatus
|
||||
import com.mogo.och.common.module.manager.device.data.HeaterStatue
|
||||
import com.mogo.och.common.module.manager.device.data.LightStatus
|
||||
import com.mogo.och.bridge.device.data.AirconditionStatus
|
||||
import com.mogo.och.bridge.device.data.HeaterStatue
|
||||
import com.mogo.och.bridge.device.data.LightStatus
|
||||
|
||||
interface LightAirconditionDoorCallback {
|
||||
|
||||
fun onAirconditionStatusCallback(heaterIsOpen: Boolean, airconditionStatus: AirconditionStatus,
|
||||
isFirst: Boolean) {
|
||||
isFirst: Boolean) {
|
||||
}
|
||||
|
||||
fun onHeaterStatusCallback(airconditionIsOpen: Boolean, heaterStatue: HeaterStatue,
|
||||
isFirst: Boolean) {
|
||||
isFirst: Boolean) {
|
||||
}
|
||||
|
||||
fun onDoorStatusCallback(isOpen: Boolean, isFirst: Boolean) {}
|
||||
@@ -1,10 +1,10 @@
|
||||
package com.mogo.och.common.module.manager.device.checkvin
|
||||
package com.mogo.och.bridge.device.checkvin
|
||||
|
||||
import android.content.Context
|
||||
import androidx.lifecycle.LifecycleObserver
|
||||
import com.mogo.eagle.core.function.hmi.dialog.BaseFloatDialog
|
||||
import com.mogo.eagle.core.utilcode.kotlin.onClick
|
||||
import com.mogo.och.common.module.R
|
||||
import com.mogo.och.bridge.R
|
||||
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
|
||||
import kotlinx.android.synthetic.main.common_checkvin_view.actv_see
|
||||
|
||||
@@ -19,7 +19,9 @@ class CheckVinErrorDialog(context: Context) : BaseFloatDialog(context), Lifecycl
|
||||
setCanceledOnTouchOutside(true)
|
||||
|
||||
actv_see.onClick {
|
||||
OchChainLogManager.writeChainLog("vinCheck","用户点击了 ”我知道了“",true,EVENT_KEY_INFO_CHECK_VIN)
|
||||
OchChainLogManager.writeChainLog("vinCheck","用户点击了 ”我知道了“",true,
|
||||
EVENT_KEY_INFO_CHECK_VIN
|
||||
)
|
||||
dismiss()
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.common.module.manager.device.checkvin
|
||||
package com.mogo.och.bridge.device.checkvin
|
||||
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotCarConfigListener
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager
|
||||
@@ -16,11 +16,11 @@ object CheckVinManager : IMoGoAutopilotCarConfigListener {
|
||||
private val TAG = CheckVinManager::class.java.simpleName
|
||||
|
||||
init {
|
||||
BizLoopManager.setLoopFunction(TAG, LoopInfo(60*5,::checkVin,scheduler = Schedulers.io()))
|
||||
BizLoopManager.setLoopFunction(TAG, LoopInfo(60*5, CheckVinManager::checkVin,scheduler = Schedulers.io()))
|
||||
CallerAutopilotCarConfigListenerManager.addListener(TAG,this)
|
||||
}
|
||||
|
||||
private var checkVinErrorDialog:CheckVinErrorDialog?=null
|
||||
private var checkVinErrorDialog: CheckVinErrorDialog?=null
|
||||
|
||||
override fun onAutopilotCarConfig(carConfigResp: MessagePad.CarConfigResp) {
|
||||
checkVin()
|
||||
@@ -55,7 +55,7 @@ object CheckVinManager : IMoGoAutopilotCarConfigListener {
|
||||
val topActivity = ActivityUtils.getTopActivity()
|
||||
topActivity?.let {
|
||||
UiThreadHandler.post({
|
||||
if(checkVinErrorDialog!=null&&checkVinErrorDialog!!.isShowing){
|
||||
if(checkVinErrorDialog !=null&& checkVinErrorDialog!!.isShowing){
|
||||
return@post
|
||||
}
|
||||
checkVinErrorDialog = CheckVinErrorDialog(it)
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.common.module.manager.device.data
|
||||
package com.mogo.och.bridge.device.data
|
||||
|
||||
data class AirconditionStatus(
|
||||
var isOpen: Boolean,
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.common.module.manager.device.data
|
||||
package com.mogo.och.bridge.device.data
|
||||
|
||||
data class DoorStatus(var isOpen: Boolean)
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
package com.mogo.och.common.module.manager.device.data
|
||||
package com.mogo.och.bridge.device.data
|
||||
|
||||
data class HeaterStatue(var isOpen: Boolean, var windSpeed: Int)
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.common.module.manager.device.data
|
||||
package com.mogo.och.bridge.device.data
|
||||
|
||||
data class LightStatus(
|
||||
var isOpenLight1: Boolean,
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.common.module.manager.distance
|
||||
package com.mogo.och.bridge.distance
|
||||
|
||||
data class DistanceDegree(var distance: Float, var degree: Double?, var isNext: Boolean?) :
|
||||
Comparable<DistanceDegree> {
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.common.module.manager.distance
|
||||
package com.mogo.och.bridge.distance
|
||||
|
||||
import com.mogo.eagle.core.data.map.MogoLocation
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.common.module.manager.distance
|
||||
package com.mogo.och.bridge.distance
|
||||
|
||||
import com.mogo.eagle.core.data.map.MogoLocation
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.common.module.manager.distance
|
||||
package com.mogo.och.bridge.distance
|
||||
|
||||
import com.mogo.commons.AbsMogoApplication
|
||||
import com.mogo.eagle.core.data.map.MogoLocation
|
||||
@@ -11,12 +11,12 @@ import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_
|
||||
import com.mogo.eagle.core.utilcode.util.CoordinateUtils
|
||||
import com.mogo.eagle.core.utilcode.util.LocationUtils
|
||||
import com.mogo.och.common.module.constant.OchCommonConst
|
||||
import com.mogo.och.common.module.manager.autopilot.autopilot.OchAutopilotAnalytics
|
||||
import com.mogo.och.common.module.manager.autopilot.location.OchLocationManager
|
||||
import com.mogo.och.common.module.manager.autopilot.trajectory.TrajectoryCache
|
||||
import com.mogo.och.bridge.autopilot.autopilot.OchAutopilotAnalytics
|
||||
import com.mogo.och.bridge.autopilot.location.OchLocationManager
|
||||
import com.mogo.och.bridge.autopilot.trajectory.TrajectoryCache
|
||||
import com.mogo.och.common.module.manager.loop.BizLoopManager
|
||||
import com.mogo.och.common.module.manager.loop.LoopInfo
|
||||
import com.mogo.och.common.module.utils.CoordinateCalculateRouteUtil
|
||||
import com.mogo.och.bridge.utils.CoordinateCalculateRouteUtil
|
||||
import io.reactivex.schedulers.Schedulers
|
||||
import mogo.telematics.pad.MessagePad
|
||||
import java.util.concurrent.ConcurrentHashMap
|
||||
@@ -1,25 +1,20 @@
|
||||
package com.mogo.och.common.module.wigets.autopilot
|
||||
package com.mogo.och.bridge.ui.autopilot
|
||||
|
||||
import android.animation.Animator
|
||||
import android.animation.Animator.AnimatorListener
|
||||
import android.animation.AnimatorSet
|
||||
import android.animation.ObjectAnimator
|
||||
import android.animation.ValueAnimator
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.animation.LinearInterpolator
|
||||
import androidx.annotation.DrawableRes
|
||||
import androidx.annotation.IntegerRes
|
||||
import androidx.constraintlayout.widget.ConstraintLayout
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import androidx.lifecycle.findViewTreeViewModelStoreOwner
|
||||
import com.mogo.eagle.core.utilcode.kotlin.onClick
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
|
||||
import com.mogo.och.common.module.R
|
||||
import com.mogo.och.common.module.manager.autopilot.autopilot.IOchAutopilotStatusListener
|
||||
import com.mogo.och.bridge.R
|
||||
import com.mogo.och.bridge.autopilot.autopilot.IOchAutopilotStatusListener
|
||||
import com.mogo.och.common.module.utils.BigFrameAnimatorContainer
|
||||
import com.mogo.och.common.module.utils.ResourcesUtils
|
||||
import kotlinx.android.synthetic.main.common_autopilot_view.view.aciv_autopilot_running_ani
|
||||
@@ -47,12 +42,12 @@ class AutopilotState @JvmOverloads constructor(
|
||||
private fun initView() {
|
||||
LayoutInflater.from(context).inflate(R.layout.common_autopilot_view, this, true)
|
||||
autopilotStateAnimator = BigFrameAnimatorContainer(R.array.in_auto, 31, aciv_autopilot_running_ani)
|
||||
autopilotLoadingAnimator = ObjectAnimator.ofFloat(aciv_autopilot_state, "rotation", 0f, 360f);
|
||||
autopilotLoadingAnimator = ObjectAnimator.ofFloat(aciv_autopilot_state, "rotation", 0f, 360f)
|
||||
autopilotLoadingAnimator.interpolator = LinearInterpolator()
|
||||
autopilotLoadingAnimator.repeatCount = -1 //无限循环
|
||||
autopilotLoadingAnimator.duration = 2000 //无限循环
|
||||
|
||||
autopilotChangeStateAnimator = ObjectAnimator.ofFloat(aciv_autopilot_state, "alpha", 1f, 0f,1f);
|
||||
autopilotChangeStateAnimator = ObjectAnimator.ofFloat(aciv_autopilot_state, "alpha", 1f, 0f,1f)
|
||||
autopilotChangeStateAnimator.interpolator = LinearInterpolator()
|
||||
autopilotChangeStateAnimator.duration = 300
|
||||
onClick {
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.common.module.wigets.autopilot
|
||||
package com.mogo.och.bridge.ui.autopilot
|
||||
|
||||
import androidx.lifecycle.ViewModel
|
||||
import com.mogo.eagle.core.data.config.FunctionBuildConfig
|
||||
@@ -7,10 +7,10 @@ import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager
|
||||
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
|
||||
import com.mogo.och.common.module.debug.autopilot.AutopilotStateDebug
|
||||
import com.mogo.och.common.module.debug.autopilot.IOchDebugAutopilotStatusListener
|
||||
import com.mogo.och.common.module.manager.autopilot.autopilot.IOchAutopilotStatusListener
|
||||
import com.mogo.och.common.module.manager.autopilot.autopilot.OchAutoPilotStatusListenerManager
|
||||
import com.mogo.och.common.module.manager.autopilot.line.ILineCallback
|
||||
import com.mogo.och.common.module.manager.autopilot.line.LineManager
|
||||
import com.mogo.och.bridge.autopilot.autopilot.IOchAutopilotStatusListener
|
||||
import com.mogo.och.bridge.autopilot.autopilot.OchAutoPilotStatusListenerManager
|
||||
import com.mogo.och.bridge.autopilot.line.ILineCallback
|
||||
import com.mogo.och.bridge.autopilot.line.LineManager
|
||||
import com.mogo.och.common.module.manager.beautifymode.BeautifyManager
|
||||
import com.mogo.och.common.module.manager.beautifymode.IBeautifyModeCallback
|
||||
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
|
||||
@@ -23,12 +23,12 @@ import java.util.concurrent.atomic.AtomicBoolean
|
||||
* @description BadCase录包管理页面
|
||||
* @since: 2022/12/15
|
||||
*/
|
||||
class AutopilotStateModel : ViewModel(), IOchAutopilotStatusListener, ILineCallback,
|
||||
class AutopilotStateModel : ViewModel(), IOchAutopilotStatusListener, ILineCallback,
|
||||
IOchDebugAutopilotStatusListener, IBeautifyModeCallback {
|
||||
|
||||
private val TAG = AutopilotStateModel::class.java.simpleName
|
||||
|
||||
private var viewCallback:AutopilotStateCallback?=null
|
||||
private var viewCallback: AutopilotStateCallback? = null
|
||||
|
||||
private val isPalyStartAni = AtomicBoolean(false)
|
||||
|
||||
@@ -44,39 +44,42 @@ class AutopilotStateModel : ViewModel(), IOchAutopilotStatusListener, ILineCall
|
||||
BeautifyManager.setStatusChangeListener(TAG,null)
|
||||
}
|
||||
|
||||
fun setViewCallback(viewCallback:AutopilotStateCallback){
|
||||
fun setViewCallback(viewCallback: AutopilotStateCallback) {
|
||||
this.viewCallback = viewCallback
|
||||
AutopilotStateDebug.addListener(TAG,this)
|
||||
OchAutoPilotStatusListenerManager.addListener(TAG,this)
|
||||
LineManager.addListener(TAG,this)
|
||||
AutopilotStateDebug.addListener(TAG, this)
|
||||
OchAutoPilotStatusListenerManager.addListener(TAG, this)
|
||||
LineManager.addListener(TAG, this)
|
||||
BeautifyManager.setStatusChangeListener(TAG,this)
|
||||
}
|
||||
|
||||
override fun debugStatusChange(debugStatus: Boolean) {
|
||||
super.debugStatusChange(debugStatus)
|
||||
if(debugStatus){
|
||||
if (debugStatus) {
|
||||
OchAutoPilotStatusListenerManager.removeListener(TAG)
|
||||
LineManager.removeListener(TAG)
|
||||
}else{
|
||||
OchAutoPilotStatusListenerManager.addListener(TAG,this)
|
||||
LineManager.addListener(TAG,this)
|
||||
} else {
|
||||
OchAutoPilotStatusListenerManager.addListener(TAG, this)
|
||||
LineManager.addListener(TAG, this)
|
||||
}
|
||||
}
|
||||
|
||||
override fun debugDispatchState(state: Int?) {
|
||||
super.debugDispatchState(state)
|
||||
when (state) {
|
||||
IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE-> {// 不可用 不可启动自驾
|
||||
IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE -> {// 不可用 不可启动自驾
|
||||
this.viewCallback?.autopilotDisable()
|
||||
}
|
||||
IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_ENABLE-> {
|
||||
|
||||
IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_ENABLE -> {
|
||||
this.viewCallback?.canStartAutopilot()
|
||||
}
|
||||
IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING-> {// 自驾中
|
||||
|
||||
IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING -> {// 自驾中
|
||||
this.viewCallback?.stopAutopilotAnimation()
|
||||
this.viewCallback?.inAutopilot()
|
||||
}
|
||||
IMoGoAutopilotStatusListener.STATUS_PARALLEL_DRIVING-> {// 平行驾驶中
|
||||
|
||||
IMoGoAutopilotStatusListener.STATUS_PARALLEL_DRIVING -> {// 平行驾驶中
|
||||
this.viewCallback?.stopAutopilotAnimation()
|
||||
this.viewCallback?.inRemoteDriver()
|
||||
}
|
||||
@@ -84,17 +87,17 @@ class AutopilotStateModel : ViewModel(), IOchAutopilotStatusListener, ILineCall
|
||||
}
|
||||
|
||||
override fun onAutopilotStatusResponse(state: Int) {
|
||||
OchChainLogManager.writeChainLog("自驾信息","自驾状态变化:${state}")
|
||||
OchChainLogManager.writeChainLog("自驾信息", "自驾状态变化:${state}")
|
||||
autopilotStateChange()
|
||||
}
|
||||
|
||||
override fun canStartAutopilot(canStart: Boolean) {
|
||||
OchChainLogManager.writeChainLog("自驾信息","能否启动自驾:${canStart}")
|
||||
OchChainLogManager.writeChainLog("自驾信息", "能否启动自驾:${canStart}")
|
||||
autopilotStateChange()
|
||||
}
|
||||
|
||||
override fun onFsmCanStartAutopilot(can: Boolean) {
|
||||
OchChainLogManager.writeChainLog("自驾信息","FSM能否启动自驾:${can}")
|
||||
OchChainLogManager.writeChainLog("自驾信息", "FSM能否启动自驾:${can}")
|
||||
autopilotStateChange()
|
||||
}
|
||||
|
||||
@@ -224,13 +227,13 @@ class AutopilotStateModel : ViewModel(), IOchAutopilotStatusListener, ILineCall
|
||||
}
|
||||
|
||||
fun startAutopilot() {
|
||||
OchChainLogManager.writeChainLog("自驾信息","启动自驾")
|
||||
if(AutopilotStateDebug.debugStatus){
|
||||
OchChainLogManager.writeChainLog("自驾信息", "启动自驾")
|
||||
if (AutopilotStateDebug.debugStatus) {
|
||||
sendStartAutopilotSuccess()
|
||||
RxUtils.createSubscribe(5_000) {
|
||||
startAutopilotFail()
|
||||
}
|
||||
}else {
|
||||
} else {
|
||||
LineManager.startAutopilot()
|
||||
}
|
||||
}
|
||||
@@ -247,19 +250,22 @@ class AutopilotStateModel : ViewModel(), IOchAutopilotStatusListener, ILineCall
|
||||
}
|
||||
|
||||
override fun startAutopilotTimeOut() {
|
||||
OchChainLogManager.writeChainLog("自驾信息","启动自驾超时失败")
|
||||
if(OchAutoPilotStatusListenerManager.autopilotState == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING){
|
||||
OchChainLogManager.writeChainLog("自驾信息", "启动自驾超时失败")
|
||||
if (OchAutoPilotStatusListenerManager.autopilotState == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING) {
|
||||
autopilotStateChange()
|
||||
}else {
|
||||
} else {
|
||||
startAutopilotFail()
|
||||
}
|
||||
}
|
||||
|
||||
override fun startAutopilotFailure(startFailedCode: String?, startFailedMessage: String?) {
|
||||
OchChainLogManager.writeChainLog("自驾信息","底盘强制失败原因:${startFailedCode}_${startFailedMessage}")
|
||||
if(OchAutoPilotStatusListenerManager.autopilotState == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING){
|
||||
OchChainLogManager.writeChainLog(
|
||||
"自驾信息",
|
||||
"底盘强制失败原因:${startFailedCode}_${startFailedMessage}"
|
||||
)
|
||||
if (OchAutoPilotStatusListenerManager.autopilotState == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING) {
|
||||
autopilotStateChange()
|
||||
}else {
|
||||
} else {
|
||||
startAutopilotFail()
|
||||
}
|
||||
}
|
||||
@@ -277,27 +283,32 @@ class AutopilotStateModel : ViewModel(), IOchAutopilotStatusListener, ILineCall
|
||||
this.isPalyStartAni.set(false)
|
||||
UiThreadHandler.postDelayed({
|
||||
autopilotStateChange()
|
||||
},3000,UiThreadHandler.MODE.QUEUE)
|
||||
}, 3000, UiThreadHandler.MODE.QUEUE)
|
||||
}
|
||||
}
|
||||
|
||||
interface AutopilotStateCallback{
|
||||
interface AutopilotStateCallback {
|
||||
//开始动画
|
||||
fun startAutopilotAnimation()
|
||||
|
||||
//结束动画
|
||||
fun stopAutopilotAnimation()
|
||||
|
||||
// 进入自动驾驶
|
||||
fun inAutopilot()
|
||||
|
||||
// 自动驾驶不可用
|
||||
fun autopilotDisable()
|
||||
|
||||
// 可用启动自驾
|
||||
fun canStartAutopilot()
|
||||
|
||||
// 进入平行驾驶
|
||||
fun inRemoteDriver()
|
||||
|
||||
// 启动自驾成功
|
||||
fun startAutopilotSuccess()
|
||||
|
||||
// 启动自驾失败
|
||||
fun startAutopilotFail()
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.common.module.wigets.map.drawline
|
||||
package com.mogo.och.bridge.ui.drawline
|
||||
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
@@ -8,8 +8,8 @@ import androidx.lifecycle.ViewModelProvider
|
||||
import androidx.lifecycle.findViewTreeViewModelStoreOwner
|
||||
import com.mogo.eagle.core.utilcode.kotlin.onClick
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
import com.mogo.och.common.module.R
|
||||
import com.mogo.och.common.module.manager.autopilot.line.LineManager
|
||||
import com.mogo.och.bridge.R
|
||||
import com.mogo.och.bridge.autopilot.line.LineManager
|
||||
import com.mogo.och.common.module.utils.ResourcesUtils
|
||||
import kotlinx.android.synthetic.main.common_line_view.view.iv_toolkit_item_head
|
||||
import kotlinx.android.synthetic.main.common_line_view.view.iv_toolkit_item_title
|
||||
@@ -1,10 +1,10 @@
|
||||
package com.mogo.och.common.module.wigets.map.drawline
|
||||
package com.mogo.och.bridge.ui.drawline
|
||||
|
||||
import androidx.annotation.DrawableRes
|
||||
import androidx.lifecycle.ViewModel
|
||||
import com.mogo.och.common.module.R
|
||||
import com.mogo.och.common.module.manager.autopilot.line.ILineCallback
|
||||
import com.mogo.och.common.module.manager.autopilot.line.LineManager
|
||||
import com.mogo.och.bridge.autopilot.line.ILineCallback
|
||||
import com.mogo.och.bridge.autopilot.line.LineManager
|
||||
|
||||
class LineViewModel : ViewModel(), ILineCallback {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.common.module.wigets.mapdirectionview;
|
||||
package com.mogo.och.bridge.ui.mapdirectionview;
|
||||
|
||||
/**
|
||||
* @author xiaoyuzhou
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.common.module.wigets.mapdirectionview
|
||||
package com.mogo.och.bridge.ui.mapdirectionview
|
||||
|
||||
import android.content.Context
|
||||
import android.os.Bundle
|
||||
@@ -28,7 +28,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
|
||||
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
|
||||
import com.mogo.och.common.module.R
|
||||
import com.mogo.och.common.module.manager.autopilot.location.OchLocationManager
|
||||
import com.mogo.och.bridge.autopilot.location.OchLocationManager
|
||||
import com.mogo.och.shuttle.passenger.ui.mapdirectionview.MapDirectionViewModel
|
||||
import me.jessyan.autosize.utils.AutoSizeUtils
|
||||
|
||||
@@ -4,8 +4,8 @@ import androidx.lifecycle.ViewModel
|
||||
import com.amap.api.maps.model.LatLng
|
||||
import com.mogo.eagle.core.data.map.MogoLocation
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.och.common.module.manager.distance.ITrajectoryListener
|
||||
import com.mogo.och.common.module.manager.distance.TrajectoryAndDistanceManager
|
||||
import com.mogo.och.bridge.distance.ITrajectoryListener
|
||||
import com.mogo.och.bridge.distance.TrajectoryAndDistanceManager
|
||||
|
||||
class MapDirectionViewModel: ViewModel(), ITrajectoryListener {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.common.module.utils
|
||||
package com.mogo.och.bridge.utils
|
||||
|
||||
import android.content.Context
|
||||
import android.location.Location
|
||||
@@ -9,7 +9,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.Logger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
|
||||
import com.mogo.eagle.core.utilcode.util.CoordinateUtils
|
||||
import com.mogo.eagle.core.utilcode.util.DrivingDirectionUtils
|
||||
import com.mogo.och.common.module.manager.distance.DistanceDegree
|
||||
import com.mogo.och.bridge.distance.DistanceDegree
|
||||
import mogo.telematics.pad.MessagePad
|
||||
import java.util.TreeMap
|
||||
import kotlin.math.acos
|
||||
@@ -752,8 +752,8 @@ object CoordinateCalculateRouteUtil {
|
||||
|
||||
// 最近点中包含上次计算的点和上次计算的最近的一个点
|
||||
if(distanceMap.containsValue(preIndex)&&distanceMap.containsValue(preIndex+1)&&type==1){
|
||||
var preIndexDistance:DistanceDegree?=null
|
||||
var preIndexNextDistance:DistanceDegree?=null
|
||||
var preIndexDistance: com.mogo.och.bridge.distance.DistanceDegree?=null
|
||||
var preIndexNextDistance: com.mogo.och.bridge.distance.DistanceDegree?=null
|
||||
distanceMap.iterator().forEach { en ->
|
||||
val key = en.key
|
||||
val value = en.value
|
||||
File diff suppressed because one or more lines are too long
@@ -73,7 +73,6 @@ dependencies {
|
||||
implementation rootProject.ext.dependencies.litezxing
|
||||
|
||||
api rootProject.ext.dependencies.flexbox
|
||||
api project(":OCH:common:data")
|
||||
api rootProject.ext.dependencies.lottie
|
||||
|
||||
if (Boolean.valueOf(USE_MAVEN_PACKAGE)) {
|
||||
|
||||
@@ -33,8 +33,9 @@ import com.mogo.eagle.core.utilcode.util.ActivityUtils
|
||||
import com.mogo.eagle.core.utilcode.util.GsonUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ThreadUtils
|
||||
import com.mogo.och.common.module.debug.location.MogoLocationExit
|
||||
import com.mogo.och.common.module.manager.distance.TrajectoryAndDistanceManager
|
||||
import com.mogo.och.common.module.utils.CoordinateCalculateRouteUtil
|
||||
//import com.mogo.och.bridge.distance.TrajectoryAndDistanceManager
|
||||
//import com.mogo.och.bridge.utils.CoordinateCalculateRouteUtil
|
||||
//import com.mogo.och.bridge.utils.CoordinateCalculateRouteUtil
|
||||
import com.mogo.och.common.module.view.DebugFloatWindow
|
||||
import com.zhjt.mogo.adas.data.bean.AutopilotStatistics
|
||||
import mogo.telematics.pad.MessagePad
|
||||
@@ -214,16 +215,16 @@ object DebugDataDispatch {
|
||||
}
|
||||
|
||||
fun setStation(startLon:Double,startLat:Double,endLon:Double,endLat:Double,lineID:Long){
|
||||
if(startLon<0||startLat<0||endLon<0||endLat<0||lineID<0){
|
||||
TrajectoryAndDistanceManager.setStationPoint(null,null,-1)
|
||||
}
|
||||
val startLocation = MogoLocation()
|
||||
startLocation.longitude = startLon
|
||||
startLocation.latitude = startLat
|
||||
val endLocation = MogoLocation()
|
||||
endLocation.longitude = endLon
|
||||
endLocation.latitude = endLat
|
||||
TrajectoryAndDistanceManager.setStationPoint(startLocation,endLocation,lineID)
|
||||
// if(startLon<0||startLat<0||endLon<0||endLat<0||lineID<0){
|
||||
// TrajectoryAndDistanceManager.setStationPoint(null,null,-1)
|
||||
// }
|
||||
// val startLocation = MogoLocation()
|
||||
// startLocation.longitude = startLon
|
||||
// startLocation.latitude = startLat
|
||||
// val endLocation = MogoLocation()
|
||||
// endLocation.longitude = endLon
|
||||
// endLocation.latitude = endLat
|
||||
// TrajectoryAndDistanceManager.setStationPoint(startLocation,endLocation,lineID)
|
||||
}
|
||||
|
||||
fun getLocaitonByLog(path:String) {
|
||||
@@ -290,11 +291,11 @@ object DebugDataDispatch {
|
||||
val mogoSecondLocation = MogoLocation()
|
||||
mogoSecondLocation.latitude = list[1].latitude
|
||||
mogoSecondLocation.longitude = list[1].longitude
|
||||
val angle = CoordinateCalculateRouteUtil.getHeadingAngle(
|
||||
mogoLocation,
|
||||
mogoSecondLocation
|
||||
)
|
||||
mogoLocation.heading = angle
|
||||
// val angle = CoordinateCalculateRouteUtil.getHeadingAngle(
|
||||
// mogoLocation,
|
||||
// mogoSecondLocation
|
||||
// )
|
||||
// mogoLocation.heading = angle
|
||||
|
||||
CallerChassisLocationGCJ02ListenerManager.invokeChassisLocationGCJ02(
|
||||
mogoLocation,
|
||||
|
||||
@@ -3,10 +3,10 @@ package com.mogo.och.common.module.biz.lansocket
|
||||
import com.mogo.eagle.core.function.api.telematic.IReceivedMsgListener
|
||||
import com.mogo.eagle.core.function.call.telematic.CallerTelematicListenerManager
|
||||
import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager
|
||||
import com.mogo.eagle.core.utilcode.mogo.Product
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.Logger
|
||||
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
|
||||
import com.mogo.och.common.module.biz.login.BusinessEnum
|
||||
import com.mogo.och.common.module.biz.login.LoginStatusEnum
|
||||
import com.mogo.och.common.module.biz.login.LoginStatusManager
|
||||
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
|
||||
@@ -126,15 +126,16 @@ object LoginLanPassengerSocket : IReceivedMsgListener, CallerBase<IOchLanPasseng
|
||||
status.append("切换业务模式<当前:${LoginStatusManager.getBusInessType().name}")
|
||||
when (first.businessType) {
|
||||
BusinessType.none -> {
|
||||
LoginStatusManager.setBusinessType(BusinessEnum.None.code)
|
||||
LoginStatusManager.setBusinessType(Product.NONE.code)
|
||||
CallerLogger.d(TAG, "乘客屏 收到消息 司机屏没有登录:${LoginStatusEnum.Logout}")
|
||||
return LoginStatusManager.setLoginStatus(LoginStatusEnum.Logout)
|
||||
}
|
||||
BusinessType.bus -> LoginStatusManager.setBusinessType(BusinessEnum.Bus.code)
|
||||
BusinessType.shuttle -> LoginStatusManager.setBusinessType(BusinessEnum.Shuttle.code)
|
||||
BusinessType.charter -> LoginStatusManager.setBusinessType(BusinessEnum.Charter.code)
|
||||
BusinessType.taxi -> LoginStatusManager.setBusinessType(BusinessEnum.Taxi.code)
|
||||
BusinessType.taxiunmanned ->LoginStatusManager.setBusinessType(BusinessEnum.Taxi.code)
|
||||
BusinessType.bus -> LoginStatusManager.setBusinessType(Product.BUS.code)
|
||||
BusinessType.shuttle -> LoginStatusManager.setBusinessType(Product.SHUTTLE.code)
|
||||
BusinessType.charter -> LoginStatusManager.setBusinessType(Product.CHARTER.code)
|
||||
BusinessType.taxi -> LoginStatusManager.setBusinessType(Product.TAXI.code)
|
||||
BusinessType.taxiunmanned ->LoginStatusManager.setBusinessType(Product.TAXI.code)
|
||||
BusinessType.scheduled ->LoginStatusManager.setBusinessType(Product.SCHEDULED.code)
|
||||
}
|
||||
status.append(", 切换后:${LoginStatusManager.getBusInessType().name}>")
|
||||
LoginStatusManager.changeStatus(status.toString())
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
package com.mogo.och.common.module.biz.login
|
||||
|
||||
/**
|
||||
* Created on 2022/08/19
|
||||
*
|
||||
*
|
||||
* 0 初始状态,
|
||||
* 10 已登录,
|
||||
* 20 已登出,
|
||||
*/
|
||||
enum class BusinessEnum(val code: Int) {
|
||||
None( 0 ),
|
||||
Taxi( 9),
|
||||
Bus( 10),
|
||||
Shuttle( 11),
|
||||
Charter( 13),;
|
||||
|
||||
companion object {
|
||||
@JvmStatic
|
||||
fun valueOf(code: Int): BusinessEnum {
|
||||
for (value in values()) {
|
||||
if (value.code == code) {
|
||||
return value
|
||||
}
|
||||
}
|
||||
return None
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.mogo.och.common.module.biz.login;
|
||||
|
||||
import com.mogo.eagle.core.data.enums.Carmodel;
|
||||
import com.mogo.eagle.core.utilcode.mogo.Product;
|
||||
|
||||
public interface ILoginCallback {
|
||||
|
||||
@@ -8,11 +9,11 @@ public interface ILoginCallback {
|
||||
|
||||
default void onCarModelChange(Carmodel currentStatus){}
|
||||
|
||||
default void onBusinessChange(BusinessEnum businessEnum){}
|
||||
default void onBusinessChange(Product businessEnum){}
|
||||
|
||||
default void onOpenOrderStatusEnumChange(OpenOrderStatusEnum businessEnum){}
|
||||
|
||||
default void onBusinessChangeDebug(BusinessEnum businessEnum){}
|
||||
default void onBusinessChangeDebug(Product businessEnum){}
|
||||
|
||||
default void onLoginErrorInfo(int code,String msg){}
|
||||
|
||||
|
||||
@@ -11,8 +11,13 @@ public class LoginInfo {
|
||||
private String sn;
|
||||
private String plateNumber;//车牌号
|
||||
private String phone;//手机号
|
||||
private Integer lineId;//线路id
|
||||
private Integer taskId;//任务id
|
||||
private Long lineId;//线路id
|
||||
private Long taskId;//任务id
|
||||
private Long siteId;//站点id 包车使用
|
||||
private Long currentSite;//当前站点 接驳、公交、班车使用
|
||||
private Boolean leaving;// 当前站点是否出发
|
||||
private Long shiftsId;//模板id
|
||||
private Long taskDate;// 任务或模板的日期
|
||||
private String vin;//车辆唯一识别码
|
||||
private String cityCode;//城市编码
|
||||
private String brand;//东风
|
||||
@@ -24,6 +29,8 @@ public class LoginInfo {
|
||||
private long tenantId;//租户id:
|
||||
private long driverId;
|
||||
|
||||
private long businessStatus;//?????
|
||||
|
||||
public int getDriverStatus() {
|
||||
return driverStatus;
|
||||
}
|
||||
@@ -72,22 +79,6 @@ public class LoginInfo {
|
||||
this.phone = phone;
|
||||
}
|
||||
|
||||
public Integer getLineId() {
|
||||
return lineId;
|
||||
}
|
||||
|
||||
public void setLineId(Integer lineId) {
|
||||
this.lineId = lineId;
|
||||
}
|
||||
|
||||
public Integer getTaskId() {
|
||||
return taskId;
|
||||
}
|
||||
|
||||
public void setTaskId(Integer taskId) {
|
||||
this.taskId = taskId;
|
||||
}
|
||||
|
||||
public int getServingStatus() {
|
||||
return servingStatus;
|
||||
}
|
||||
@@ -160,6 +151,73 @@ public class LoginInfo {
|
||||
this.driverId = driverId;
|
||||
}
|
||||
|
||||
|
||||
public long getBusinessStatus() {
|
||||
return businessStatus;
|
||||
}
|
||||
|
||||
public void setBusinessStatus(long businessStatus) {
|
||||
this.businessStatus = businessStatus;
|
||||
}
|
||||
|
||||
public Long getCurrentSite() {
|
||||
return currentSite;
|
||||
}
|
||||
|
||||
public void setCurrentSite(Long currentSite) {
|
||||
this.currentSite = currentSite;
|
||||
}
|
||||
|
||||
public Boolean getLeaving() {
|
||||
return leaving;
|
||||
}
|
||||
|
||||
public void setLeaving(Boolean leaving) {
|
||||
this.leaving = leaving;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public Long getTaskDate() {
|
||||
return taskDate;
|
||||
}
|
||||
|
||||
public void setTaskDate(Long taskDate) {
|
||||
this.taskDate = taskDate;
|
||||
}
|
||||
|
||||
public Long getLineId() {
|
||||
return lineId;
|
||||
}
|
||||
|
||||
public void setLineId(Long lineId) {
|
||||
this.lineId = lineId;
|
||||
}
|
||||
|
||||
public Long getTaskId() {
|
||||
return taskId;
|
||||
}
|
||||
|
||||
public void setTaskId(Long taskId) {
|
||||
this.taskId = taskId;
|
||||
}
|
||||
|
||||
public Long getSiteId() {
|
||||
return siteId;
|
||||
}
|
||||
|
||||
public void setSiteId(Long siteId) {
|
||||
this.siteId = siteId;
|
||||
}
|
||||
|
||||
public Long getShiftsId() {
|
||||
return shiftsId;
|
||||
}
|
||||
|
||||
public void setShiftsId(Long shiftsId) {
|
||||
this.shiftsId = shiftsId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "LoginInfo{" +
|
||||
@@ -173,6 +231,7 @@ public class LoginInfo {
|
||||
", phone='" + phone + '\'' +
|
||||
", lineId=" + lineId +
|
||||
", taskId=" + taskId +
|
||||
", siteId=" + siteId +
|
||||
", vin='" + vin + '\'' +
|
||||
", cityCode='" + cityCode + '\'' +
|
||||
", brand='" + brand + '\'' +
|
||||
@@ -180,6 +239,7 @@ public class LoginInfo {
|
||||
", photos='" + photos + '\'' +
|
||||
", tenantId=" + tenantId +
|
||||
", driverId=" + driverId +
|
||||
", businessStatus=" + businessStatus +
|
||||
'}';
|
||||
}
|
||||
|
||||
@@ -189,30 +249,7 @@ public class LoginInfo {
|
||||
if (o == null || getClass() != o.getClass()) return false;
|
||||
|
||||
LoginInfo loginInfo = (LoginInfo) o;
|
||||
|
||||
if (driverStatus != loginInfo.driverStatus) return false;
|
||||
if (servingStatus != loginInfo.servingStatus) return false;
|
||||
if (businessType != loginInfo.businessType) return false;
|
||||
if (purpose != loginInfo.purpose) return false;
|
||||
if (tenantId != loginInfo.tenantId) return false;
|
||||
if (driverId != loginInfo.driverId) return false;
|
||||
if (!Objects.equals(orderNo, loginInfo.orderNo))
|
||||
return false;
|
||||
if (!Objects.equals(sn, loginInfo.sn)) return false;
|
||||
if (!Objects.equals(plateNumber, loginInfo.plateNumber))
|
||||
return false;
|
||||
if (!Objects.equals(phone, loginInfo.phone)) return false;
|
||||
if (!Objects.equals(lineId, loginInfo.lineId))
|
||||
return false;
|
||||
if (!Objects.equals(taskId, loginInfo.taskId))
|
||||
return false;
|
||||
if (!Objects.equals(vin, loginInfo.vin)) return false;
|
||||
if (!Objects.equals(cityCode, loginInfo.cityCode))
|
||||
return false;
|
||||
if (!Objects.equals(brand, loginInfo.brand)) return false;
|
||||
if (!Objects.equals(carModel, loginInfo.carModel))
|
||||
return false;
|
||||
return Objects.equals(photos, loginInfo.photos);
|
||||
return driverStatus == loginInfo.driverStatus && servingStatus == loginInfo.servingStatus && businessType == loginInfo.businessType && purpose == loginInfo.purpose && tenantId == loginInfo.tenantId && driverId == loginInfo.driverId && businessStatus == loginInfo.businessStatus && Objects.equals(orderNo, loginInfo.orderNo) && Objects.equals(sn, loginInfo.sn) && Objects.equals(plateNumber, loginInfo.plateNumber) && Objects.equals(phone, loginInfo.phone) && Objects.equals(lineId, loginInfo.lineId) && Objects.equals(taskId, loginInfo.taskId) && Objects.equals(siteId, loginInfo.siteId) && Objects.equals(vin, loginInfo.vin) && Objects.equals(cityCode, loginInfo.cityCode) && Objects.equals(brand, loginInfo.brand) && Objects.equals(carModel, loginInfo.carModel) && Objects.equals(photos, loginInfo.photos);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -220,20 +257,22 @@ public class LoginInfo {
|
||||
int result = driverStatus;
|
||||
result = 31 * result + servingStatus;
|
||||
result = 31 * result + businessType;
|
||||
result = 31 * result + (int)tenantId;
|
||||
result = 31 * result + (int)driverId;
|
||||
result = 31 * result + (orderNo != null ? orderNo.hashCode() : 0);
|
||||
result = 31 * result + Objects.hashCode(orderNo);
|
||||
result = 31 * result + purpose;
|
||||
result = 31 * result + (sn != null ? sn.hashCode() : 0);
|
||||
result = 31 * result + (plateNumber != null ? plateNumber.hashCode() : 0);
|
||||
result = 31 * result + (phone != null ? phone.hashCode() : 0);
|
||||
result = 31 * result + (lineId != null ? lineId.hashCode() : 0);
|
||||
result = 31 * result + (taskId != null ? taskId.hashCode() : 0);
|
||||
result = 31 * result + (vin != null ? vin.hashCode() : 0);
|
||||
result = 31 * result + (cityCode != null ? cityCode.hashCode() : 0);
|
||||
result = 31 * result + (brand != null ? brand.hashCode() : 0);
|
||||
result = 31 * result + (carModel != null ? carModel.hashCode() : 0);
|
||||
result = 31 * result + (photos != null ? photos.hashCode() : 0);
|
||||
result = 31 * result + Objects.hashCode(sn);
|
||||
result = 31 * result + Objects.hashCode(plateNumber);
|
||||
result = 31 * result + Objects.hashCode(phone);
|
||||
result = 31 * result + Objects.hashCode(lineId);
|
||||
result = 31 * result + Objects.hashCode(taskId);
|
||||
result = 31 * result + Objects.hashCode(siteId);
|
||||
result = 31 * result + Objects.hashCode(vin);
|
||||
result = 31 * result + Objects.hashCode(cityCode);
|
||||
result = 31 * result + Objects.hashCode(brand);
|
||||
result = 31 * result + Objects.hashCode(carModel);
|
||||
result = 31 * result + Objects.hashCode(photos);
|
||||
result = 31 * result + Long.hashCode(tenantId);
|
||||
result = 31 * result + Long.hashCode(driverId);
|
||||
result = 31 * result + Long.hashCode(businessStatus);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.mogo.och.common.module.biz.login
|
||||
|
||||
import com.mogo.eagle.core.data.enums.Carmodel
|
||||
import com.mogo.eagle.core.utilcode.mogo.Product
|
||||
import com.mogo.och.common.module.biz.provider.CommonService
|
||||
import com.mogo.och.common.module.manager.socket.lan.bean.BusinessType
|
||||
import com.mogo.och.common.module.manager.socket.lan.bean.EnvType
|
||||
@@ -20,7 +21,7 @@ interface LoginService :CommonService {
|
||||
fun setLoginStatus(status: Int)
|
||||
fun setBusinessType(type: Int)
|
||||
|
||||
fun getBusinessType():BusinessEnum
|
||||
fun getBusinessType(): Product
|
||||
|
||||
fun queryLoginStatusByNet(readCatche:Boolean=false)
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ import androidx.fragment.app.Fragment
|
||||
import com.alibaba.android.arouter.launcher.ARouter
|
||||
import com.mogo.eagle.core.data.config.FunctionBuildConfig
|
||||
import com.mogo.eagle.core.data.enums.Carmodel
|
||||
import com.mogo.eagle.core.utilcode.mogo.Product
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.och.common.module.constant.OchCommonConst
|
||||
import com.mogo.och.common.module.manager.loop.BizLoopManager
|
||||
@@ -74,11 +75,11 @@ object LoginStatusManager : CallerBase<ILoginCallback>() {
|
||||
loginService?.setBusinessType(type)
|
||||
}
|
||||
|
||||
fun getBusInessType():BusinessEnum{
|
||||
fun getBusInessType():Product{
|
||||
loginService?.let {
|
||||
return it.getBusinessType()
|
||||
}
|
||||
return BusinessEnum.None
|
||||
return Product.NONE
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
@@ -153,13 +154,13 @@ object LoginStatusManager : CallerBase<ILoginCallback>() {
|
||||
}
|
||||
}
|
||||
|
||||
fun invokeLBusinessTypeChange(currentStatus: BusinessEnum) {
|
||||
fun invokeLBusinessTypeChange(currentStatus: Product) {
|
||||
M_LISTENERS.forEach {
|
||||
val listener = it.value
|
||||
listener.onBusinessChange(currentStatus)
|
||||
}
|
||||
}
|
||||
fun invokeLBusinessTypeChangeDebug(currentStatus: BusinessEnum) {
|
||||
fun invokeLBusinessTypeChangeDebug(currentStatus: Product) {
|
||||
M_LISTENERS.forEach {
|
||||
val listener = it.value
|
||||
listener.onBusinessChangeDebug(currentStatus)
|
||||
|
||||
@@ -4,7 +4,6 @@ import android.content.Context
|
||||
import android.view.View
|
||||
import androidx.fragment.app.Fragment
|
||||
import com.alibaba.android.arouter.facade.template.IProvider
|
||||
import com.mogo.och.common.module.wigets.autopilot.AutopilotState
|
||||
|
||||
interface CommonService : IProvider {
|
||||
|
||||
@@ -20,10 +19,6 @@ interface CommonService : IProvider {
|
||||
|
||||
fun createOchBindQRCodeView(context: Context?):View?{return null}
|
||||
|
||||
fun createStartAutopilotView(context: Context?):View?{
|
||||
return context?.let {
|
||||
AutopilotState(it)
|
||||
}
|
||||
}
|
||||
fun createStartAutopilotView(context: Context?):View?{return null}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package com.mogo.och.common.module.exception;
|
||||
|
||||
public class InitException extends RuntimeException {
|
||||
public InitException(String detailMessage) {
|
||||
super(detailMessage);
|
||||
}
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
package com.mogo.och.common.module.manager.autopilot.autopilot.bean
|
||||
|
||||
data class SessionWithTime(val sessionId:Long,val setTime:Long)
|
||||
@@ -1,15 +0,0 @@
|
||||
package com.mogo.och.common.module.manager.autopilot.trajectory
|
||||
|
||||
import com.mogo.eagle.core.data.map.MogoLocation
|
||||
|
||||
interface ITrajectoryListListener{
|
||||
/**
|
||||
* @param routeArrivied 已经走过的坐标
|
||||
* @param routeArriving 没有走过的坐标
|
||||
* @param location 车的坐标
|
||||
* @return
|
||||
*/
|
||||
fun trajectoryCallback(
|
||||
trajectoryList: MutableList<MogoLocation>,
|
||||
)
|
||||
}
|
||||
6
OCH/common/common/src/main/java/com/mogo/och/common/module/manager/cache/ISpCallback.java
vendored
Normal file
6
OCH/common/common/src/main/java/com/mogo/och/common/module/manager/cache/ISpCallback.java
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
package com.mogo.och.common.module.manager.cache;
|
||||
|
||||
|
||||
public interface ISpCallback {
|
||||
default void snChange(){}
|
||||
}
|
||||
@@ -1,8 +1,32 @@
|
||||
package com.mogo.och.common.module.manager.cache
|
||||
|
||||
import com.mogo.commons.storage.SharedPrefsMgr
|
||||
import com.mogo.eagle.core.function.api.cloud.IMoGoCloudListener
|
||||
import com.mogo.eagle.core.function.call.cloud.CallerCloudListenerManager
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_OCHCOMMON
|
||||
import com.mogo.och.common.module.utils.CallerBase
|
||||
import kotlin.properties.Delegates
|
||||
|
||||
object OchSPManager {
|
||||
object OchSPManager : IMoGoCloudListener, CallerBase<ISpCallback>() {
|
||||
|
||||
const val TAG = "${M_OCHCOMMON}OchSPManager"
|
||||
|
||||
private var ochSN: String by Delegates.observable("") { _, oldValue, newValue ->
|
||||
if (oldValue != newValue) {
|
||||
M_LISTENERS.forEach {
|
||||
it.value.snChange()
|
||||
}
|
||||
}
|
||||
}
|
||||
private var ochToken:String by Delegates.observable("") { _, oldValue, newValue ->
|
||||
if (oldValue != newValue) {
|
||||
}
|
||||
}
|
||||
|
||||
init {
|
||||
CallerCloudListenerManager.addListener(TAG,this)
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun getSn(): String? {
|
||||
@@ -22,4 +46,18 @@ object OchSPManager {
|
||||
return SharedPrefsMgr.getInstance().getString(key,default)
|
||||
}
|
||||
|
||||
override fun tokenGot(token: String, sn: String) {
|
||||
CallerLogger.d(TAG,"获取token和sn:$sn")
|
||||
this.ochSN = sn
|
||||
this.ochToken = token
|
||||
}
|
||||
|
||||
override fun doSomeAfterAddListener(tag: String, listener: ISpCallback) {
|
||||
super.doSomeAfterAddListener(tag, listener)
|
||||
if(ochSN.isNotEmpty()){
|
||||
M_LISTENERS.forEach {
|
||||
it.value.snChange()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -64,6 +64,10 @@ object OchChainLogManager {
|
||||
|
||||
const val EVENT_KEY_INFO_MAP = "analytics_event_och_map"
|
||||
|
||||
// 轨迹方面的日志
|
||||
fun writeChainLogTrajectory(title: String, info: String) {
|
||||
writeChainLog(title, info, true, EVENT_KEY_INFE_WITH_TRAJECTORY)
|
||||
}
|
||||
|
||||
fun writeChainLogMap(title: String, info: String) {
|
||||
writeChainLog(title, info, true, EVENT_KEY_INFO_MAP)
|
||||
@@ -72,9 +76,11 @@ object OchChainLogManager {
|
||||
fun writeChainLogDb(title: String, info: String) {
|
||||
writeChainLog(title, info, true, EVENT_KEY_INFO_DB)
|
||||
}
|
||||
|
||||
fun writeChainLogBluetooth(title: String, info: String) {
|
||||
writeChainLog(title, info, true, EVENT_KEY_INFO_BLUETOOTH)
|
||||
}
|
||||
|
||||
fun writeChainLogWriteOff(title: String, info: String) {
|
||||
writeChainLog(title, info, true, EVENT_KEY_INFO_WRITEOFF)
|
||||
}
|
||||
|
||||
@@ -230,7 +230,6 @@ object ScannerManager : IOchLanPassengerStatusListener {
|
||||
}
|
||||
|
||||
override fun onDriverConnectChangeListener(isConnect: Boolean) {
|
||||
super.onDriverConnectChangeListener(isConnect)
|
||||
if (isConnect) {
|
||||
sendScannerState()
|
||||
}
|
||||
|
||||
@@ -82,7 +82,8 @@ data class WriteOffDetialMsg(
|
||||
val phone: String?=null,// 手机号码
|
||||
val ticketSize: Int?=null,// 票上几个人
|
||||
val ticketName: String?=null,// 票的名称
|
||||
val typeBiz: String?=null,//bus shuttle
|
||||
val typeBiz: Int?=null,//
|
||||
val shiftsId:Long?=null,// 班车 任务id
|
||||
val pipe:String?=null,// 渠道ehsafety mogogosafety
|
||||
val startStationId:Long?=null,// 开始站点名称
|
||||
val tenantId:Long?=null// 租户id
|
||||
@@ -145,7 +146,8 @@ enum class BusinessType {
|
||||
shuttle,
|
||||
charter,
|
||||
taxi,
|
||||
taxiunmanned
|
||||
taxiunmanned,
|
||||
scheduled,
|
||||
}
|
||||
|
||||
enum class ProjectType {
|
||||
|
||||
@@ -6,8 +6,8 @@ import com.mogo.commons.env.ProjectUtils
|
||||
import com.mogo.commons.storage.SharedPrefsMgr
|
||||
import com.mogo.eagle.core.data.config.FunctionBuildConfig
|
||||
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
|
||||
import com.mogo.eagle.core.utilcode.mogo.Product
|
||||
import com.mogo.eagle.core.utilcode.util.AppUtils
|
||||
import com.mogo.och.common.module.biz.login.BusinessEnum
|
||||
import com.mogo.och.common.module.manager.socket.lan.bean.BusinessType
|
||||
import com.mogo.och.common.module.manager.socket.lan.bean.EnvType
|
||||
import com.mogo.och.common.module.manager.socket.lan.bean.ProjectType
|
||||
@@ -21,8 +21,8 @@ object FlavorUtils {
|
||||
var projectType: ProjectType? = null
|
||||
var envType: EnvType? = null
|
||||
|
||||
|
||||
fun getInfo():String{
|
||||
|
||||
fun getInfo(): String {
|
||||
val info = StringBuilder()
|
||||
|
||||
when (ProjectUtils.getProjectType()) {
|
||||
@@ -61,9 +61,9 @@ object FlavorUtils {
|
||||
info.append(" qa ")
|
||||
}
|
||||
}
|
||||
if(AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)){
|
||||
if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) {
|
||||
info.append(" Driver")
|
||||
}else if(AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)){
|
||||
} else if (AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)) {
|
||||
info.append(" Passenger")
|
||||
}
|
||||
|
||||
@@ -72,33 +72,40 @@ object FlavorUtils {
|
||||
return info.toString()
|
||||
}
|
||||
|
||||
fun getBusinessInfo(businessType: Int):String {
|
||||
val businessEnum = BusinessEnum.valueOf(businessType)
|
||||
fun getBusinessInfo(businessType: Int): String {
|
||||
val businessEnum = Product.valueOf(businessType)
|
||||
FunctionBuildConfig.supportBusiness.forEach {
|
||||
when (it) {
|
||||
"shuttle" -> {
|
||||
val isSupply = businessEnum == BusinessEnum.Shuttle
|
||||
val isSupply = businessEnum == Product.SHUTTLE
|
||||
if (isSupply) {
|
||||
return ""
|
||||
}
|
||||
}
|
||||
|
||||
"bus" -> {
|
||||
val isSupply = businessEnum == BusinessEnum.Bus
|
||||
val isSupply = businessEnum == Product.BUS
|
||||
if (isSupply) {
|
||||
return ""
|
||||
}
|
||||
}
|
||||
|
||||
"taxi" -> {
|
||||
val isSupply = businessEnum == BusinessEnum.Taxi
|
||||
val isSupply = businessEnum == Product.TAXI
|
||||
if (isSupply) {
|
||||
return ""
|
||||
}
|
||||
}
|
||||
|
||||
"charter" -> {
|
||||
val isSupply = businessEnum == BusinessEnum.Charter
|
||||
val isSupply = businessEnum == Product.CHARTER
|
||||
if (isSupply) {
|
||||
return ""
|
||||
}
|
||||
}
|
||||
|
||||
"scheduled" -> {
|
||||
val isSupply = businessEnum == Product.SCHEDULED
|
||||
if (isSupply) {
|
||||
return ""
|
||||
}
|
||||
@@ -110,17 +117,18 @@ object FlavorUtils {
|
||||
val reason = StringBuilder()
|
||||
reason.append("业务异常<当前支持:")
|
||||
FunctionBuildConfig.supportBusiness.forEachIndexed { index, s ->
|
||||
if(index==FunctionBuildConfig.supportBusiness.size-1){
|
||||
if (index == FunctionBuildConfig.supportBusiness.size - 1) {
|
||||
reason.append(s)
|
||||
}else{
|
||||
} else {
|
||||
reason.append("${s},")
|
||||
}
|
||||
}
|
||||
when (businessEnum) {
|
||||
BusinessEnum.Taxi -> reason.append(" 后台配置:taxi>")
|
||||
BusinessEnum.Bus -> reason.append(" 后台配置:bus>")
|
||||
BusinessEnum.Shuttle -> reason.append(" 后台配置:shuttle>")
|
||||
BusinessEnum.Charter -> reason.append(" 后台配置:charter>")
|
||||
Product.TAXI -> reason.append(" 后台配置:taxi>")
|
||||
Product.BUS -> reason.append(" 后台配置:bus>")
|
||||
Product.SHUTTLE -> reason.append(" 后台配置:shuttle>")
|
||||
Product.CHARTER -> reason.append(" 后台配置:charter>")
|
||||
Product.SCHEDULED -> reason.append(" 后台配置:scheduled>")
|
||||
else -> {
|
||||
reason.clear()
|
||||
reason.append("后台未配置业务模式,请联系运营人员为该车配置")
|
||||
@@ -132,32 +140,37 @@ object FlavorUtils {
|
||||
fun getEnvCheck() {
|
||||
businessType =
|
||||
when (AppIdentityModeUtils.getProduct(FunctionBuildConfig.appIdentityMode)) {
|
||||
AppIdentityModeUtils.Product.BUS -> {
|
||||
Product.BUS -> {
|
||||
BusinessType.bus
|
||||
}
|
||||
|
||||
AppIdentityModeUtils.Product.TAXI -> {
|
||||
Product.TAXI -> {
|
||||
BusinessType.taxi
|
||||
}
|
||||
|
||||
AppIdentityModeUtils.Product.SWEEPER -> {
|
||||
Product.SWEEPER -> {
|
||||
BusinessType.none
|
||||
}
|
||||
|
||||
AppIdentityModeUtils.Product.SHUTTLE -> {
|
||||
Product.SHUTTLE -> {
|
||||
BusinessType.shuttle
|
||||
}
|
||||
|
||||
AppIdentityModeUtils.Product.CHARTER -> {
|
||||
Product.CHARTER -> {
|
||||
BusinessType.charter
|
||||
}
|
||||
|
||||
Product.SCHEDULED -> {
|
||||
BusinessType.scheduled
|
||||
}
|
||||
|
||||
|
||||
else -> {
|
||||
BusinessType.none
|
||||
}
|
||||
}
|
||||
|
||||
if(vehicleType==null||projectType==null||envType==null) {
|
||||
if (vehicleType == null || projectType == null || envType == null) {
|
||||
vehicleType =
|
||||
if (AppIdentityModeUtils.isT1T2(FunctionBuildConfig.appIdentityMode)) {
|
||||
VehicleType.T1T2
|
||||
@@ -198,10 +211,12 @@ object FlavorUtils {
|
||||
}
|
||||
}
|
||||
|
||||
fun checkAllEnv( projectType: ProjectType,
|
||||
envType: EnvType,
|
||||
vehicleType: VehicleType,
|
||||
businessType: BusinessType):String{
|
||||
fun checkAllEnv(
|
||||
projectType: ProjectType,
|
||||
envType: EnvType,
|
||||
vehicleType: VehicleType,
|
||||
businessType: BusinessType
|
||||
): String {
|
||||
|
||||
val reason = StringBuilder()
|
||||
|
||||
@@ -211,11 +226,11 @@ object FlavorUtils {
|
||||
Project.MOGO -> projectType == ProjectType.mogo
|
||||
Project.YANTAI -> projectType == ProjectType.yantai
|
||||
}
|
||||
if(!isProjectSupply){
|
||||
if (!isProjectSupply) {
|
||||
reason.append("项目异常<当前:${ProjectUtils.getProjectType().name}, 后台配置:${projectType.name}> ")
|
||||
}
|
||||
|
||||
val currentVehicle:String
|
||||
val currentVehicle: String
|
||||
val vehicleTypeSupply =
|
||||
if (AppIdentityModeUtils.isT1T2(FunctionBuildConfig.appIdentityMode)) {
|
||||
currentVehicle = VehicleType.T1T2.name
|
||||
@@ -233,11 +248,11 @@ object FlavorUtils {
|
||||
currentVehicle = VehicleType.C1.name
|
||||
vehicleType == VehicleType.C1
|
||||
}
|
||||
if(!vehicleTypeSupply){
|
||||
if (!vehicleTypeSupply) {
|
||||
reason.append("车型异常<当前:${currentVehicle}, 后台配置:${vehicleType.name}> ")
|
||||
}
|
||||
|
||||
val currentenvType:String
|
||||
val currentenvType: String
|
||||
val envTypeSupply = when (DebugConfig.getNetMode()) {
|
||||
2 -> {
|
||||
currentenvType = EnvType.qa.name
|
||||
@@ -259,19 +274,19 @@ object FlavorUtils {
|
||||
envType == EnvType.qa
|
||||
}
|
||||
}
|
||||
if(!envTypeSupply){
|
||||
if (!envTypeSupply) {
|
||||
reason.append("环境异常<当前:${currentenvType} 后台配置:${envType.name}> ")
|
||||
}
|
||||
|
||||
|
||||
val businessTypeSupply = checkBusinessMine(businessType)
|
||||
|
||||
if(!businessTypeSupply){
|
||||
if (!businessTypeSupply) {
|
||||
reason.append("业务异常<当前支持:")
|
||||
FunctionBuildConfig.supportBusiness.forEachIndexed { index, s ->
|
||||
if(index==FunctionBuildConfig.supportBusiness.size-1){
|
||||
if (index == FunctionBuildConfig.supportBusiness.size - 1) {
|
||||
reason.append(s)
|
||||
}else{
|
||||
} else {
|
||||
reason.append("${s},")
|
||||
}
|
||||
}
|
||||
@@ -281,8 +296,8 @@ object FlavorUtils {
|
||||
return reason.toString()
|
||||
}
|
||||
|
||||
fun checkBusinessMine(businessType: BusinessType) :Boolean{
|
||||
if(businessType==BusinessType.none){
|
||||
fun checkBusinessMine(businessType: BusinessType): Boolean {
|
||||
if (businessType == BusinessType.none) {
|
||||
return true
|
||||
}
|
||||
FunctionBuildConfig.supportBusiness.forEach {
|
||||
|
||||
@@ -143,12 +143,12 @@ class FrameAnimatorContainer (resId: Int,
|
||||
mHandler?.removeCallbacksAndMessages(null)
|
||||
val runnable: Runnable = object : Runnable {
|
||||
override fun run() {
|
||||
Logger.d(TAG, "runnable: isMainThread:${ThreadUtils.isMainThread()}, threadName=${Thread.currentThread().name}")
|
||||
//Logger.d(TAG, "runnable: isMainThread:${ThreadUtils.isMainThread()}, threadName=${Thread.currentThread().name}")
|
||||
val imageView = mSoftReferenceImageView!!.get()
|
||||
if (!mShouldRun || imageView == null) {
|
||||
mIsRunning = false
|
||||
mOnAnimationStoppedListener?.AnimationStopped()
|
||||
Logger.d(TAG, "结束动画1")
|
||||
//Logger.d(TAG, "结束动画1")
|
||||
return
|
||||
}
|
||||
mIsRunning = true
|
||||
@@ -158,13 +158,13 @@ class FrameAnimatorContainer (resId: Int,
|
||||
if (!mShouldRun || imageView == null) {
|
||||
mIsRunning = false
|
||||
mOnAnimationStoppedListener?.AnimationStopped()
|
||||
Logger.d(TAG, "结束动画2")
|
||||
//Logger.d(TAG, "结束动画2")
|
||||
return
|
||||
}
|
||||
mHandler?.postDelayed(this, mDelayMillis.toLong())
|
||||
if (mBitmap != null) { // so Build.VERSION.SDK_INT >= 11
|
||||
ThreadUtils.getFixedPool(1).submit {
|
||||
Logger.d(TAG, "decodeResource Runnable: isMainThread:${ThreadUtils.isMainThread()}, threadName=${Thread.currentThread().name}")
|
||||
//Logger.d(TAG, "decodeResource Runnable: isMainThread:${ThreadUtils.isMainThread()}, threadName=${Thread.currentThread().name}")
|
||||
var bitmap: Bitmap? = null
|
||||
try {
|
||||
bitmap = BitmapFactory.decodeResource(
|
||||
@@ -176,7 +176,7 @@ class FrameAnimatorContainer (resId: Int,
|
||||
e.printStackTrace()
|
||||
}
|
||||
ThreadUtils.runOnUiThread({
|
||||
Logger.d(TAG, "setImageBitmap Runnable: isMainThread:${ThreadUtils.isMainThread()}, threadName=${Thread.currentThread().name}")
|
||||
//Logger.d(TAG, "setImageBitmap Runnable: isMainThread:${ThreadUtils.isMainThread()}, threadName=${Thread.currentThread().name}")
|
||||
if (bitmap != null) {
|
||||
imageView.setImageBitmap(bitmap)
|
||||
} else {
|
||||
|
||||
@@ -4,11 +4,10 @@ import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import android.view.LayoutInflater
|
||||
import androidx.constraintlayout.widget.ConstraintLayout
|
||||
import com.mogo.eagle.core.utilcode.kotlin.onClick
|
||||
import com.mogo.och.common.module.R
|
||||
import com.mogo.och.common.module.utils.ResourcesUtils
|
||||
import kotlinx.android.synthetic.main.common_line_view.view.iv_toolkit_item_head
|
||||
import kotlinx.android.synthetic.main.common_line_view.view.iv_toolkit_item_title
|
||||
import kotlinx.android.synthetic.main.common_biz_board.view.iv_toolkit_item_head
|
||||
import kotlinx.android.synthetic.main.common_biz_board.view.iv_toolkit_item_title
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -28,7 +27,7 @@ class OperationalInfoGatewayView : ConstraintLayout {
|
||||
)
|
||||
|
||||
private fun initView() {
|
||||
LayoutInflater.from(context).inflate(R.layout.common_line_view, this, true)
|
||||
LayoutInflater.from(context).inflate(R.layout.common_biz_board, this, true)
|
||||
iv_toolkit_item_head.setImageResource(R.drawable.common_biz_operation)
|
||||
iv_toolkit_item_title.text = ResourcesUtils.getString(R.string.common_operation)
|
||||
}
|
||||
|
||||
36
OCH/common/common/src/main/res/layout/common_biz_board.xml
Normal file
36
OCH/common/common/src/main/res/layout/common_biz_board.xml
Normal file
@@ -0,0 +1,36 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<merge xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:background="@color/acc_default_txt_color"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_toolkit_item_head"
|
||||
android:layout_width="@dimen/dp_160"
|
||||
android:layout_height="@dimen/dp_160"
|
||||
android:scaleType="fitXY"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
android:src="@drawable/common_biz_operation"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/iv_toolkit_item_title"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_1"
|
||||
android:ellipsize="end"
|
||||
android:gravity="center"
|
||||
android:maxLines="2"
|
||||
android:text="@string/common_operation"
|
||||
android:textColor="@color/color_FFFFFF"
|
||||
android:textSize="@dimen/sp_38"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/iv_toolkit_item_head"/>
|
||||
|
||||
</merge>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user