Merge remote-tracking branch 'origin/dev_robotaxi-d_240912_6.7.2_local' into dev_robotaxi-d_240912_6.7.2_local

This commit is contained in:
donghongyu-pc
2024-10-25 10:30:19 +08:00
21 changed files with 250 additions and 119 deletions

View File

@@ -124,7 +124,7 @@ class AutopilotStatusView : RelativeLayout,AutopilotStatusViewModel.IAutopilotSt
bus_autopolot_btn_tv.setTextColor(ContextCompat.getColor(context,R.color.charter_autopilot_text_color_normal))
bus_autopolot_btn_tv.text = resources.getString(R.string.charter_loading_autopilot_pingxing_tv)
bus_autopilot_btn_iv.setImageResource(R.drawable.charter_ic_autopilot)
isClickable = false
isClickable = true
background = ResourceUtils.getDrawable(R.drawable.common_autopilot_pxjs)
}

View File

@@ -17,6 +17,7 @@ import com.mogo.och.weaknet.repository.db.repository.TaskDb
import com.mogo.och.weaknet.repository.db.repository.TaskSiteDb
import com.mogo.och.weaknet.ui.fragment.ShuttleFragment
import com.mogo.och.weaknet.model.LineModel
import com.mogo.och.weaknet.repository.RepositoryManager
import com.mogo.och.weaknet.ui.bizswitch.SwitchBizView
import com.mogo.och.weaknet.ui.qr.QrOpenView
import com.mogo.och.weaknet.util.BusAnalyticsManager
@@ -55,6 +56,7 @@ class ShuttleDriverProvider : CommonServiceImpl() {
busFragment = null
OchAutopilotAnalytics.ochEventKey = null
LineModel.release()
RepositoryManager.closeDb()
}
override fun createOchBusinessView(context: Context?): View? {

View File

@@ -111,10 +111,12 @@ object LineModel {
return
}
isRequesting.set(true)
CallerLogger.d(TAG,"开始同步数据")
RepositoryManager.queryCarExecutableTaskList(
object : OchCommonServiceCallback<CarExecutableTaskResponse> {
override fun onSuccess(data: CarExecutableTaskResponse) {
isRequesting.set(false)
CallerLogger.d(TAG,"同步数据成功")
BizLoopManager.postDelayed(loopQueryInfo, 60_000)
// 第一次过滤 请求返回值的md5
val currentRequest = DigestUtils.md5Hex(data.data.toString())
@@ -143,6 +145,7 @@ object LineModel {
override fun onError() {
isRequesting.set(false)
CallerLogger.d(TAG,"同步数据失败 onError")
BizLoopManager.postDelayed(loopQueryInfo, 60_000)
if (!isBackground) {
if (!NetworkUtils.isConnected(mContext)) {
@@ -155,6 +158,7 @@ object LineModel {
override fun onFail(code: Int, failMsg: String) {
isRequesting.set(false)
CallerLogger.d(TAG,"同步数据失败 onFail")
BizLoopManager.postDelayed(loopQueryInfo, 60_000)
if (!isBackground) {
if (!NetworkUtils.isConnected(mContext)) {

View File

@@ -447,7 +447,6 @@ object OrderModel {
}
MapMakerManager.removeAllMapMarkerByOwner(TAG)
BusTrajectoryManager.getInstance().stopTrajReqLoop();
RepositoryManager.closeDb()
LoginStatusManager.loginOut()
}
}

View File

@@ -32,4 +32,6 @@ interface IRepository {
fun reportCabinEvent(context: Context?, data: ShuttleEventRequest?, callback: OchCommonServiceCallback<BaseData?>?)
fun release()
}

View File

@@ -21,7 +21,36 @@ import io.reactivex.Observable
object RepositoryManager {
private lateinit var repository: IRepository
private var repository: IRepository?=null
get() {
if(field==null){
when (ProjectUtils.getProjectType()) {
Project.SAAS -> {
if(AppIdentityModeUtils.isShuttle(FunctionBuildConfig.appIdentityMode)) {
field = WeaknetRepository()
}else if(AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)) {
field = WeaknetRepository()
}
}
Project.DALI -> {
if(AppIdentityModeUtils.isShuttle(FunctionBuildConfig.appIdentityMode)) {
field = WeaknetRepository()
}else if(AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)) {
field = NormalRepository()
}
}
Project.MOGO -> {
if(AppIdentityModeUtils.isShuttle(FunctionBuildConfig.appIdentityMode)) {
field = NormalRepository()
}else if(AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)) {
field = NormalRepository()
}
}
else->{}
}
}
return field
}
init {
@@ -53,36 +82,36 @@ object RepositoryManager {
}
fun loadCurrentTaskInfo():Observable<Boolean>?{
return repository.loadCurrentTaskInfo()
return repository?.loadCurrentTaskInfo()
}
fun queryCanUseLine() : Observable<List<LineDataBean>?>? {
return repository.queryCanUseLine()
return repository?.queryCanUseLine()
}
fun queryCanUserTask(lineId: Long): Observable<List<TaskDataBean>?>? {
return repository.queryCanUserTask(lineId)
return repository?.queryCanUserTask(lineId)
}
fun startTask(taskId:Long,lineId:Long,taskTime:Long,lineName:String): Observable<Boolean>? {
return repository.startTask(taskId,lineId,taskTime,lineName)
return repository?.startTask(taskId,lineId,taskTime,lineName)
}
fun leaveStation(seq: Int, siteId: Long, taskId: Long, lineId: Long, taskStartTime:Long
): Observable<Boolean>?{
return repository.leaveStation(seq,siteId,taskId,lineId,taskStartTime)
return repository?.leaveStation(seq,siteId,taskId,lineId,taskStartTime)
}
fun arriveStation(seq: Int, siteId: Long, taskId: Long): Observable<Boolean>?{
return repository.arriveStation(seq,siteId,taskId)
return repository?.arriveStation(seq,siteId,taskId)
}
fun endTask(taskId: Long): Observable<Boolean>?{
return repository.endTask(taskId)
return repository?.endTask(taskId)
}
fun queryWriteoffCount(context: Context, taskId: Long, siteId: Long, callback: OchCommonServiceCallback<WriteOffCountResponse>?){
repository.queryWriteoffCount(context,taskId,siteId,callback)
repository?.queryWriteoffCount(context,taskId,siteId,callback)
}
@@ -106,7 +135,7 @@ object RepositoryManager {
ochCommonServiceCallback: OchCommonServiceCallback<CarExecutableTaskResponse>
) {
if (repository is WeaknetRepository) {
repository.queryCarExecutableTaskList(ochCommonServiceCallback)
repository?.queryCarExecutableTaskList(ochCommonServiceCallback)
}
}
@@ -116,13 +145,16 @@ object RepositoryManager {
callback: OchCommonServiceCallback<BaseData?>?
){
if (repository is WeaknetRepository) {
repository.reportCabinEvent(context,data,callback)
repository?.reportCabinEvent(context,data,callback)
}
}
fun closeDb() {
if (supportDb()) {
MyDataBase.instance.close()
MyDataBase.instance?.close()
MyDataBase.instance = null
repository?.release()
repository = null
}
}

View File

@@ -0,0 +1,8 @@
package com.mogo.och.weaknet.repository.db
interface IDbRepository {
fun register(){
MyDataBase.instance?.register(this)
}
fun release()
}

View File

@@ -33,20 +33,24 @@ import java.io.File
@Database(entities = [ContrailDataBean::class, LineDataBean::class, SiteDataBean::class, TaskDataBean::class, TaskSiteDataBean::class, EventDataBean::class], version = 2)
abstract class MyDataBase : RoomDatabase() {
private object SingleTon {
val instance: MyDataBase = Room.databaseBuilder(
AbsMogoApplication.getApp()!!.applicationContext, MyDataBase::class.java, ROOT_PATH+getDBName()
)
.addMigrations(Migration1_2(1,2))
.build()
}
override fun getOpenHelper(): SupportSQLiteOpenHelper {
return super.getOpenHelper()
}
private val dbRepositorys = mutableListOf<IDbRepository>()
override fun close() {
super.close()
dbRepositorys.forEach {
it.release()
}
dbRepositorys.clear()
}
fun register(iDbRepository: IDbRepository) {
dbRepositorys.add(iDbRepository)
}
abstract val contrailDataDao: ContrailDataDao?
abstract val eventDataDao: EventDataDao?
abstract val lineDataDao: LineDataDao?
@@ -55,8 +59,8 @@ abstract class MyDataBase : RoomDatabase() {
abstract val taskSiteDataDao: TaskSiteDataDao?
companion object {
fun getDBName():String{
return when (ProjectUtils.getProjectType()) {
fun getDBName():MyDataBase{
val roomName = when (ProjectUtils.getProjectType()) {
Project.SAAS -> {
if(AppIdentityModeUtils.isShuttle(FunctionBuildConfig.appIdentityMode)) {
"shuttle_db"
@@ -77,13 +81,22 @@ abstract class MyDataBase : RoomDatabase() {
FunctionBuildConfig.appIdentityMode
}
}
}
val ROOT_PATH =
Environment.getExternalStorageDirectory().absolutePath + File.separator + "Mogo" + File.separator + "APP_cache" + File.separator //程序外部存储跟目录
val instance: MyDataBase
//结合单例模式完成数据库实例创建
get() = SingleTon.instance
return Room.databaseBuilder(
AbsMogoApplication.getApp()!!.applicationContext, MyDataBase::class.java, ROOT_PATH+roomName
)
.addMigrations(Migration1_2(1,2))
.build()
}
val ROOT_PATH = Environment.getExternalStorageDirectory().absolutePath + File.separator + "Mogo" + File.separator + "APP_cache" + File.separator //程序外部存储跟目录
var instance: MyDataBase? = getDBName()
get() {
if(field==null){
field = getDBName()
}
return field
}
}
class Migration1_2(val startVersion:Int,val endVersion:Int): Migration(startVersion,endVersion) {

View File

@@ -2,16 +2,24 @@ package com.mogo.och.weaknet.repository.db.repository
import com.mogo.eagle.core.network.utils.digest.DigestUtils
import com.mogo.och.common.module.manager.loop.BizLoopManager
import com.mogo.och.weaknet.repository.db.IDbRepository
import com.mogo.och.weaknet.repository.db.MyDataBase
import com.mogo.och.weaknet.repository.db.bean.ContrailDataBean
import com.mogo.och.weaknet.repository.db.dao.ContrailDataDao
object ContraiDb {
object ContraiDb : IDbRepository {
private var contrailDao: ContrailDataDao?=null
get() {
if(field==null){
field = MyDataBase.instance?.contrailDataDao
register()
}
return field
}
init {
contrailDao = MyDataBase.instance.contrailDataDao
override fun release(){
contrailDao = null
}
fun addOrUpdate(contrailDatalist:List<ContrailDataBean>){

View File

@@ -4,20 +4,28 @@ import com.mogo.och.common.module.biz.login.LoginStatusManager
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.DateTimeUtil
import com.mogo.och.weaknet.repository.db.IDbRepository
import com.mogo.och.weaknet.repository.db.MyDataBase
import com.mogo.och.weaknet.repository.db.bean.EventDataBean
import com.mogo.och.weaknet.repository.db.dao.EventDataDao
import io.reactivex.Observable
object EventDb {
object EventDb: IDbRepository {
private var eventDataDao: EventDataDao? = null
get() {
if(field==null){
field = MyDataBase.instance?.eventDataDao
register()
}
return field
}
var eventCallback: EventCallback? = null
init {
eventDataDao = MyDataBase.instance.eventDataDao
override fun release(){
eventDataDao = null
}
fun saveEventTaskStart(taskId: Long, lineId: Long, taskStartTime: Long, name: String) {

View File

@@ -2,19 +2,28 @@ package com.mogo.och.weaknet.repository.db.repository
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
import com.mogo.och.common.module.manager.loop.BizLoopManager
import com.mogo.och.weaknet.repository.db.IDbRepository
import com.mogo.och.weaknet.repository.db.MyDataBase
import com.mogo.och.weaknet.repository.db.bean.LineDataBean
import com.mogo.och.weaknet.repository.db.dao.LineDataDao
import io.reactivex.Observable
object LineDb {
object LineDb: IDbRepository {
private var lineDao: LineDataDao?=null
get() {
if(field==null){
field = MyDataBase.instance?.lineDataDao
register()
}
return field
}
init {
lineDao = MyDataBase.instance.lineDataDao
override fun release() {
lineDao = null
}
fun cleanWeltData(){
lineDao?.deleteWeltData()
}

View File

@@ -5,16 +5,24 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.util.TAG
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
import com.mogo.och.common.module.manager.loop.BizLoopManager
import com.mogo.och.weaknet.repository.db.IDbRepository
import com.mogo.och.weaknet.repository.db.MyDataBase
import com.mogo.och.weaknet.repository.db.bean.SiteDataBean
import com.mogo.och.weaknet.repository.db.dao.SiteDataDao
object SiteDb {
object SiteDb: IDbRepository {
private var siteDataDao: SiteDataDao? = null
get() {
if(field==null){
field = MyDataBase.instance?.siteDataDao
register()
}
return field
}
init {
siteDataDao = MyDataBase.instance.siteDataDao
override fun release() {
siteDataDao = null
}
fun addOrUpdate(siteDateList: List<SiteDataBean>) {
@@ -64,4 +72,6 @@ object SiteDb {
return null
}
}

View File

@@ -6,6 +6,7 @@ import com.mogo.eagle.core.utilcode.util.TAG
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.DateTimeUtil
import com.mogo.och.weaknet.repository.db.IDbRepository
import com.mogo.och.weaknet.repository.db.MyDataBase
import com.mogo.och.weaknet.repository.db.bean.TaskDataBean
import com.mogo.och.weaknet.repository.db.dao.TaskDataDao
@@ -13,12 +14,19 @@ import com.mogo.och.weaknet.repository.db.exception.DbException
import com.mogo.och.weaknet.repository.exception.DataException
import io.reactivex.Observable
object TaskDb {
object TaskDb : IDbRepository {
private var taskDataDao: TaskDataDao? = null
get() {
if(field==null){
field = MyDataBase.instance?.taskDataDao
register()
}
return field
}
init {
taskDataDao = MyDataBase.instance.taskDataDao
override fun release() {
taskDataDao = null
}
fun addOrUpdate(vararg lineDataBean: TaskDataBean){
@@ -167,4 +175,6 @@ object TaskDb {
fun startSuccess()
fun startFail(msg:String)
}
}

View File

@@ -4,19 +4,28 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.util.TAG
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
import com.mogo.och.common.module.manager.loop.BizLoopManager
import com.mogo.och.weaknet.repository.db.IDbRepository
import com.mogo.och.weaknet.repository.db.MyDataBase
import com.mogo.och.weaknet.repository.db.bean.TaskSiteDataBean
import com.mogo.och.weaknet.repository.db.dao.TaskSiteDataDao
import com.mogo.och.weaknet.repository.db.exception.DbException
object TaskSiteDb {
object TaskSiteDb: IDbRepository {
private var taskSiteDataDao: TaskSiteDataDao? = null
get() {
if(field==null){
field = MyDataBase.instance?.taskSiteDataDao
register()
}
return field
}
init {
taskSiteDataDao = MyDataBase.instance.taskSiteDataDao
override fun release() {
taskSiteDataDao = null
}
fun addOrUpdate(vararg lineDataBean: TaskSiteDataBean){
taskSiteDataDao?.insert(*lineDataBean)
}

View File

@@ -30,35 +30,41 @@ import io.reactivex.Observable
class NormalRepository: IRepository {
private lateinit var normalNetInterface: NormalNetInterface
private var normalNetInterface: NormalNetInterface?=null
get() {
if(field==null){
when (ProjectUtils.getProjectType()) {
Project.SAAS -> {
if(AppIdentityModeUtils.isShuttle(FunctionBuildConfig.appIdentityMode)) {
throw NetException("非缓存weakNetInterface 初始化环境错误 isBus")
}else if(AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)) {
throw NetException("非缓存weakNetInterface 初始化环境错误 isBus")
}
}
Project.DALI -> {
if(AppIdentityModeUtils.isShuttle(FunctionBuildConfig.appIdentityMode)) {
throw NetException("非缓存weakNetInterface 初始化环境错误 isBus")
}else if(AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)) {
field = DaliBusServiceManager()
}
}
Project.MOGO -> {
field = MogoBusServiceManager()
}
else->{
field = MogoShuttleServiceManager()
}
}
}
return field
}
init {
when (ProjectUtils.getProjectType()) {
Project.SAAS -> {
if(AppIdentityModeUtils.isShuttle(FunctionBuildConfig.appIdentityMode)) {
throw NetException("非缓存weakNetInterface 初始化环境错误 isBus")
}else if(AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)) {
throw NetException("非缓存weakNetInterface 初始化环境错误 isBus")
}
}
Project.DALI -> {
if(AppIdentityModeUtils.isShuttle(FunctionBuildConfig.appIdentityMode)) {
throw NetException("非缓存weakNetInterface 初始化环境错误 isBus")
}else if(AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)) {
normalNetInterface = DaliBusServiceManager()
}
}
Project.MOGO -> {
normalNetInterface = MogoBusServiceManager()
}
else->{
normalNetInterface = MogoShuttleServiceManager()
}
}
}
override fun loadCurrentTaskInfo(): Observable<Boolean>? {
return normalNetInterface.queryBusRoutes()
return normalNetInterface?.queryBusRoutes()
?.flatMap { busRoutesResult ->
if (!busRoutesResult.sites.isNullOrEmpty() && busRoutesResult.sites.size > 1) {
OchChainLogManager.writeChainLogDb(
@@ -126,11 +132,11 @@ class NormalRepository: IRepository {
}
override fun queryCanUseLine(): Observable<List<LineDataBean>?>? {
return normalNetInterface.queryBusLines()
return normalNetInterface?.queryBusLines()
}
override fun queryCanUserTask(lineId: Long): Observable<List<TaskDataBean>?>? {
return normalNetInterface.queryBusTaskByLineId(lineId)
return normalNetInterface?.queryBusTaskByLineId(lineId)
}
override fun startTask(
@@ -139,7 +145,7 @@ class NormalRepository: IRepository {
taskTime: Long,
lineName: String
): Observable<Boolean>? {
return normalNetInterface.switchLine(taskId)
return normalNetInterface?.switchLine(taskId)
}
override fun leaveStation(
@@ -149,11 +155,11 @@ class NormalRepository: IRepository {
lineId: Long,
taskStartTime: Long
): Observable<Boolean>? {
return normalNetInterface.leaveStation(seq, siteId, taskId, System.currentTimeMillis())
return normalNetInterface?.leaveStation(seq, siteId, taskId, System.currentTimeMillis())
}
override fun arriveStation(seq: Int, siteId: Long, taskId: Long): Observable<Boolean>? {
return normalNetInterface.arriveSiteStation(
return normalNetInterface?.arriveSiteStation(
seq,
siteId,
taskId,
@@ -162,7 +168,7 @@ class NormalRepository: IRepository {
}
override fun endTask(taskId: Long): Observable<Boolean>? {
return normalNetInterface.endTask(taskId)
return normalNetInterface?.endTask(taskId)
}
override fun queryWriteoffCount(
@@ -186,5 +192,9 @@ class NormalRepository: IRepository {
}
override fun release() {
normalNetInterface=null
}
}

View File

@@ -31,38 +31,41 @@ import com.mogo.och.weaknet.repository.net.exception.NetException
import com.mogo.och.weaknet.repository.net.weaknet.WeakNetInterface
import com.mogo.och.weaknet.repository.net.weaknet.dali.shuttle.DaliShuttleServiceManager
import com.mogo.och.weaknet.repository.net.weaknet.saas.bus.SaasBusServiceManager
import com.mogo.och.weaknet.repository.net.weaknet.saas.shuttle.SaasShuttleServiceManager
import io.reactivex.Observable
class WeaknetRepository : IRepository {
private val TAG = "ShuttleSaasRepository"
private val context = AbsMogoApplication.getApp()
private lateinit var weakNetInterface: WeakNetInterface
init {
when (ProjectUtils.getProjectType()) {
Project.SAAS -> {
if(AppIdentityModeUtils.isShuttle(FunctionBuildConfig.appIdentityMode)) {
weakNetInterface = DaliShuttleServiceManager
}else if(AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)) {
weakNetInterface = SaasBusServiceManager
private var weakNetInterface: WeakNetInterface?=null
get() {
if(field==null){
when (ProjectUtils.getProjectType()) {
Project.SAAS -> {
if(AppIdentityModeUtils.isShuttle(FunctionBuildConfig.appIdentityMode)) {
field = SaasShuttleServiceManager
}else if(AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)) {
field = SaasBusServiceManager
}
}
Project.DALI -> {
if(AppIdentityModeUtils.isShuttle(FunctionBuildConfig.appIdentityMode)) {
field = DaliShuttleServiceManager
}else if(AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)) {
throw NetException("缓存weakNetInterface 初始化环境错误 isBus")
}
}
Project.MOGO -> {
throw NetException("缓存weakNetInterface 初始化环境错误 MOGO")
}
else->{
throw NetException("缓存weakNetInterface 初始化环境错误 未知")
}
}
}
Project.DALI -> {
if(AppIdentityModeUtils.isShuttle(FunctionBuildConfig.appIdentityMode)) {
weakNetInterface = DaliShuttleServiceManager
}else if(AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)) {
throw NetException("缓存weakNetInterface 初始化环境错误 isBus")
}
}
Project.MOGO -> {
throw NetException("缓存weakNetInterface 初始化环境错误 MOGO")
}
else->{
throw NetException("缓存weakNetInterface 初始化环境错误 未知")
}
return field
}
}
override fun loadCurrentTaskInfo(): Observable<Boolean>? {
@@ -147,7 +150,7 @@ class WeaknetRepository : IRepository {
}
private fun loadServerRuningTask(): Observable<Boolean>? {
return weakNetInterface.queryBusRoutes()?.flatMap { busRoutesResult->
return weakNetInterface?.queryBusRoutes()?.flatMap { busRoutesResult->
if (!busRoutesResult.sites.isNullOrEmpty() && busRoutesResult.sites.size > 1) {
val queryTaskById = TaskDb.queryTaskById(busRoutesResult.taskId.toLong())
if (queryTaskById == null || queryTaskById.status != TaskDataBean.used) {
@@ -317,13 +320,13 @@ class WeaknetRepository : IRepository {
siteId: Long,
callback: OchCommonServiceCallback<WriteOffCountResponse>?
) {
weakNetInterface.writeOffCount(context,taskId.toString(),siteId.toString(),callback)
weakNetInterface?.writeOffCount(context,taskId.toString(),siteId.toString(),callback)
}
override fun queryCarExecutableTaskList(
ochCommonServiceCallback: OchCommonServiceCallback<CarExecutableTaskResponse>
) {
weakNetInterface.queryCarExecutableTaskList(context,ochCommonServiceCallback)
weakNetInterface?.queryCarExecutableTaskList(context,ochCommonServiceCallback)
}
override fun reportCabinEvent(
@@ -331,6 +334,10 @@ class WeaknetRepository : IRepository {
data: ShuttleEventRequest?,
callback: OchCommonServiceCallback<BaseData?>?
) {
weakNetInterface.reportCabinEvent(context,data,callback)
weakNetInterface?.reportCabinEvent(context,data,callback)
}
override fun release() {
weakNetInterface = null
}
}

View File

@@ -32,7 +32,7 @@ public interface ISaasBusApiService {
*/
@Headers( {"Content-Type:application/json;charset=UTF-8"} )
@GET( "/och-bus-cabin/api/business/v1/driver/bus/lineDataWithDriver/query" )
Observable<BusRoutesResponse> queryBusRoutes(@Header ("appId") String appId, @Header("ticket") String ticket, @Body BusQueryLineStationsRequest request);
Observable<BusRoutesResponse> queryBusRoutes(@Header ("appId") String appId, @Header("ticket") String ticket, @Query("sn") String sn);
/**
* 查询当前站点核销的人数

View File

@@ -24,7 +24,7 @@ import io.reactivex.Observable
*/
object SaasBusServiceManager: WeakNetInterface {
private val mService: ISaasBusApiService = MoGoRetrofitFactory.getInstance(OchCommonConst.getShuttleUrl()).create(
private val mService: ISaasBusApiService = MoGoRetrofitFactory.getInstance(OchCommonConst.getBaseUrl()).create(
ISaasBusApiService::class.java
)
@@ -39,7 +39,7 @@ object SaasBusServiceManager: WeakNetInterface {
return mService.queryBusRoutes(
MoGoAiCloudClientConfig.getInstance().serviceAppId,
SharedPrefsMgr.getInstance().token,
BusQueryLineStationsRequest()
SharedPrefsMgr.getInstance().getSn()
) .transformIoTry()
.flatMap(OchCommonNet("queryBusRoutes",false))
.flatMap {

View File

@@ -38,12 +38,12 @@ import kotlin.math.abs
* @date: 2023/1/31
*/
@SuppressLint("StaticFieldLeak")
object PM2DrivingModel{
object LineModel{
private var mContext: Context? = null
private var routesResult: BusRoutesResult? = null
private val TAG: String = PM2DrivingModel::class.java.simpleName
private val TAG: String = LineModel::class.java.simpleName
var mStations = mutableListOf<BusStationBean>()
private var mNextStationIndex = 0 // A-B要到达站的index

View File

@@ -7,7 +7,7 @@ import com.mogo.eagle.core.utilcode.util.ThreadUtils
import com.mogo.och.shuttle.weaknet.passenger.callback.AutoPilotStatusCallback
import com.mogo.och.shuttle.weaknet.passenger.callback.DrivingInfoCallback
import com.mogo.och.shuttle.weaknet.passenger.model.PM2ADASModel
import com.mogo.och.shuttle.weaknet.passenger.model.PM2DrivingModel
import com.mogo.och.shuttle.weaknet.passenger.model.LineModel
import com.mogo.och.shuttle.weaknet.passenger.ui.PM2DrivingInfoFragment
import com.mogo.och.data.bean.BusStationBean
@@ -15,7 +15,7 @@ class PM2DrivingPresenter(view: PM2DrivingInfoFragment?) :
Presenter<PM2DrivingInfoFragment?>(view), DrivingInfoCallback, AutoPilotStatusCallback {
init {
PM2DrivingModel.init(context)
LineModel.init(context)
PM2ADASModel.INSTANCE.init(context)
initListener()
}
@@ -23,17 +23,17 @@ class PM2DrivingPresenter(view: PM2DrivingInfoFragment?) :
override fun onDestroy(owner: LifecycleOwner) {
super.onDestroy(owner)
destroyListener()
PM2DrivingModel.releaseListener()
LineModel.releaseListener()
}
private fun initListener(){
PM2DrivingModel.setDrivingInfoCallback(this)
PM2DrivingModel.setAutoStatusCallback(this)
LineModel.setDrivingInfoCallback(this)
LineModel.setAutoStatusCallback(this)
}
private fun destroyListener(){
PM2DrivingModel.setDrivingInfoCallback(null)
PM2DrivingModel.setAutoStatusCallback(null)
LineModel.setDrivingInfoCallback(null)
LineModel.setAutoStatusCallback(null)
}
override fun updateSpeed(speed: Int) {