[6.7.2]
[fea] [退出登录环境还原]
This commit is contained in:
@@ -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)
|
||||
}
|
||||
|
||||
|
||||
@@ -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? {
|
||||
|
||||
@@ -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)) {
|
||||
|
||||
@@ -447,7 +447,6 @@ object OrderModel {
|
||||
}
|
||||
MapMakerManager.removeAllMapMarkerByOwner(TAG)
|
||||
BusTrajectoryManager.getInstance().stopTrajReqLoop();
|
||||
RepositoryManager.closeDb()
|
||||
LoginStatusManager.loginOut()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,4 +32,6 @@ interface IRepository {
|
||||
|
||||
fun reportCabinEvent(context: Context?, data: ShuttleEventRequest?, callback: OchCommonServiceCallback<BaseData?>?)
|
||||
|
||||
fun release()
|
||||
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
package com.mogo.och.weaknet.repository.db
|
||||
|
||||
interface IDbRepository {
|
||||
fun register(){
|
||||
MyDataBase.instance?.register(this)
|
||||
}
|
||||
fun release()
|
||||
}
|
||||
@@ -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) {
|
||||
|
||||
@@ -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>){
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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()
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
|
||||
/**
|
||||
* 查询当前站点核销的人数
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user