Merge branch 'dev_robotaxi-d_241112_6.8.0' of gitlab.zhidaoauto.com:SCA/L4HA/AndroidApp/MoGoEagleEye into dev_robotaxi-d_241112_6.8.0
This commit is contained in:
@@ -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分钟再查询
|
||||
|
||||
@@ -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')
|
||||
|
||||
@@ -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()
|
||||
}
|
||||
|
||||
@@ -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`)")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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<WriteOffDataBean>? {
|
||||
|
||||
@@ -66,10 +66,20 @@ class WriteOffCacheRepository : IWriteOffRepository {
|
||||
siteId: Long
|
||||
): Observable<Int>? {
|
||||
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<PassengerWriteOffResponse.Result>? {
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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+")
|
||||
|
||||
/**
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
|
||||
<gradient
|
||||
android:startColor="#00000000"
|
||||
android:endColor="#68696B"
|
||||
android:endColor="#282B2E"
|
||||
android:angle="270"
|
||||
/>
|
||||
<corners
|
||||
|
||||
@@ -62,8 +62,8 @@ include ':test:crashreport-apmbyte'
|
||||
//include ':OCH:bus:driver'
|
||||
//include ':OCH:bus:passenger'
|
||||
|
||||
include ':OCH:taxi:driver'
|
||||
include ':OCH:taxi:passenger'
|
||||
//include ':OCH:taxi:driver'
|
||||
//include ':OCH:taxi:passenger'
|
||||
include ':OCH:taxi:pcommon'
|
||||
|
||||
include ':OCH:taxi:unmanned-driver'
|
||||
|
||||
Reference in New Issue
Block a user