Merge branch 'dev_robotaxi-d_240912_6.7.0' of gitlab.zhidaoauto.com:SCA/L4HA/AndroidApp/MoGoEagleEye into dev_robotaxi-d_240912_6.7.0

This commit is contained in:
aibingbing
2024-10-28 19:27:28 +08:00
13 changed files with 146 additions and 114 deletions

View File

@@ -92,16 +92,7 @@ class LoginFragment : MvpFragment<LoginFragment?, LoginPresenter?>(), ILoginView
CallerLogger.d(TAG, "init")
context?.let {
val videoUrl:String
if (AppIdentityModeUtils.isT1T2(FunctionBuildConfig.appIdentityMode)) {
//aciv_login_bg.setImageResource(R.drawable.biz_login_bg_taxi_start)
biz_login_svp.setBackgroundResource(R.drawable.biz_login_bg_taxi_start)
videoUrl = "android.resource://" + it.packageName + "/" + R.raw.biz_login_taxi_bg
}else{
//aciv_login_bg.setImageResource(R.drawable.biz_login_bg_bus_start)
biz_login_svp.setBackgroundResource(R.drawable.biz_login_bg_bus_start)
videoUrl = "android.resource://" + it.packageName + "/" + R.raw.biz_login_bus_bg
}
Debuger.enable()
biz_login_svp.setIsTouchWiget(false)
@@ -109,66 +100,7 @@ class LoginFragment : MvpFragment<LoginFragment?, LoginPresenter?>(), ILoginView
biz_login_svp.enableshowProgressDialog = false
biz_login_svp.enableDoubleClick = false
viewColdStart.setColdStartResultListener(object: ColdStartView.ColdStartResultListener{
override fun coldStartSuccess() {
gsyVideoOptionBuilder.setUrl(videoUrl)
.setCacheWithPlay(false)
.setPlayTag("TaxiPassengerArrivedView")
.build(biz_login_svp)
biz_login_svp.setVideoAllCallBack(object : GSYSampleCallBack() {
override fun onAutoComplete(url: String?, vararg objects: Any?) {
if (AppIdentityModeUtils.isT1T2(FunctionBuildConfig.appIdentityMode)) {
biz_login_svp?.setBackgroundResource(R.drawable.biz_login_bg_taxi_end)
}else{
biz_login_svp?.setBackgroundResource(R.drawable.biz_login_bg_bus_end)
}
}
})
if (showLoginInfoAnimator1 == null) {
showLoginInfoAnimator1 = ObjectAnimator.ofFloat(cl_login_info, "alpha", 0f, 1f)
showLoginInfoAnimator1?.interpolator = LinearInterpolator()
}
if (showLoginInfoAnimator2 == null) {
val dp2px = AutoSizeUtils.dp2px(AbsMogoApplication.getApp(), -50f)
showLoginInfoAnimator2 = ObjectAnimator.ofFloat(cl_login_info, "translationY", 0f, dp2px.toFloat())
showLoginInfoAnimator2?.interpolator = DecelerateInterpolator()
}
UiThreadHandler.postDelayed({
cl_login_info?.let {
val animatorSet = AnimatorSet()
animatorSet.playTogether(showLoginInfoAnimator1, showLoginInfoAnimator2)
animatorSet.duration = 500
animatorSet.addListener(object :AnimatorListener{
override fun onAnimationStart(animation: Animator) {
cl_login_info?.visibility = View.VISIBLE
}
override fun onAnimationEnd(animation: Animator) {
}
override fun onAnimationCancel(animation: Animator) {
}
override fun onAnimationRepeat(animation: Animator) {
}
})
animatorSet.start()
}
},2_000,UiThreadHandler.MODE.QUEUE)
biz_login_svp.startPlayLogic()
}
override fun coldStartFail() {
}
})
}
inputPhoneNormal()
@@ -317,11 +249,86 @@ class LoginFragment : MvpFragment<LoginFragment?, LoginPresenter?>(), ILoginView
biz_cl_driver_main?.viewTreeObserver?.addOnGlobalLayoutListener(onlayoutListener)
super.onResume()
CallerLogger.d(TAG, "onResume")
context?.let {
val videoUrl:String
if (AppIdentityModeUtils.isT1T2(FunctionBuildConfig.appIdentityMode)) {
//aciv_login_bg.setImageResource(R.drawable.biz_login_bg_taxi_start)
biz_login_svp.setBackgroundResource(R.drawable.biz_login_bg_taxi_start)
videoUrl = "android.resource://" + it.packageName + "/" + R.raw.biz_login_taxi_bg
}else{
//aciv_login_bg.setImageResource(R.drawable.biz_login_bg_bus_start)
biz_login_svp.setBackgroundResource(R.drawable.biz_login_bg_bus_start)
videoUrl = "android.resource://" + it.packageName + "/" + R.raw.biz_login_bus_bg
}
viewColdStart.setColdStartResultListener(object: ColdStartView.ColdStartResultListener{
override fun coldStartSuccess() {
biz_login_svp?.let {
gsyVideoOptionBuilder.setUrl(videoUrl)
.setCacheWithPlay(false)
.setPlayTag("TaxiPassengerArrivedView")
.build(biz_login_svp)
biz_login_svp?.setVideoAllCallBack(object : GSYSampleCallBack() {
override fun onAutoComplete(url: String?, vararg objects: Any?) {
if (AppIdentityModeUtils.isT1T2(FunctionBuildConfig.appIdentityMode)) {
biz_login_svp?.setBackgroundResource(R.drawable.biz_login_bg_taxi_end)
}else{
biz_login_svp?.setBackgroundResource(R.drawable.biz_login_bg_bus_end)
}
}
})
if (showLoginInfoAnimator1 == null) {
showLoginInfoAnimator1 = ObjectAnimator.ofFloat(cl_login_info, "alpha", 0f, 1f)
showLoginInfoAnimator1?.interpolator = LinearInterpolator()
}
if (showLoginInfoAnimator2 == null) {
val dp2px = AutoSizeUtils.dp2px(AbsMogoApplication.getApp(), -50f)
showLoginInfoAnimator2 = ObjectAnimator.ofFloat(cl_login_info, "translationY", 0f, dp2px.toFloat())
showLoginInfoAnimator2?.interpolator = DecelerateInterpolator()
}
UiThreadHandler.postDelayed({
cl_login_info?.let {
val animatorSet = AnimatorSet()
animatorSet.playTogether(showLoginInfoAnimator1, showLoginInfoAnimator2)
animatorSet.duration = 500
animatorSet.addListener(object :AnimatorListener{
override fun onAnimationStart(animation: Animator) {
cl_login_info?.visibility = View.VISIBLE
}
override fun onAnimationEnd(animation: Animator) {
}
override fun onAnimationCancel(animation: Animator) {
}
override fun onAnimationRepeat(animation: Animator) {
}
})
animatorSet.start()
}
},2_000,UiThreadHandler.MODE.QUEUE)
biz_login_svp?.startPlayLogic()
}
}
override fun coldStartFail() {
}
})
}
}
override fun onPause() {
biz_cl_driver_main?.viewTreeObserver?.removeOnGlobalLayoutListener(onlayoutListener)
super.onPause()
CallerLogger.d(TAG, "onPause")
viewColdStart.setColdStartResultListener(null)
}
}

