diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/media/MediaDataSourceManager.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/media/MediaDataSourceManager.kt index 62e247f538..bc047fcb60 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/media/MediaDataSourceManager.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/media/MediaDataSourceManager.kt @@ -151,11 +151,9 @@ object MediaDataSourceManager { } } else { //请求成功获取到后台配置数据了,但是数据为空,此时为了有内容展示,还是使用本地数据更新播放 - if (mLastMediaDataSourceList.isEmpty()) { - val localAdDataList = getMediaDataFromLocalConfig() - updateMediaDataSource(localAdDataList) - MediaPlayLogger.printInfoLog("startGetMediaDataSourceLoop:success, 从管理后台获取到数据,返回数据为空,使用本地配置数据播放") - } + val localAdDataList = getMediaDataFromLocalConfig() + updateMediaDataSource(localAdDataList) + MediaPlayLogger.printInfoLog("startGetMediaDataSourceLoop:success, 从管理后台获取到数据,返回数据为空,使用本地配置数据播放") } // 获取成功后,延迟5分钟再查询 diff --git a/OCH/facade/script/och.gradle b/OCH/facade/script/och.gradle index a7ca13bec8..a9b2e0736e 100644 --- a/OCH/facade/script/och.gradle +++ b/OCH/facade/script/och.gradle @@ -26,20 +26,20 @@ project.dependencies { } else if (isCurrentPassenger("B2")) { implementation project.project(':OCH:shuttle:passenger_weaknet') } else if (isCurrentDriver("T1T2")) { - implementation project.project(':OCH:taxi:driver') +// implementation project.project(':OCH:taxi:driver') implementation project.project(':OCH:taxi:unmanned-driver') } else if (isCurrentPassenger("T1T2")) { implementation project.project(':OCH:taxi:unmanned-passenger') - implementation project.project(':OCH:taxi:passenger') +// implementation project.project(':OCH:taxi:passenger') } else if (isCurrentDriver("ALL")) { implementation project.project(':OCH:offline:driver') implementation project.project(':OCH:taxi:unmanned-driver') - implementation project.project(':OCH:taxi:driver') +// implementation project.project(':OCH:taxi:driver') implementation project.project(':OCH:charter:driver') implementation project.project(':OCH:sweeper:driver') } else if (isCurrentPassenger("ALL")) { implementation project.project(':OCH:taxi:unmanned-passenger') - implementation project.project(':OCH:taxi:passenger') +// implementation project.project(':OCH:taxi:passenger') implementation project.project(':OCH:charter:passenger') implementation project.project(':OCH:shuttle:passenger_weaknet') implementation project.project(':OCH:shuttle:driver_weaknet') @@ -48,8 +48,8 @@ project.dependencies { implementation project.project(':OCH:charter:driver') implementation project.project(':OCH:charter:passenger') implementation project.project(':OCH:sweeper:driver') - implementation project.project(':OCH:taxi:driver') - implementation project.project(':OCH:taxi:passenger') +// implementation project.project(':OCH:taxi:driver') +// implementation project.project(':OCH:taxi:passenger') implementation project.project(':OCH:taxi:unmanned-driver') implementation project.project(':OCH:taxi:unmanned-passenger') implementation project.project(':OCH:shuttle:passenger_weaknet') diff --git a/OCH/facade/src/main/java/com/mogo/och/facade/route/FacadeProvider.kt b/OCH/facade/src/main/java/com/mogo/och/facade/route/FacadeProvider.kt index 6f7c6172ae..bc77c249fd 100644 --- a/OCH/facade/src/main/java/com/mogo/och/facade/route/FacadeProvider.kt +++ b/OCH/facade/src/main/java/com/mogo/och/facade/route/FacadeProvider.kt @@ -122,13 +122,13 @@ abstract class FacadeProvider : IMoGoFunctionProvider, ILoginCallback { } else if (AppIdentityModeUtils.isCharterDriver(FunctionBuildConfig.appIdentityMode)) { return getFragmentByServeName(OchCommonConst.CHARTER_DRIVER) } else if (AppIdentityModeUtils.isTaxiDriver(FunctionBuildConfig.appIdentityMode)) { - return if (ProjectUtils.isMogo()) { - getFragmentByServeName(OchCommonConst.TAXI_DRIVER) - } else if (ProjectUtils.isSaas()) { - getFragmentByServeName(OchCommonConst.TAXI_UNMANNED_DRIVER) - } else { - getFragmentByServeName(OchCommonConst.TAXI_DRIVER) - } +// return if (ProjectUtils.isMogo()) { +// getFragmentByServeName(OchCommonConst.TAXI_DRIVER) +// } else if (ProjectUtils.isSaas()) { + return getFragmentByServeName(OchCommonConst.TAXI_UNMANNED_DRIVER) +// } else { +// getFragmentByServeName(OchCommonConst.TAXI_DRIVER) +// } } else if (AppIdentityModeUtils.isSweeper(FunctionBuildConfig.appIdentityMode)) { return getFragmentByServeName(OchCommonConst.SWEEPER_DRIVER) } else if (AppIdentityModeUtils.isBusPassenger(FunctionBuildConfig.appIdentityMode)) { @@ -138,13 +138,13 @@ abstract class FacadeProvider : IMoGoFunctionProvider, ILoginCallback { } else if (AppIdentityModeUtils.isCharterPassenger(FunctionBuildConfig.appIdentityMode)) { return getFragmentByServeName(OchCommonConst.CHARTER_PASSENGER) } else if (AppIdentityModeUtils.isTaxiPassenger(FunctionBuildConfig.appIdentityMode)) { - return if (ProjectUtils.isMogo()) { - getFragmentByServeName(OchCommonConst.TAXI_PASSENGER) - } else if (ProjectUtils.isSaas()) { - getFragmentByServeName(OchCommonConst.TAXI_UNMANNED_PASSENGER) - } else { - getFragmentByServeName(OchCommonConst.TAXI_PASSENGER) - } +// return if (ProjectUtils.isMogo()) { +// getFragmentByServeName(OchCommonConst.TAXI_PASSENGER) +// } else if (ProjectUtils.isSaas()) { + return getFragmentByServeName(OchCommonConst.TAXI_UNMANNED_PASSENGER) +// } else { +// getFragmentByServeName(OchCommonConst.TAXI_PASSENGER) +// } } return LoginStatusManager.getFragment() } diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/MyDataBase.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/MyDataBase.kt index 18f34dd05d..f87a5595e4 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/MyDataBase.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/MyDataBase.kt @@ -83,7 +83,8 @@ abstract class MyDataBase : RoomDatabase() { private val MIGRATION_4_5 = object : Migration(4, 5) { override fun migrate(database: SupportSQLiteDatabase) { - database.execSQL("CREATE TABLE IF NOT EXISTS `${WriteOffDataBean.writeoffDataTable}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `msg_id` TEXT, `expiry_time` INTEGER, `booking_time` INTEGER, `type` INTEGER, `task_id` INTEGER, `line_id` INTEGER, `site_id` INTEGER, `driver_id` INTEGER, `remaining_times` INTEGER, `order_no` TEXT, `uid` TEXT, `seq` TEXT, `business_time` INTEGER, `tick_size` INTEGER, `tick_name` TEXT, `event_save_time` INTEGER NOT NULL, `update_status` INTEGER NOT NULL, `update_time` INTEGER)") + database.execSQL("CREATE TABLE IF NOT EXISTS `${WriteOffDataBean.writeoffDataTable}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `msg_id` TEXT, `expiry_time` INTEGER, `booking_time` INTEGER, `type` INTEGER, `task_id` INTEGER, `line_id` INTEGER, `site_id` INTEGER, `driver_id` INTEGER, `available_times` INTEGER, `order_no` TEXT, `uid` TEXT, `seq` TEXT, `business_time` INTEGER, `tick_size` INTEGER, `tick_name` TEXT, `event_save_time` INTEGER NOT NULL, `update_status` INTEGER NOT NULL, `update_time` INTEGER)") + database.execSQL("CREATE INDEX `index_writeoff_data_table_event_save_time` ON `writeoff_data_table` (`event_save_time`)") } } diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/repository/WriteOffDb.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/repository/WriteOffDb.kt index 988be54510..06ecdd69cc 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/repository/WriteOffDb.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/repository/WriteOffDb.kt @@ -48,7 +48,15 @@ object WriteOffDb: IDbRepository { fun queryWaitUpdateEventCountByTaskId(taskId: Long):Int { val queryWriteOffByOrderNo = writeOffDataDao?.queryWaitWriteOffByTaskId(taskId) - return queryWriteOffByOrderNo?.size?:0 + var count4Persion = 0 + queryWriteOffByOrderNo?.forEach { wirteoffItem-> + if (wirteoffItem.ticketSize == null || wirteoffItem.ticketSize!! < 1) { + wirteoffItem.ticketSize=1 + } + count4Persion+=(wirteoffItem.ticketSize?:1) + } + + return count4Persion } fun queryWriteOffByTaskAndSiteId(taskId: Long, siteId: Long): List? { diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/writeoff/impl/WriteOffCacheRepository.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/writeoff/impl/WriteOffCacheRepository.kt index 057f06f39a..b02e379e17 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/writeoff/impl/WriteOffCacheRepository.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/writeoff/impl/WriteOffCacheRepository.kt @@ -66,10 +66,20 @@ class WriteOffCacheRepository : IWriteOffRepository { siteId: Long ): Observable? { val queryWriteOffByTaskAndSiteId = WriteOffDb.queryWriteOffByTaskAndSiteId(taskId, siteId) - return Observable.just(queryWriteOffByTaskAndSiteId) - .flatMap { - return@flatMap Observable.just(it?.size ?:0) + queryWriteOffByTaskAndSiteId?.let { + var count4Persion = 0 + it.forEach { wirteoffItem-> + if (wirteoffItem.ticketSize == null || wirteoffItem.ticketSize!! < 1) { + wirteoffItem.ticketSize=1 + } + count4Persion+=(wirteoffItem.ticketSize?:1) } + return Observable.just(count4Persion) + .flatMap { + return@flatMap Observable.just(it) + } + } + return Observable.just(0) } override fun writeOffEvent(writeOffDetialMsg: WriteOffDetialMsg): Observable? { diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiProvider.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiProvider.kt index 33345fe426..19f3ce8003 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiProvider.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiProvider.kt @@ -636,6 +636,12 @@ class MoGoHmiProvider : IMoGoHmiProvider { .onDismissed { popOfSafetyStopCar.set(null) } + .onShowed { + content.scope.launch { + delay(5000) + popOfSafetyStopCar.get()?.get()?.hide() + } + } .build() .also { popOfSafetyStopCar.set(WeakReference(it)) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/ColdStartProcessView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/ColdStartProcessView.kt index f66deb96bc..3a40e861c3 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/ColdStartProcessView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/ColdStartProcessView.kt @@ -20,6 +20,7 @@ import com.mogo.eagle.core.function.call.hmi.CallerHmiManager import com.mogo.eagle.core.function.call.hmi.CallerHmiViewControlListenerManager import com.mogo.eagle.core.function.hmi.R import com.mogo.eagle.core.function.hmi.util.FrameAnimatorContainerUtils +import com.mogo.eagle.core.utilcode.util.ResourceUtils import com.mogo.eagle.core.utilcode.util.ThreadUtils import com.zhjt.mogo.adas.data.AdasConstants import com.zhjt.mogo_core_function_devatools.coldstart.ColdStartConfig @@ -50,7 +51,6 @@ class ColdStartProcessView @JvmOverloads constructor( const val COLD_START_SUCCESS_TICK_TIME = 500L //冷启动成功视图呼吸时长 } - private var ipcConnectStatus = false //连接域控状态,默认是未连接 private var ssmConnectStatus = false //SSM连接状态,默认是未连接 private var coldStartStatus = false //冷启动状态,默认是未冷启动成功 @@ -106,6 +106,8 @@ class ColdStartProcessView @JvmOverloads constructor( CallerColdStartStateListenerManager.removeListener(TAG) coldStartProcessNormalAnim?.release() coldStartProcessAbnormalAnim?.release() + connectSSMTimer?.cancel() + connectColdStartTimer?.cancel() } override fun showColdStartProcessView() { @@ -125,6 +127,8 @@ class ColdStartProcessView @JvmOverloads constructor( if(status == AdasConstants.IpcConnectionStatus.CONNECTED){ //域控连接成功 coldStartNormalView() + //开启连接SSM倒计时 + connectSSMProcess() }else{ //域控连接失败 coldStartAbnormalView() @@ -138,7 +142,7 @@ class ColdStartProcessView @JvmOverloads constructor( */ override fun onAutopilotStatusRespByQuery(status: SystemStatusInfo.StatusInfo){ //SSM连接成功 - coldStartNormalView() + connectSSMSuccess() //通过autoPilotReady判断冷启动是否成功 if(status.hasAutoPilotReady() && status.autoPilotReady && !coldStartStatus){ coldStartStatus = true @@ -156,7 +160,7 @@ class ColdStartProcessView @JvmOverloads constructor( */ override fun onSystemStatus(statusInf: SsmInfo.SsmStatusInf){ //SSM连接成功 - coldStartNormalView() + connectSSMSuccess() //版本兼容 if(parseVersion(true, statusInf.masterVersion) > 40600){ //主动查询冷启动状态 @@ -246,6 +250,12 @@ class ColdStartProcessView @JvmOverloads constructor( */ private fun showColdStartSuccessView(){ ThreadUtils.runOnUiThread { + if(coldStartProcessNormalAnim?.isPlaying() == true){ + coldStartProcessNormalAnim?.stop() + } + if(coldStartProcessAbnormalAnim?.isPlaying() == true){ + coldStartProcessAbnormalAnim?.stop() + } var label = true coldStartSuccessTimer = object: CountDownTimer(COLD_START_SUCCESS_SHOW_TIME,COLD_START_SUCCESS_TICK_TIME){ override fun onTick(millisUntilFinished: Long) { @@ -263,6 +273,8 @@ class ColdStartProcessView @JvmOverloads constructor( override fun onFinish() { ThreadUtils.runOnUiThread { this@ColdStartProcessView.visibility = View.GONE + coldStartProcessNormalAnim?.release() + coldStartProcessAbnormalAnim?.release() } } @@ -276,10 +288,77 @@ class ColdStartProcessView @JvmOverloads constructor( */ private fun showColdStartFailView(){ ThreadUtils.runOnUiThread { - + if(coldStartProcessNormalAnim?.isPlaying() == true){ + coldStartProcessNormalAnim?.stop() + } + if(coldStartProcessAbnormalAnim?.isPlaying() == true){ + coldStartProcessAbnormalAnim?.stop() + } + ivColdStartProcess.setImageDrawable((ResourceUtils.getDrawable(R.drawable.icon_cold_start_fail_02))) } } + /** + * 连接SSM过程 + */ + private fun connectSSMProcess(){ + ThreadUtils.runOnUiThread { + connectSSMTimer = object: CountDownTimer(LOAD_SSM_WAITING_TIME,LOAD_SSM_WAITING_TIME){ + override fun onTick(millisUntilFinished: Long) { + + } + + override fun onFinish() { + //将SSM连接状态置为false + ssmConnectStatus = false + coldStartStatus = false + currentColdStartSuccess = false + //取消连接SSM超时等待倒计时 + connectSSMTimer?.cancel() + //展示冷启动失败视图 + showColdStartFailView() + } + } + connectSSMTimer?.start() + } + } + + /** + * SSM连接成功 + */ + private fun connectSSMSuccess(){ + if(!ssmConnectStatus){ + coldStartNormalView() + //取消连接SSM超时等待倒计时 + connectSSMTimer?.cancel() + //开始启动冷启动等待倒计时 + coldStartProcess() + } + ssmConnectStatus = true + } + + /** + * 冷启动过程 + */ + private fun coldStartProcess(){ + ThreadUtils.runOnUiThread { + connectColdStartTimer = object: CountDownTimer(COLD_START_WAITING_TIME,COLD_START_WAITING_TIME){ + override fun onTick(millisUntilFinished: Long) { + } + + override fun onFinish() { + //将冷启动状态置为false + coldStartStatus = false + currentColdStartSuccess = false + //展示冷启动失败视图 + showColdStartFailView() + } + } + connectColdStartTimer?.start() + } + } + + private val pattern = Pattern.compile("\\d+\\.\\d+\\.\\d+") /** diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/bg_cold_start_list_mask.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/bg_cold_start_list_mask.xml index 2154d7c428..1a2ce18380 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/bg_cold_start_list_mask.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/bg_cold_start_list_mask.xml @@ -2,7 +2,7 @@