diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/OrderModel.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/OrderModel.kt index 429d4d6b2e..f83b7d01a5 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/OrderModel.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/OrderModel.kt @@ -445,6 +445,7 @@ object OrderModel { } MapMakerManager.removeAllMapMarkerByOwner(TAG) BusTrajectoryManager.getInstance().stopTrajReqLoop(); + RepositoryManager.release() LoginStatusManager.loginOut() } } diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/RepositoryManager.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/RepositoryManager.kt index 2a3bdbeae1..ab9f6ca1c4 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/RepositoryManager.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/RepositoryManager.kt @@ -17,51 +17,57 @@ import io.reactivex.Observable object RepositoryManager { - private lateinit var repository: IRepository - - init { - if(ProjectUtils.isSaas()){ - if(AppIdentityModeUtils.isShuttle(FunctionBuildConfig.appIdentityMode)) { - repository = ShuttleSaasRepository() - }else if(AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)) { - repository = BusSaasRepository() - } - }else { - if(AppIdentityModeUtils.isShuttle(FunctionBuildConfig.appIdentityMode)) { - repository = ShuttleRepository() - }else if(AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)) { - repository = BusRepository() + private var repository: IRepository?=null + get() { + if(field==null){ + if(ProjectUtils.isSaas()){ + if(AppIdentityModeUtils.isShuttle(FunctionBuildConfig.appIdentityMode)) { + repository = ShuttleSaasRepository() + }else if(AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)) { + repository = BusSaasRepository() + } + }else { + if(AppIdentityModeUtils.isShuttle(FunctionBuildConfig.appIdentityMode)) { + repository = ShuttleRepository() + }else if(AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)) { + repository = BusRepository() + } + } } + return field } + + fun release(){ + repository = null } fun loadCurrentTaskInfo():Observable?{ - return repository.loadCurrentTaskInfo() + return repository?.loadCurrentTaskInfo() } fun queryCanUseLine() : Observable?>? { - return repository.queryCanUseLine() + return repository?.queryCanUseLine() } fun queryCanUserTask(lineId: Long): Observable?>? { - return repository.queryCanUserTask(lineId) + return repository?.queryCanUserTask(lineId) } fun startTask(taskId:Long,lineId:Long,taskTime:Long,lineName:String): Observable? { - 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?{ - 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?{ - return repository.arriveStation(seq,siteId,taskId) + return repository?.arriveStation(seq,siteId,taskId) } fun endTask(taskId: Long): Observable?{ - return repository.endTask(taskId) + return repository?.endTask(taskId) } @@ -85,7 +91,7 @@ object RepositoryManager { ochCommonServiceCallback: OchCommonServiceCallback ) { if (repository is ShuttleSaasRepository) { - repository.queryCarExecutableTaskList(ochCommonServiceCallback) + repository?.queryCarExecutableTaskList(ochCommonServiceCallback) } }