View File

@@ -74,6 +74,7 @@ class AutopilotState @JvmOverloads constructor(
override fun onDetachedFromWindow() {
super.onDetachedFromWindow()
autopilotStateAnimator?.release()
}

View File

@@ -50,23 +50,21 @@ class ShuttleFragment : MvpFragment<ShuttleFragment?, BusPresenter?>() {
context?.let {
if(ProjectUtils.isSaas()&& AppIdentityModeUtils.isShuttle(FunctionBuildConfig.appIdentityMode)){
CallerEagleBaseFunctionCall4OchManager.addSingleToolKitDefaultItem(runningTaskGateWay,"本地缓存任务", R.drawable.bus_running_task_history,4)
}
CallerEagleBaseFunctionCall4OchManager.addToolKitDefaultItemClickListener(runningTaskGateWay,object :
IToolKitItemClickListener{
override fun onItemClick(toolTag: String, ctx: Context?) {
when (toolTag) {
runningTaskGateWay -> {
d(TAG, "runningTaskGateWay:$runningTaskGateWay---toolTag:$toolTag")
RunningTaskManager.showBadCaseConfigWindow(it)
CallerEagleBaseFunctionCall4OchManager.addToolKitDefaultItemClickListener(runningTaskGateWay,object :
IToolKitItemClickListener{
override fun onItemClick(toolTag: String, ctx: Context?) {
when (toolTag) {
runningTaskGateWay -> {
d(TAG, "runningTaskGateWay:$runningTaskGateWay---toolTag:$toolTag")
RunningTaskManager.showBadCaseConfigWindow(it)
}
}
}
}
})
CallerEagleBaseFunctionCall4OchManager.addSingleToolKitCustomItem(lineView, LineView(it),10)
})
CallerEagleBaseFunctionCall4OchManager.addSingleToolKitCustomItem(lineView, LineView(it),10)
}
}
initListener()
}
override fun initViews(savedInstanceState: Bundle?) {
@@ -87,7 +85,6 @@ class ShuttleFragment : MvpFragment<ShuttleFragment?, BusPresenter?>() {
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
EventBus.getDefault().register(this)
return super.onCreateView(inflater, container, savedInstanceState)
}
@@ -111,35 +108,17 @@ class ShuttleFragment : MvpFragment<ShuttleFragment?, BusPresenter?>() {
if (mPresenter != null) {
mPresenter!!.onDestroy(this)
}
if(ProjectUtils.isSaas()&& AppIdentityModeUtils.isShuttle(FunctionBuildConfig.appIdentityMode)) {
CallerEagleBaseFunctionCall4OchManager.removeToolkitByTag(mutableListOf(lineView))
CallerEagleBaseFunctionCall4OchManager.removeToolKitDefaultItemClickListener(lineView)
}
super.onDestroyView()
CallerAutopilotRecordListenerManager.removeListener(TAG)
EventBus.getDefault().unregister(this)
}
private fun initListener() {
}
override fun onDestroy() {
super.onDestroy()
}
@Subscribe(threadMode = ThreadMode.MAIN)
fun changeOverview(eventLogout: EventLogout) {
when (eventLogout.messgae) {
EventLogout.SHOW_QR_TYPE-> { //显示二维码
}
EventLogout.SHOW_WAIT_UPLOAD_TASK-> {
context?.let {
RunningTaskManager.showBadCaseConfigWindow(it)
}
}
else -> {}
}
}
/**
* END
*/

View File

@@ -45,7 +45,7 @@ class SwitchLineView: WindowRelativeLayout, SwtichLineModel.SwtichLineViewCallba
companion object {
const val TAG = "BadCaseManagerView"
const val TAG = "SwitchLineView"
}
private var viewModel:SwtichLineModel?=null
@@ -119,6 +119,12 @@ class SwitchLineView: WindowRelativeLayout, SwtichLineModel.SwtichLineViewCallba
}
viewModel?.setDistanceCallback(this)
CallerLogger.d(TAG,"onAttachedToWindow")
}
override fun onDetachedFromWindow() {
super.onDetachedFromWindow()
CallerLogger.d(TAG,"onDetachedFromWindow")
}
override fun startTaskState(success: Boolean) {

View File

@@ -5,6 +5,7 @@ import com.mogo.commons.env.ProjectUtils
import com.mogo.commons.storage.SharedPrefsMgr
import com.mogo.eagle.core.data.config.FunctionBuildConfig
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d
import com.mogo.och.common.module.utils.DateTimeUtil
import com.mogo.och.common.module.utils.RxUtils
@@ -33,6 +34,7 @@ class SwtichLineModel : ViewModel(), IBusLinesCallback {
override fun onCleared() {
CallerLogger.d(TAG,"onCleared")
LineModel.setBusLinesCallback(TAG,null)
}

View File

@@ -186,6 +186,8 @@ class TaxiFragment :MvpFragment<TaxiFragment?, TaxiPresenter?>(),
it.removeAllLines()
it.removeAllPoints()
}
CallerEagleBaseFunctionCall4OchManager.removeToolkitByTag(mutableListOf(lineView))
CallerEagleBaseFunctionCall4OchManager.removeToolKitDefaultItemClickListener(lineView)
startAutopilotAnimationView.cancelCountdown()
super.onDestroyView()
}

View File

@@ -544,6 +544,7 @@ class FaultReasonView @JvmOverloads constructor(
override fun onVisibilityAggregated(isVisible: Boolean) {
super.onVisibilityAggregated(isVisible)
if(visibility == View.VISIBLE){
CallerDevaToolsListenerManager.addListener(TAG, this)
//获取一级分类
CallerDevaToolsManager.getCategories(BadCaseConfig.tenantId, 1, 0, type, 0)
//弹窗展示时间
@@ -585,4 +586,14 @@ class FaultReasonView @JvmOverloads constructor(
}
}
override fun onAttachedToWindow() {
super.onAttachedToWindow()
CallerDevaToolsListenerManager.addListener(TAG, this)
}
override fun onDetachedFromWindow() {
super.onDetachedFromWindow()
CallerDevaToolsListenerManager.removeListener(TAG)
}
}

View File

@@ -344,6 +344,7 @@ class WorkOrderView @JvmOverloads constructor(
override fun onVisibilityChanged(changedView: View, visibility: Int) {
super.onVisibilityChanged(changedView, visibility)
if(visibility == View.VISIBLE){
CallerDevaToolsListenerManager.addListener(TAG, this)
//弹窗展示时间
tv_work_order_time.text =
millis2String(System.currentTimeMillis(), TimeUtils.getHourMinSecondFormat())
@@ -364,7 +365,16 @@ class WorkOrderView @JvmOverloads constructor(
//重置工单问题类型
workOrderType = ""
}
}
override fun onAttachedToWindow() {
super.onAttachedToWindow()
CallerDevaToolsListenerManager.addListener(TAG, this)
}
override fun onDetachedFromWindow() {
super.onDetachedFromWindow()
CallerDevaToolsListenerManager.removeListener(TAG)
}
}

View File

@@ -534,7 +534,7 @@ class OperatePanelLayout : LinearLayout {
val isPressed = preference.extras.getBoolean("is_pressed", true)
if (!isPressed) {
preference.extras.remove("is_pressed")
return true
return false
}
val isChecked = newValue as? Boolean ?: false
hmiAction("SOP 演示模式开关, ", !FunctionBuildConfig.isDemoMode)
@@ -545,18 +545,21 @@ class OperatePanelLayout : LinearLayout {
if (!FunctionBuildConfig.isDemoMode) { //关闭美化模式时,通知工控机
CallerAutoPilotControlManager.setIPCDemoMode(FunctionBuildConfig.isDemoMode)
}
return true
}
KEY_RECORD_BAG_DIALOG -> {
val isChecked = newValue as? Boolean ?: false
FunctionBuildConfig.isShowBagRecordWindow = isChecked
hmiAction("SOP 是否展示录包弹窗, ", isChecked)
clickEventAnalytics("录包弹窗", isChecked)
return true
}
KEY_TAKE_OVER_WAKE -> {
val isChecked = newValue as? Boolean ?: false
FunctionBuildConfig.isTakeoverRemind = isChecked
hmiAction("SOP 是否展示接管提醒, ", isChecked)
clickEventAnalytics("接管提醒", isChecked)
return true
}
}
return super.onPreferenceChange(preference, newValue)
@@ -810,6 +813,7 @@ class OperatePanelLayout : LinearLayout {
CallerLogger.d(TAG, "发送开关数据:${isChecked}到乘客屏")
CallerTelematicManager.sendMsgToAllClients(TelematicConstant.WEATHER_SWITCH_STATUS, (if (isChecked) "1" else "0").toByteArray())
clickEventAnalytics("天气效果开关", isChecked)
return true
}
KEY_SYSTEM_BOOT_STATUS_SHOW -> {
val isChecked = newValue as? Boolean ?: false
@@ -817,6 +821,7 @@ class OperatePanelLayout : LinearLayout {
clickEventAnalytics("系统启动状态展示", isChecked)
HmiBuildConfig.isShowConnectionProgressView = isChecked
CallerHmiViewControlListenerManager.updateConnectionProgressView(isChecked)
return true
}
KEY_SWEEPER_CLOUD_CONTROL -> {
val isChecked = newValue as? Boolean ?: false
@@ -836,6 +841,7 @@ class OperatePanelLayout : LinearLayout {
confirmDialog.showSweeperModeChangeConfirmDialog()
}
clickEventAnalytics("清扫云控业务", isChecked)
return true
}
}
return super.onPreferenceChange(preference, newValue)
@@ -1217,7 +1223,7 @@ class OperatePanelLayout : LinearLayout {
val isPressed = preference.extras.getBoolean("is_pressed", true)
if (!isPressed) {
preference.extras.remove("is_pressed")
return true
return false
}
val isChecked = newValue as? Boolean ?: false
hmiAction("SOP 雨天模式开关, ", isChecked)

View File

@@ -416,6 +416,9 @@ class ColdStartView @JvmOverloads constructor(
//域控连接成功埋点统计
reason = "域控连接成功"
ColdStartAnalyticsManager.coldStartStepAnalytics(ColdStartAnalyticsManager.ipcConnectSuccess,reason)
ssmConnectStatus = false
coldStartStatus = false
newColdStart = false
}
/**
@@ -630,7 +633,7 @@ class ColdStartView @JvmOverloads constructor(
fun coldStartFail()
}
fun setColdStartResultListener(listener: ColdStartResultListener){
fun setColdStartResultListener(listener: ColdStartResultListener?){
coldStartResultListener = listener
}

View File

@@ -141,20 +141,20 @@ class TravelRealityModel private constructor() {
fun cancelAllRequest() {
if (eventKey.isNotEmpty()) {
eventKey = ""
cancel(eventKey)
eventKey = ""
}
if (deviceKey.isNotEmpty()) {
deviceKey = ""
cancel(deviceKey)
deviceKey = ""
}
if (trackKey.isNotEmpty()) {
trackKey = ""
cancel(trackKey)
trackKey = ""
}
if (liveKey.isNotEmpty()) {
liveKey = ""
cancel(liveKey)
liveKey = ""
}
clearDownload()
}

View File

@@ -146,6 +146,11 @@ class MapRoamView(context: Context?, attrs: AttributeSet?) : MogoMapView(context
getUI()?.setVisible(false)
}
override fun onDetachedFromWindow() {
super.onDetachedFromWindow()
CallerMapAiCloudDataManager.removeListener(RoadCrossRoamView.TAG)
}
@ChainLog(
linkChainLog = ChainConstant.CHAIN_TYPE_STATUS,
linkCode = ChainConstant.CHAIN_SOURCE_ADAS,

View File

@@ -81,7 +81,7 @@ MOGO_LOCATION_VERSION=1.4.7.42
MOGO_TELEMATIC_VERSION=1.4.7.42
######## MogoAiCloudSDK Version ########
# 自研地图
MAP_SDK_VERSION=3.4.1.18
MAP_SDK_VERSION=3.4.1.21
MAP_SDK_DATA_VERSION=1.0.0.9
MAP_SDK_OPERATION_VERSION=1.1.4.1
# websocket