[8.5.0]
[singapore] [用户信息展示]
This commit is contained in:
@@ -35,6 +35,11 @@ class WorkOrderManager{
|
||||
* 展示接管记录页面
|
||||
*/
|
||||
fun showTakeOverRecordView(context: Context){
|
||||
if(hideFloat!=null){
|
||||
hideFloat?.invoke()
|
||||
hideFloat = null
|
||||
return
|
||||
}
|
||||
val takeOverRecordView = TakeOverRecordView(context)
|
||||
takeOverRecordView.setOnClickListener(object: TakeOverRecordView.ClickListener{
|
||||
override fun onClose() {
|
||||
|
||||
@@ -65,11 +65,11 @@ import org.json.JSONObject
|
||||
import system_master.SsmInfo
|
||||
import system_master.SystemStatusInfo
|
||||
|
||||
private fun String.parsePlateNo(): String {
|
||||
fun String.parsePlateNo(): String {
|
||||
return " " + substring(0, 2) + " " + substring(2) + " "
|
||||
}
|
||||
|
||||
private fun String.parsePhoneNo(): String {
|
||||
fun String.parsePhoneNo(): String {
|
||||
return take(3) + "****" + takeLast(4)
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
package com.mogo.eagle.core.function.hmi.bone.unmanned
|
||||
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import android.view.LayoutInflater
|
||||
import androidx.constraintlayout.widget.ConstraintLayout
|
||||
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager
|
||||
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager
|
||||
import com.mogo.eagle.core.function.hmi.R
|
||||
import com.mogo.eagle.core.utilcode.kotlin.onClick
|
||||
import kotlinx.android.synthetic.main.unmanned_view_tool_logout.view.tvSignOut
|
||||
import com.mogo.eagle.core.function.call.och.CallerOchBizFunctionCall4EagleManager
|
||||
|
||||
|
||||
/**
|
||||
* 退出登录
|
||||
*/
|
||||
class UnmannedOperationPanelView @JvmOverloads constructor(
|
||||
context: Context,
|
||||
attrs: AttributeSet? = null,
|
||||
defStyleAttr: Int = 0
|
||||
) : ConstraintLayout(context, attrs, defStyleAttr) {
|
||||
|
||||
companion object {
|
||||
const val TAG = "UnmannedToolStopServiceView"
|
||||
}
|
||||
|
||||
init {
|
||||
LayoutInflater.from(context).inflate(R.layout.unmanned_view_operation_panel, this, true)
|
||||
initView()
|
||||
}
|
||||
|
||||
private fun initView() {
|
||||
onClick {
|
||||
if(CallerHmiManager.getOperatePanelShowing()){
|
||||
CallerHmiManager.toggleOperatePanel(false)
|
||||
}else {
|
||||
CallerHmiManager.toggleOperatePanel(true)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun onAttachedToWindow() {
|
||||
super.onAttachedToWindow()
|
||||
}
|
||||
|
||||
override fun onDetachedFromWindow() {
|
||||
super.onDetachedFromWindow()
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
package com.mogo.eagle.core.function.hmi.bone.unmanned
|
||||
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import android.view.LayoutInflater
|
||||
import androidx.constraintlayout.widget.ConstraintLayout
|
||||
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager
|
||||
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager
|
||||
import com.mogo.eagle.core.function.hmi.R
|
||||
import com.mogo.eagle.core.utilcode.kotlin.onClick
|
||||
import kotlinx.android.synthetic.main.unmanned_view_tool_logout.view.tvSignOut
|
||||
import com.mogo.eagle.core.function.call.och.CallerOchBizFunctionCall4EagleManager
|
||||
|
||||
|
||||
/**
|
||||
* 退出登录
|
||||
*/
|
||||
class UnmannedTakeOverView @JvmOverloads constructor(
|
||||
context: Context,
|
||||
attrs: AttributeSet? = null,
|
||||
defStyleAttr: Int = 0
|
||||
) : ConstraintLayout(context, attrs, defStyleAttr) {
|
||||
|
||||
companion object {
|
||||
const val TAG = "UnmannedToolStopServiceView"
|
||||
}
|
||||
|
||||
init {
|
||||
LayoutInflater.from(context).inflate(R.layout.unmanned_view_take_over, this, true)
|
||||
initView()
|
||||
}
|
||||
|
||||
private fun initView() {
|
||||
onClick {
|
||||
CallerDevaToolsManager.showTakeOverRecordView(it.context)
|
||||
}
|
||||
}
|
||||
|
||||
override fun onAttachedToWindow() {
|
||||
super.onAttachedToWindow()
|
||||
}
|
||||
|
||||
override fun onDetachedFromWindow() {
|
||||
super.onDetachedFromWindow()
|
||||
}
|
||||
|
||||
}
|
||||
@@ -4,6 +4,7 @@ import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import android.view.LayoutInflater
|
||||
import androidx.constraintlayout.widget.ConstraintLayout
|
||||
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager
|
||||
import com.mogo.eagle.core.function.hmi.R
|
||||
import com.mogo.eagle.core.utilcode.kotlin.onClick
|
||||
import kotlinx.android.synthetic.main.unmanned_view_tool_logout.view.tvSignOut
|
||||
@@ -11,7 +12,7 @@ import com.mogo.eagle.core.function.call.och.CallerOchBizFunctionCall4EagleManag
|
||||
|
||||
|
||||
/**
|
||||
* 一件停服
|
||||
* 退出登录
|
||||
*/
|
||||
class UnmannedToolLogoutView @JvmOverloads constructor(
|
||||
context: Context,
|
||||
@@ -29,8 +30,8 @@ class UnmannedToolLogoutView @JvmOverloads constructor(
|
||||
}
|
||||
|
||||
private fun initView() {
|
||||
//一键停服
|
||||
tvSignOut.onClick {
|
||||
//退出登录
|
||||
onClick {
|
||||
CallerOchBizFunctionCall4EagleManager.logout()
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,318 @@
|
||||
package com.mogo.eagle.core.function.hmi.bone.unmanned
|
||||
|
||||
import android.content.Context
|
||||
import android.view.View
|
||||
import androidx.constraintlayout.widget.ConstraintLayout.GONE
|
||||
import androidx.constraintlayout.widget.ConstraintLayout.VISIBLE
|
||||
import androidx.lifecycle.LifecycleObserver
|
||||
import com.mogo.commons.debug.DebugConfig
|
||||
import com.mogo.commons.storage.SharedPrefsMgr
|
||||
import com.mogo.eagle.core.data.app.AppConfigInfo
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener
|
||||
import com.mogo.eagle.core.function.api.datacenter.IDataCenterBizListener
|
||||
import com.mogo.eagle.core.function.api.hmi.autopilot.IMoGoCheckAutoPilotBtnListener
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationWGS84ListenerManager
|
||||
import com.mogo.eagle.core.function.call.datacenter.CallerDataCenterBizListener
|
||||
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager
|
||||
import com.mogo.eagle.core.function.call.devatools.CallerOTAManager
|
||||
import com.mogo.eagle.core.function.call.hmi.CallerHmiListenerManager
|
||||
import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager
|
||||
import com.mogo.eagle.core.function.hmi.R
|
||||
import com.mogo.eagle.core.function.hmi.bone.tab.parsePlateNo
|
||||
import com.mogo.eagle.core.function.hmi.dialog.BaseFloatDialog
|
||||
import com.mogo.eagle.core.function.hmi.ui.tools.OfflineMapDialog
|
||||
import com.mogo.eagle.core.function.hmi.ui.utils.HmiActionLog
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_HMI
|
||||
import com.mogo.eagle.core.utilcode.util.AppUtils
|
||||
import com.mogo.eagle.core.utilcode.util.NetworkUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
|
||||
import com.mogo.map.MogoData
|
||||
import com.zhjt.mogo_core_function_devatools.ota.OTAUpgradeConfig
|
||||
import kotlinx.android.synthetic.main.dialog_version_info.acivCloseDialog
|
||||
import kotlinx.android.synthetic.main.dialog_version_info.tvADMapVersionName
|
||||
import kotlinx.android.synthetic.main.dialog_version_info.tvHDMapVersionName
|
||||
import kotlinx.android.synthetic.main.dialog_version_info.tvADVersionName
|
||||
import kotlinx.android.synthetic.main.dialog_version_info.tvCarNo
|
||||
import kotlinx.android.synthetic.main.dialog_version_info.tvGridMapVersionName
|
||||
import kotlinx.android.synthetic.main.dialog_version_info.tvHDMapUpdate
|
||||
import kotlinx.android.synthetic.main.dialog_version_info.tvPADUpdate
|
||||
import kotlinx.android.synthetic.main.dialog_version_info.tvPADVersionName
|
||||
import kotlinx.android.synthetic.main.dialog_version_info.tvSlamMapVersionName
|
||||
import kotlinx.android.synthetic.main.dialog_version_info.tvSnInfo
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.GlobalScope
|
||||
import kotlinx.coroutines.launch
|
||||
import org.json.JSONObject
|
||||
import system_master.SsmInfo
|
||||
import system_master.SystemStatusInfo
|
||||
|
||||
/**
|
||||
* @author XuXinChao
|
||||
* @description 工控机确认升级对话框
|
||||
* @since: 2022/1/13
|
||||
*/
|
||||
class UnmannedVersionInfoDialog(context: Context) :
|
||||
BaseFloatDialog(context,TAG), LifecycleObserver, IMoGoCheckAutoPilotBtnListener,
|
||||
IMoGoAutopilotStatusListener, IDataCenterBizListener {
|
||||
|
||||
companion object {
|
||||
private const val TAG = "UnmannedVersionInfoDialog"
|
||||
private var adUpgradeDialog: UnmannedVersionInfoDialog? = null
|
||||
|
||||
fun show(context: Context?) {
|
||||
context?.let {
|
||||
if (adUpgradeDialog == null) {
|
||||
adUpgradeDialog = UnmannedVersionInfoDialog(it)
|
||||
}
|
||||
adUpgradeDialog?.let { dialog ->
|
||||
if (dialog.isShowing) {
|
||||
return
|
||||
}
|
||||
dialog.show()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Volatile
|
||||
private var isHDCached = false
|
||||
|
||||
|
||||
init {
|
||||
setContentView(R.layout.dialog_version_info)
|
||||
setCanceledOnTouchOutside(true)
|
||||
|
||||
initView()
|
||||
initListener()
|
||||
}
|
||||
|
||||
private fun initView() {
|
||||
CallerHmiListenerManager.addListener(TAG,this)
|
||||
CallerAutoPilotStatusListenerManager.addListener(TAG, this)
|
||||
CallerDataCenterBizListener.addListener(TAG, this)
|
||||
|
||||
showCurrentPadVersion()
|
||||
showCurrentAdVersion()
|
||||
updateAdHdMapVersion()
|
||||
updateGridMapVersion()
|
||||
updateSlamMapVersion()
|
||||
|
||||
tvSnInfo.text = SharedPrefsMgr.getInstance().sn
|
||||
|
||||
|
||||
|
||||
GlobalScope.launch(Dispatchers.IO){
|
||||
MogoData.mogoMapData.get()?.isCityDataCached {
|
||||
updateHDDataCacheStatus(it)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun initListener(){
|
||||
acivCloseDialog.setOnClickListener {
|
||||
dismiss()
|
||||
}
|
||||
|
||||
//鹰眼版本 检查更新
|
||||
tvPADUpdate.setOnClickListener {
|
||||
HmiActionLog.hmiAction(
|
||||
"${SceneConstant.M_HMI}${TAG}",
|
||||
"pad version view clicked"
|
||||
)
|
||||
val provider = CallerDevaToolsManager.upgradeProvider()
|
||||
if (provider?.isDownloading() == true) {
|
||||
// ToastUtils.showShort("正在下载最新版本,请稍候再试...")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_downloading_new_version)
|
||||
return@setOnClickListener
|
||||
}
|
||||
CallerDevaToolsManager.queryAppUpgrade { upgradeStatus, errorInfo ->
|
||||
if (!upgradeStatus && !errorInfo.isNullOrEmpty()) {
|
||||
ToastUtils.showShort(errorInfo)
|
||||
}
|
||||
}
|
||||
}
|
||||
//域控OTA升级 检查更新
|
||||
tvHDMapVersionName.setOnClickListener {
|
||||
HmiActionLog.hmiAction(
|
||||
"${SceneConstant.M_HMI}${TAG}",
|
||||
"ad version view clicked"
|
||||
)
|
||||
if(OTAUpgradeConfig.supportOTA){
|
||||
//查询OTA状态
|
||||
OTAUpgradeConfig.isQuery = true
|
||||
OTAUpgradeConfig.promptedUpgrade.remove(OTAUpgradeConfig.otaToken)
|
||||
CallerAutoPilotControlManager.sendSsmFuncOtaStatusQuery(OTAUpgradeConfig.otaToken)
|
||||
|
||||
//查询OTA2.0升级
|
||||
val query = JSONObject()
|
||||
query.put("cmd","PAD_QUERY_UPGRADE_STATUS")
|
||||
query.put("token", OTAUpgradeConfig.token)
|
||||
CallerAutoPilotControlManager.sendOtaPadMsgQuery(query.toString())
|
||||
CallerOTAManager.invokeOtaPadMsgQuery()
|
||||
}else{
|
||||
// ToastUtils.showLong("当前SSM节点未成功启动或当前版本不支持OTA升级")
|
||||
ToastUtils.showLong(R.string.module_mogo_core_function_hmi_ssm_not_start)
|
||||
}
|
||||
|
||||
}
|
||||
tvHDMapVersionName.text = DebugConfig.getMapVersion()
|
||||
//高精地图 检查更新
|
||||
tvHDMapUpdate.setOnClickListener {
|
||||
HmiActionLog.hmiAction(
|
||||
"${SceneConstant.M_HMI}${TAG}",
|
||||
mapOf("isHDCached" to isHDCached)
|
||||
)
|
||||
if (isHDCached) { // 已缓存
|
||||
ToastUtils.showShort(context.resources.getString(R.string.offline_had_downloaded))
|
||||
} else {// 未缓存
|
||||
if (!NetworkUtils.isConnected(context)) {
|
||||
ToastUtils.showShort(context.resources.getString(R.string.offline_update_tip))
|
||||
return@setOnClickListener
|
||||
}
|
||||
if (CallerMapUIServiceManager.getCityCode().isNullOrEmpty()) {// 未拿到高德的cityCode
|
||||
if ((CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84().longitude <= 0.0 && CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84().latitude <= 0.0)) {// 未拿到高精的经纬度
|
||||
ToastUtils.showShort(context.resources.getString(R.string.location_try_again))
|
||||
} else { // 拿到了高精的经纬度
|
||||
OfflineMapDialog(context).show()
|
||||
}
|
||||
} else {// 拿到高德的cityCode
|
||||
OfflineMapDialog(context).show()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun showCurrentPadVersion() {
|
||||
tvPADVersionName.text = AppUtils.getAppVersionName()
|
||||
}
|
||||
|
||||
private fun showCurrentAdVersion() {
|
||||
UiThreadHandler.post {
|
||||
if(AppConfigInfo.mapShowName.isNotEmpty()){
|
||||
tvADVersionName.text = AppConfigInfo.mapShowName
|
||||
}else{
|
||||
if(CallerAutoPilotStatusListenerManager.getDockerVersion().isNullOrEmpty()){
|
||||
tvADVersionName.text = ""
|
||||
}else{
|
||||
tvADVersionName.text = CallerAutoPilotStatusListenerManager.getDockerVersion()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新域控高精地图版本
|
||||
*/
|
||||
private fun updateAdHdMapVersion() {
|
||||
if (AppConfigInfo.adHdMapVersion.isNotEmpty()) {
|
||||
UiThreadHandler.post {
|
||||
if(tvADMapVersionName.text.contains(AppConfigInfo.adHdMapVersion)){
|
||||
return@post
|
||||
}
|
||||
CallerLogger.i(SceneConstant.M_HMI + TAG, "updateAdHdMapVersion, adHdMapVersion:${AppConfigInfo.adHdMapVersion} , text:${tvADMapVersionName.text}")
|
||||
tvADMapVersionName.text = AppConfigInfo.adHdMapVersion
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新工控机栅格地图版本
|
||||
*/
|
||||
private fun updateGridMapVersion(){
|
||||
if(AppConfigInfo.gridMapVersion.isNotEmpty()){
|
||||
UiThreadHandler.post{
|
||||
if(tvGridMapVersionName.text.contains(AppConfigInfo.gridMapVersion)){
|
||||
return@post
|
||||
}
|
||||
CallerLogger.i(SceneConstant.M_HMI + TAG, "updateGridMapVersion, gridMapVersion:${AppConfigInfo.gridMapVersion}")
|
||||
tvGridMapVersionName.text = AppConfigInfo.gridMapVersion
|
||||
tvGridMapVersionName.visibility = View.VISIBLE
|
||||
}
|
||||
}else{
|
||||
UiThreadHandler.post{
|
||||
tvGridMapVersionName.visibility = View.GONE
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新工控机激光Slam地图版本
|
||||
*/
|
||||
private fun updateSlamMapVersion(){
|
||||
if(AppConfigInfo.slamMapVersion.isNotEmpty()){
|
||||
UiThreadHandler.post{
|
||||
if(tvSlamMapVersionName.text.contains(AppConfigInfo.slamMapVersion)){
|
||||
return@post
|
||||
}
|
||||
CallerLogger.i(SceneConstant.M_HMI + TAG, "updateSlamMapVersion, slamMapVersion:${AppConfigInfo.slamMapVersion}")
|
||||
tvSlamMapVersionName.text = AppConfigInfo.slamMapVersion
|
||||
tvSlamMapVersionName.visibility = View.VISIBLE
|
||||
}
|
||||
}else{
|
||||
UiThreadHandler.post{
|
||||
tvSlamMapVersionName.visibility = View.GONE
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun onAutopilotDockerInfo(dockerVersion: String) {
|
||||
super.onAutopilotDockerInfo(dockerVersion)
|
||||
showCurrentAdVersion()
|
||||
}
|
||||
|
||||
override fun updateHDDataCacheStatus(isCached: Boolean) {
|
||||
isHDCached = isCached
|
||||
}
|
||||
|
||||
override fun onAutopilotStatusRespByQuery(status: SystemStatusInfo.StatusInfo) {
|
||||
CallerLogger.i(SceneConstant.M_HMI + TAG, "hdMapVer=" + status.hdMapVer)
|
||||
updateAdHdMapVersion()
|
||||
updateGridMapVersion()
|
||||
updateSlamMapVersion()
|
||||
}
|
||||
|
||||
/**
|
||||
* 定频SSM接口
|
||||
* 1hz hq m1 MAP350开始支持,其他车型MAP360开始支持
|
||||
* 定频SSM接入后 onStatusQueryResp 状态查询应答接口将弃用
|
||||
* @param statusInf 数据
|
||||
*/
|
||||
override fun onSystemStatus(statusInf: SsmInfo.SsmStatusInf) {
|
||||
CallerLogger.i(SceneConstant.M_HMI + TAG, "hdMapVer=" + statusInf.hdMapVer)
|
||||
updateAdHdMapVersion()
|
||||
updateGridMapVersion()
|
||||
updateSlamMapVersion()
|
||||
}
|
||||
|
||||
override fun invokeCarNo(no: String?) {
|
||||
super.invokeCarNo(no)
|
||||
UiThreadHandler.post {
|
||||
if (!no.isNullOrEmpty()) {
|
||||
if (tvCarNo.text.isNotEmpty() && tvCarNo.text == no) {
|
||||
CallerLogger.i("$M_HMI${TAG}", "已存在车牌号")
|
||||
return@post
|
||||
}
|
||||
tvCarNo.visibility = VISIBLE
|
||||
tvCarNo.text = no.parsePlateNo()
|
||||
} else {
|
||||
tvCarNo.visibility = GONE
|
||||
tvCarNo.text = ""
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
override fun dismiss() {
|
||||
super.dismiss()
|
||||
CallerHmiListenerManager.removeListener(TAG)
|
||||
CallerAutoPilotStatusListenerManager.removeListener(TAG)
|
||||
CallerDataCenterBizListener.removeListener(TAG)
|
||||
adUpgradeDialog = null
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
package com.mogo.eagle.core.function.hmi.bone.unmanned
|
||||
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import android.view.LayoutInflater
|
||||
import androidx.constraintlayout.widget.ConstraintLayout
|
||||
import com.mogo.eagle.core.function.hmi.R
|
||||
import com.mogo.eagle.core.utilcode.kotlin.onClick
|
||||
|
||||
|
||||
/**
|
||||
* 退出登录
|
||||
*/
|
||||
class UnmannedVersionInfoView @JvmOverloads constructor(
|
||||
context: Context,
|
||||
attrs: AttributeSet? = null,
|
||||
defStyleAttr: Int = 0
|
||||
) : ConstraintLayout(context, attrs, defStyleAttr) {
|
||||
|
||||
companion object {
|
||||
const val TAG = "UnmannedToolStopServiceView"
|
||||
}
|
||||
|
||||
init {
|
||||
LayoutInflater.from(context).inflate(R.layout.unmanned_view_version_info, this, true)
|
||||
initView()
|
||||
}
|
||||
|
||||
private fun initView() {
|
||||
onClick {
|
||||
UnmannedVersionInfoDialog.show(context)
|
||||
}
|
||||
}
|
||||
|
||||
override fun onAttachedToWindow() {
|
||||
super.onAttachedToWindow()
|
||||
}
|
||||
|
||||
override fun onDetachedFromWindow() {
|
||||
super.onDetachedFromWindow()
|
||||
}
|
||||
|
||||
}
|
||||
@@ -90,6 +90,7 @@ import me.jessyan.autosize.utils.AutoSizeUtils
|
||||
import java.lang.ref.WeakReference
|
||||
import java.util.concurrent.atomic.AtomicBoolean
|
||||
import java.util.concurrent.atomic.AtomicReference
|
||||
import androidx.core.view.isVisible
|
||||
|
||||
/**
|
||||
* @author xiaoyuzhou
|
||||
@@ -489,6 +490,15 @@ class MoGoHmiProvider : IMoGoHmiProvider {
|
||||
CallerHmiViewControlListenerManager.invokeGreenWaveDismiss()
|
||||
}
|
||||
|
||||
override fun getOperatePanelShowing(): Boolean {
|
||||
operatePanel.get()?.get()?.let {
|
||||
if (it.isVisible) {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
override fun toggleOperatePanel(show: Boolean) {
|
||||
val activity = AppStateManager.currentActivity()
|
||||
if (activity == null) {
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 726 B |
Binary file not shown.
|
After Width: | Height: | Size: 28 KiB |
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="oval">
|
||||
<corners android:radius="@dimen/dp_15" />
|
||||
<solid android:color="@color/color_2EACFF" />
|
||||
|
||||
</shape>
|
||||
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<corners android:radius="@dimen/dp_20"/>
|
||||
<solid android:color="@color/color_3D000000" />
|
||||
|
||||
</shape>
|
||||
@@ -0,0 +1,345 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<com.mogo.eagle.core.widget.RoundConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="@dimen/dp_1400"
|
||||
android:layout_height="@dimen/dp_880"
|
||||
android:background="@drawable/bg_bone_dialog"
|
||||
app:roundLayoutRadius="@dimen/dp_50">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/acivCloseDialog"
|
||||
android:layout_width="@dimen/dp_100"
|
||||
android:layout_height="@dimen/dp_100"
|
||||
android:padding="@dimen/dp_22"
|
||||
android:layout_marginTop="@dimen/dp_28"
|
||||
android:layout_marginEnd="@dimen/dp_28"
|
||||
android:src="@drawable/bia_version_dialog_close"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/aciv_version_head_start"
|
||||
android:layout_width="@dimen/dp_100"
|
||||
android:layout_height="@dimen/dp_100"
|
||||
android:layout_marginTop="@dimen/dp_70"
|
||||
android:layout_marginEnd="@dimen/dp_10"
|
||||
android:src="@drawable/icon_show_version_info"
|
||||
app:layout_constraintEnd_toStartOf="@+id/actv_version_head_tail"
|
||||
app:layout_constraintHorizontal_chainStyle="packed"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/actv_version_head_tail"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_10"
|
||||
android:text="@string/tab_version_info"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_45"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/aciv_version_head_start"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@+id/aciv_version_head_start"
|
||||
app:layout_constraintTop_toTopOf="@+id/aciv_version_head_start" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvCarNoPos"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_120"
|
||||
android:layout_marginTop="@dimen/dp_49"
|
||||
android:text="@string/tab_car_no"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_36"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/aciv_version_head_start" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvCarNo"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_16"
|
||||
android:gravity="center"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_36"
|
||||
tools:text="123456789"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/tvCarNoPos"
|
||||
app:layout_constraintLeft_toRightOf="@+id/tvCarNoPos"
|
||||
app:layout_constraintTop_toTopOf="@+id/tvCarNoPos"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvSnPos"
|
||||
android:layout_width="@dimen/dp_152"
|
||||
android:layout_height="@dimen/dp_53"
|
||||
android:layout_marginStart="@dimen/dp_120"
|
||||
android:layout_marginTop="@dimen/dp_20"
|
||||
android:text="@string/tab_sn"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_36"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tvCarNoPos" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvSnInfo"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_16"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_36"
|
||||
tools:text="123456789"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/tvSnPos"
|
||||
app:layout_constraintLeft_toRightOf="@+id/tvSnPos"
|
||||
app:layout_constraintTop_toTopOf="@+id/tvSnPos" />
|
||||
|
||||
<View
|
||||
app:layout_constraintTop_toTopOf="@+id/tvPadVersion"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/tvPadVersion"
|
||||
app:layout_constraintEnd_toStartOf="@+id/tvPadVersion"
|
||||
android:layout_marginEnd="@dimen/dp_15"
|
||||
android:layout_marginTop="@dimen/dp_2"
|
||||
android:background="@drawable/app_can_upload_bg"
|
||||
android:layout_width="@dimen/dp_15"
|
||||
android:layout_height="@dimen/dp_15"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvPadVersion"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/dp_45"
|
||||
android:layout_marginStart="@dimen/dp_120"
|
||||
android:layout_marginTop="@dimen/dp_20"
|
||||
android:gravity="center"
|
||||
android:text="@string/tab_version_pad_info"
|
||||
android:textStyle="bold"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_36"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tvSnPos" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvPADVersionName"
|
||||
android:layout_width="@dimen/dp_0"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/dp_10"
|
||||
android:gravity="start"
|
||||
android:maxLines="3"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_36"
|
||||
tools:text="123456\"
|
||||
app:layout_constraintTop_toTopOf="@+id/tvPadVersion"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/tvPadVersion"
|
||||
app:layout_constraintStart_toEndOf="@+id/tvPadVersion"
|
||||
app:layout_constraintEnd_toStartOf="@+id/tvPADUpdate"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvPADUpdate"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/dp_45"
|
||||
android:layout_marginEnd="@dimen/dp_93"
|
||||
android:text="@string/tab_version_update"
|
||||
android:textColor="@color/color_2EACFF"
|
||||
android:textSize="@dimen/dp_32"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/tvPadVersion"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintRight_toRightOf="@+id/tvCarExit"
|
||||
app:layout_constraintTop_toTopOf="@+id/tvPadVersion" />
|
||||
|
||||
<View
|
||||
app:layout_constraintTop_toTopOf="@+id/tvADVersion"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/tvADVersion"
|
||||
app:layout_constraintEnd_toStartOf="@+id/tvADVersion"
|
||||
android:layout_marginEnd="@dimen/dp_15"
|
||||
android:layout_marginTop="@dimen/dp_2"
|
||||
android:background="@drawable/app_can_upload_bg"
|
||||
android:layout_width="@dimen/dp_15"
|
||||
android:layout_height="@dimen/dp_15"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvADVersion"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_20"
|
||||
android:gravity="center_vertical"
|
||||
android:text="@string/tab_version_ad_info"
|
||||
android:textStyle="bold"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_36"
|
||||
app:layout_constraintLeft_toLeftOf="@+id/tvPadVersion"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tvPadVersion" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvADVersionName"
|
||||
android:layout_width="@dimen/dp_0"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/dp_10"
|
||||
android:gravity="start"
|
||||
android:maxLines="3"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_36"
|
||||
tools:text="1234560987"
|
||||
app:layout_constraintTop_toTopOf="@+id/tvADVersion"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/tvADVersion"
|
||||
app:layout_constraintStart_toEndOf="@+id/tvADVersion"
|
||||
app:layout_constraintEnd_toStartOf="@+id/tvADUpdate"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvADUpdate"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/dp_45"
|
||||
android:layout_marginEnd="@dimen/dp_93"
|
||||
android:text="@string/tab_version_update"
|
||||
android:textColor="@color/color_2EACFF"
|
||||
android:textSize="@dimen/dp_32"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/tvADVersion"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@+id/tvADVersion" />
|
||||
|
||||
<View
|
||||
app:layout_constraintTop_toTopOf="@+id/tvHDMapVersion"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/tvHDMapVersion"
|
||||
app:layout_constraintEnd_toStartOf="@+id/tvHDMapVersion"
|
||||
android:layout_marginEnd="@dimen/dp_15"
|
||||
android:layout_marginTop="@dimen/dp_2"
|
||||
android:background="@drawable/app_can_upload_bg"
|
||||
android:layout_width="@dimen/dp_15"
|
||||
android:layout_height="@dimen/dp_15"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvHDMapVersion"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_20"
|
||||
android:gravity="center_vertical"
|
||||
android:text="@string/tab_version_hdmap_info"
|
||||
android:textStyle="bold"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_36"
|
||||
app:layout_constraintLeft_toLeftOf="@+id/tvADVersion"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tvADVersionName" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvHDMapVersionName"
|
||||
android:layout_width="@dimen/dp_0"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/dp_10"
|
||||
android:gravity="start"
|
||||
android:maxLines="3"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_36"
|
||||
tools:text="1234560987"
|
||||
app:layout_constraintTop_toTopOf="@+id/tvHDMapVersion"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/tvHDMapVersion"
|
||||
app:layout_constraintStart_toEndOf="@+id/tvHDMapVersion"
|
||||
app:layout_constraintEnd_toStartOf="@+id/tvHDMapUpdate"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvHDMapUpdate"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/dp_45"
|
||||
android:layout_marginEnd="@dimen/dp_93"
|
||||
android:text="@string/tab_version_update"
|
||||
android:textColor="@color/color_2EACFF"
|
||||
android:textSize="@dimen/dp_32"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/tvHDMapVersion"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@+id/tvHDMapVersion" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvADMapVersion"
|
||||
android:layout_width="@dimen/dp_0"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_20"
|
||||
android:gravity="center_vertical"
|
||||
android:text="@string/tab_version_admap_info"
|
||||
android:textStyle="bold"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_36"
|
||||
app:layout_constraintLeft_toLeftOf="@+id/tvHDMapVersion"
|
||||
app:layout_constraintRight_toRightOf="@id/tvCarExit"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tvHDMapVersion" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvADMapVersionName"
|
||||
android:layout_width="@dimen/dp_0"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/dp_10"
|
||||
android:gravity="start"
|
||||
android:maxLines="3"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_36"
|
||||
tools:text="1234560987"
|
||||
app:layout_constraintTop_toTopOf="@+id/tvADMapVersion"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/tvADMapVersion"
|
||||
app:layout_constraintStart_toEndOf="@+id/tvADMapVersion"
|
||||
app:layout_constraintEnd_toStartOf="@+id/tvHDMapUpdate"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvGridMapVersion"
|
||||
android:layout_width="@dimen/dp_0"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_20"
|
||||
android:gravity="center_vertical"
|
||||
android:text="@string/tab_version_grid_map_info"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_36"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintLeft_toLeftOf="@+id/tvADMapVersion"
|
||||
app:layout_constraintRight_toRightOf="@id/tvCarExit"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tvADMapVersion" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvGridMapVersionName"
|
||||
android:layout_width="@dimen/dp_0"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/dp_10"
|
||||
android:gravity="start"
|
||||
android:maxLines="3"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_36"
|
||||
tools:text="1234560987"
|
||||
app:layout_constraintTop_toTopOf="@+id/tvGridMapVersion"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/tvGridMapVersion"
|
||||
app:layout_constraintStart_toEndOf="@+id/tvGridMapVersion"
|
||||
app:layout_constraintEnd_toStartOf="@+id/tvHDMapUpdate"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvSlamMapVersion"
|
||||
android:layout_width="@dimen/dp_0"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_20"
|
||||
android:gravity="center_vertical"
|
||||
android:text="@string/tab_version_slam_map_info"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_36"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintLeft_toLeftOf="@+id/tvGridMapVersion"
|
||||
app:layout_constraintRight_toRightOf="@id/tvCarExit"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tvGridMapVersion" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvSlamMapVersionName"
|
||||
android:layout_width="@dimen/dp_0"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/dp_10"
|
||||
android:gravity="start"
|
||||
android:maxLines="3"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_36"
|
||||
tools:text="1234560987"
|
||||
app:layout_constraintTop_toTopOf="@+id/tvSlamMapVersion"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/tvSlamMapVersion"
|
||||
app:layout_constraintStart_toEndOf="@+id/tvSlamMapVersion"
|
||||
app:layout_constraintEnd_toStartOf="@+id/tvHDMapUpdate"
|
||||
/>
|
||||
|
||||
|
||||
</com.mogo.eagle.core.widget.RoundConstraintLayout>
|
||||
@@ -0,0 +1,37 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<merge xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/clCheckSystem"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout"
|
||||
>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/viewCheckShutDown"
|
||||
android:layout_width="@dimen/dp_100"
|
||||
android:layout_height="@dimen/dp_100"
|
||||
android:contentDescription="@string/take_over_record"
|
||||
android:scaleType="fitXY"
|
||||
android:src="@drawable/icon_toolkit_item_operation_panel"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:src="@drawable/icon_toolkit_item_operation_panel" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvSignOut"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_10"
|
||||
android:ellipsize="end"
|
||||
android:gravity="center"
|
||||
android:maxLines="1"
|
||||
android:text="@string/debug_sop"
|
||||
android:textColor="@color/color_FFFFFF"
|
||||
android:textSize="@dimen/sp_40"
|
||||
app:layout_constraintBottom_toBottomOf="@id/viewCheckShutDown"
|
||||
app:layout_constraintStart_toEndOf="@id/viewCheckShutDown"
|
||||
app:layout_constraintTop_toTopOf="@id/viewCheckShutDown" />
|
||||
|
||||
</merge>
|
||||
@@ -0,0 +1,37 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<merge xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/clCheckSystem"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout"
|
||||
>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/viewCheckShutDown"
|
||||
android:layout_width="@dimen/dp_100"
|
||||
android:layout_height="@dimen/dp_100"
|
||||
android:contentDescription="@string/take_over_record"
|
||||
android:scaleType="fitXY"
|
||||
android:src="@drawable/icon_toolkit_item_take_over_history"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:src="@drawable/icon_toolkit_item_take_over_history" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvSignOut"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_10"
|
||||
android:ellipsize="end"
|
||||
android:gravity="center"
|
||||
android:maxLines="1"
|
||||
android:text="@string/take_over_record"
|
||||
android:textColor="@color/color_FFFFFF"
|
||||
android:textSize="@dimen/sp_40"
|
||||
app:layout_constraintBottom_toBottomOf="@id/viewCheckShutDown"
|
||||
app:layout_constraintStart_toEndOf="@id/viewCheckShutDown"
|
||||
app:layout_constraintTop_toTopOf="@id/viewCheckShutDown" />
|
||||
|
||||
</merge>
|
||||
@@ -1,35 +1,26 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<merge xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/clCheckSystem"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/viewCheckShutDown"
|
||||
android:layout_width="@dimen/dp_100"
|
||||
android:layout_height="@dimen/dp_100"
|
||||
android:contentDescription="@string/check_system_shut_down"
|
||||
android:scaleType="fitXY"
|
||||
android:src="@drawable/icon_toolkit_item_stop_service"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:src="@drawable/icon_toolkit_item_stop_service_background" />
|
||||
android:layout_height="wrap_content"
|
||||
tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout"
|
||||
>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvSignOut"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_10"
|
||||
android:layout_width="@dimen/dp_400"
|
||||
android:layout_height="@dimen/dp_100"
|
||||
android:ellipsize="end"
|
||||
android:gravity="center"
|
||||
android:maxLines="1"
|
||||
android:text="@string/check_system_logout"
|
||||
android:textColor="@color/color_FFFFFF"
|
||||
android:textColor="@color/color_FF2EACFF"
|
||||
android:textSize="@dimen/sp_40"
|
||||
android:background="@drawable/app_sign_out_bg"
|
||||
app:layout_constraintBottom_toBottomOf="@id/viewCheckShutDown"
|
||||
app:layout_constraintStart_toEndOf="@id/viewCheckShutDown"
|
||||
app:layout_constraintTop_toTopOf="@id/viewCheckShutDown" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
</merge>
|
||||
@@ -1,10 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<merge xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/clCheckSystem"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content">
|
||||
android:layout_height="wrap_content"
|
||||
tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/viewCheckShutDown"
|
||||
@@ -82,4 +83,4 @@
|
||||
app:layout_constraintStart_toEndOf="@id/viewCheckShutDown"
|
||||
app:layout_constraintTop_toTopOf="@id/viewCheckShutDown" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
</merge>
|
||||
@@ -0,0 +1,37 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<merge xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/clCheckSystem"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout"
|
||||
>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/viewCheckShutDown"
|
||||
android:layout_width="@dimen/dp_100"
|
||||
android:layout_height="@dimen/dp_100"
|
||||
android:contentDescription="@string/tab_version_info"
|
||||
android:scaleType="fitXY"
|
||||
android:src="@drawable/icon_show_version_info"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:src="@drawable/icon_show_version_info" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvSignOut"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_10"
|
||||
android:ellipsize="end"
|
||||
android:gravity="center"
|
||||
android:maxLines="1"
|
||||
android:text="@string/tab_version_info"
|
||||
android:textColor="@color/color_FFFFFF"
|
||||
android:textSize="@dimen/sp_40"
|
||||
app:layout_constraintBottom_toBottomOf="@id/viewCheckShutDown"
|
||||
app:layout_constraintStart_toEndOf="@id/viewCheckShutDown"
|
||||
app:layout_constraintTop_toTopOf="@id/viewCheckShutDown" />
|
||||
|
||||
</merge>
|
||||
@@ -6,9 +6,9 @@
|
||||
<string name="tab_tool_kit">More</string>
|
||||
<string name="tab_car_login_info">Login Info</string>
|
||||
<string name="tab_car_exit">Exit</string>
|
||||
<string name="tab_car_no">Vehicle Binding</string>
|
||||
<string name="tab_car_no">Vehicle Binding:</string>
|
||||
<string name="tab_version_info">Version Info</string>
|
||||
<string name="tab_sn">Device SN</string>
|
||||
<string name="tab_sn">Device SN:</string>
|
||||
<string name="tab_version_pad_info">PAD:</string>
|
||||
<string name="tab_version_ad_info">AD:</string>
|
||||
<string name="tab_version_hdmap_info">HD MAP:</string>
|
||||
|
||||
@@ -46,6 +46,7 @@
|
||||
<color name="color_D945D3FF">#D945D3FF</color>
|
||||
<color name="color_D93261B6">#D93261B6</color>
|
||||
<color name="color_FFFFCD3D">#FFCD3D</color>
|
||||
<color name="color_3D000000">#3D000000</color>
|
||||
|
||||
<color name="background_wtf">#FF999900</color>
|
||||
<color name="background_error">#FFCC0000</color>
|
||||
|
||||
@@ -6,9 +6,9 @@
|
||||
<string name="tab_tool_kit">更多内容</string>
|
||||
<string name="tab_car_login_info">登陆信息</string>
|
||||
<string name="tab_car_exit">退出</string>
|
||||
<string name="tab_car_no">车辆绑定</string>
|
||||
<string name="tab_car_no">车辆绑定:</string>
|
||||
<string name="tab_version_info">版本信息</string>
|
||||
<string name="tab_sn">设备SN</string>
|
||||
<string name="tab_sn">设备SN:</string>
|
||||
<string name="tab_version_pad_info">PAD:</string>
|
||||
<string name="tab_version_ad_info">AD:</string>
|
||||
<string name="tab_version_hdmap_info">HD MAP:</string>
|
||||
|
||||
@@ -306,6 +306,10 @@ interface IMoGoHmiProvider :IProvider{
|
||||
*/
|
||||
fun removeToolkitByTag(toolTagList: List<String>)
|
||||
|
||||
/**
|
||||
* 运营面板 是否展示
|
||||
*/
|
||||
fun getOperatePanelShowing():Boolean
|
||||
/**
|
||||
* 显示/隐藏 运营面板
|
||||
*/
|
||||
|
||||
@@ -12,9 +12,11 @@ object CallerHmiListenerManager : CallerBase<IMoGoCheckAutoPilotBtnListener>() {
|
||||
|
||||
// 存储最后一次回调的数据,当有新当位置注册了监听将此数据回调过去,防止有些模块注册顺序问题导致无法获取最新状态
|
||||
private var mIsChecked: Boolean = false
|
||||
private var mIsCached: Boolean = false
|
||||
|
||||
override fun doSomeAfterAddListener(tag: String, listener: IMoGoCheckAutoPilotBtnListener) {
|
||||
listener.onCheck(mIsChecked)
|
||||
listener.updateHDDataCacheStatus(mIsCached)
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -30,6 +32,7 @@ object CallerHmiListenerManager : CallerBase<IMoGoCheckAutoPilotBtnListener>() {
|
||||
}
|
||||
|
||||
fun invokeHDDataCacheStatus(isCached: Boolean) {
|
||||
this.mIsCached = isCached
|
||||
M_LISTENERS.forEach {
|
||||
val listener = it.value
|
||||
listener.updateHDDataCacheStatus(isCached)
|
||||
|
||||
@@ -393,6 +393,15 @@ object CallerHmiManager {
|
||||
fun toggleOperatePanel(show: Boolean) {
|
||||
hmiProviderApi?.toggleOperatePanel(show)
|
||||
}
|
||||
/**
|
||||
* 显示/隐藏 运营面板
|
||||
*/
|
||||
fun getOperatePanelShowing():Boolean {
|
||||
hmiProviderApi?.getOperatePanelShowing()?.let {
|
||||
return it
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
/**
|
||||
* 注册 工具箱 item点击事件监听 (默认样式item的点击事件监听,自定义样式的item的点击交给view自己处理)
|
||||
|
||||
@@ -1044,6 +1044,7 @@
|
||||
<dimen name="dp_1055">1055dp</dimen>
|
||||
<dimen name="dp_1058">1058dp</dimen>
|
||||
<dimen name="dp_1080">1080dp</dimen>
|
||||
<dimen name="dp_1084">1084dp</dimen>
|
||||
<dimen name="dp_1090">1090dp</dimen>
|
||||
<dimen name="dp_1092">1092dp</dimen>
|
||||
<dimen name="dp_1100">1100dp</dimen>
|
||||
@@ -1064,6 +1065,7 @@
|
||||
<dimen name="dp_1306">1306dp</dimen>
|
||||
<dimen name="dp_1373">1373dp</dimen>
|
||||
<dimen name="dp_1386">1386dp</dimen>
|
||||
<dimen name="dp_1400">1400dp</dimen>
|
||||
<dimen name="dp_1489">1489dp</dimen>
|
||||
<dimen name="dp_1528">1550dp</dimen>
|
||||
<dimen name="dp_1600">1600dp</dimen>
|
||||
|
||||
Reference in New Issue
Block a user