[8.5.0]
[singapore] [用户信息展示]
This commit is contained in:
@@ -5,7 +5,10 @@ import android.util.AttributeSet
|
|||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import androidx.constraintlayout.widget.ConstraintLayout
|
import androidx.constraintlayout.widget.ConstraintLayout
|
||||||
|
import com.mogo.eagle.core.function.hmi.bone.tab.parsePhoneNo
|
||||||
|
import com.mogo.och.common.module.biz.login.LoginStatusManager
|
||||||
import com.mogo.och.shuttle.unmanned.R
|
import com.mogo.och.shuttle.unmanned.R
|
||||||
|
import kotlinx.android.synthetic.main.shuttle_unmanned_more.view.actv_driver_phone
|
||||||
import kotlinx.android.synthetic.main.shuttle_unmanned_more.view.unmannedMoreClose
|
import kotlinx.android.synthetic.main.shuttle_unmanned_more.view.unmannedMoreClose
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -30,6 +33,10 @@ class UnmannedMoreView @JvmOverloads constructor(
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
LoginStatusManager.getOchLoginInfo()?.let {
|
||||||
|
actv_driver_phone.text = it.phone.parsePhoneNo()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onAttachedToWindow() {
|
override fun onAttachedToWindow() {
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 151 KiB After Width: | Height: | Size: 344 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 7.2 KiB |
@@ -1,8 +1,9 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
android:layout_width="@dimen/dp_526"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_height="@dimen/dp_632"
|
android:layout_width="@dimen/dp_682"
|
||||||
|
android:layout_height="@dimen/dp_1084"
|
||||||
android:background="@drawable/unmanned_more_bg">
|
android:background="@drawable/unmanned_more_bg">
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.Guideline
|
<androidx.constraintlayout.widget.Guideline
|
||||||
@@ -10,14 +11,14 @@
|
|||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="horizontal"
|
android:orientation="horizontal"
|
||||||
app:layout_constraintGuide_begin="@dimen/dp_20" />
|
app:layout_constraintGuide_begin="@dimen/dp_22" />
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.Guideline
|
<androidx.constraintlayout.widget.Guideline
|
||||||
android:id="@+id/unmanned_guideline_more_left"
|
android:id="@+id/unmanned_guideline_more_left"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
app:layout_constraintGuide_begin="@dimen/dp_40" />
|
app:layout_constraintGuide_begin="@dimen/dp_42" />
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.Guideline
|
<androidx.constraintlayout.widget.Guideline
|
||||||
android:id="@+id/unmanned_guideline_more_right"
|
android:id="@+id/unmanned_guideline_more_right"
|
||||||
@@ -31,20 +32,7 @@
|
|||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="horizontal"
|
android:orientation="horizontal"
|
||||||
app:layout_constraintGuide_end="@dimen/dp_60" />
|
app:layout_constraintGuide_end="@dimen/dp_62" />
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/unmanned_more_title"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginStart="@dimen/dp_36"
|
|
||||||
android:layout_marginTop="@dimen/dp_24"
|
|
||||||
android:text="@string/unmanned_more"
|
|
||||||
android:textColor="@color/white"
|
|
||||||
android:textSize="@dimen/sp_45"
|
|
||||||
app:layout_constraintStart_toStartOf="@id/unmanned_guideline_more_left"
|
|
||||||
app:layout_constraintTop_toTopOf="@id/unmanned_guideline_more_top" />
|
|
||||||
|
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/unmannedMoreClose"
|
android:id="@+id/unmannedMoreClose"
|
||||||
@@ -56,36 +44,93 @@
|
|||||||
app:layout_constraintEnd_toEndOf="@id/unmanned_guideline_more_right"
|
app:layout_constraintEnd_toEndOf="@id/unmanned_guideline_more_right"
|
||||||
app:layout_constraintTop_toTopOf="@id/unmanned_guideline_more_top" />
|
app:layout_constraintTop_toTopOf="@id/unmanned_guideline_more_top" />
|
||||||
|
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatImageView
|
||||||
|
android:id="@+id/aciv_driver_head"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/unmanned_guideline_more_top"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
android:layout_marginTop="@dimen/dp_60"
|
||||||
|
android:src="@drawable/unmanned_more_driver_head"
|
||||||
|
android:layout_width="@dimen/dp_120"
|
||||||
|
android:layout_height="@dimen/dp_120"/>
|
||||||
|
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
android:id="@+id/actv_driver_phone"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/aciv_driver_head"
|
||||||
|
app:layout_constraintStart_toStartOf="@+id/aciv_driver_head"
|
||||||
|
app:layout_constraintEnd_toEndOf="@+id/aciv_driver_head"
|
||||||
|
android:layout_marginTop="@dimen/dp_20"
|
||||||
|
android:textColor="@color/shuttle_driver_CCFFFFFF"
|
||||||
|
tools:text="123456789"
|
||||||
|
android:textSize="@dimen/dp_40"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"/>
|
||||||
|
|
||||||
|
<View
|
||||||
|
android:id="@+id/view_split"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/actv_driver_phone"
|
||||||
|
android:layout_marginTop="@dimen/dp_22"
|
||||||
|
app:layout_constraintStart_toStartOf="@+id/unmanned_guideline_more_left"
|
||||||
|
app:layout_constraintEnd_toEndOf="@+id/unmanned_guideline_more_right"
|
||||||
|
android:layout_marginStart="@dimen/dp_53"
|
||||||
|
android:layout_marginEnd="@dimen/bus_dp_52"
|
||||||
|
android:background="@color/shuttle_driver_5A5A5A"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="@dimen/dp_1"/>
|
||||||
|
|
||||||
|
<com.mogo.eagle.core.function.hmi.bone.unmanned.UnmannedTakeOverView
|
||||||
|
android:id="@+id/unmannedTakeOverView"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="@dimen/dp_100"
|
||||||
|
android:layout_marginStart="@dimen/dp_50"
|
||||||
|
android:layout_marginTop="@dimen/dp_37"
|
||||||
|
android:layout_marginEnd="@dimen/dp_52"
|
||||||
|
app:layout_constraintEnd_toEndOf="@id/unmanned_guideline_more_right"
|
||||||
|
app:layout_constraintStart_toStartOf="@id/unmanned_guideline_more_left"
|
||||||
|
app:layout_constraintTop_toBottomOf="@id/view_split" />
|
||||||
|
|
||||||
|
<com.mogo.eagle.core.function.hmi.bone.unmanned.UnmannedOperationPanelView
|
||||||
|
android:id="@+id/unmannedOperationPanelView"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="@dimen/dp_100"
|
||||||
|
android:layout_marginStart="@dimen/dp_50"
|
||||||
|
android:layout_marginTop="@dimen/dp_30"
|
||||||
|
android:layout_marginEnd="@dimen/dp_52"
|
||||||
|
app:layout_constraintEnd_toEndOf="@id/unmanned_guideline_more_right"
|
||||||
|
app:layout_constraintStart_toStartOf="@id/unmanned_guideline_more_left"
|
||||||
|
app:layout_constraintTop_toBottomOf="@id/unmannedTakeOverView" />
|
||||||
|
|
||||||
<com.mogo.eagle.core.function.hmi.bone.unmanned.UnmannedToolStopServiceView
|
<com.mogo.eagle.core.function.hmi.bone.unmanned.UnmannedToolStopServiceView
|
||||||
android:id="@+id/unmannedToolStopServiceView"
|
android:id="@+id/unmannedToolStopServiceView"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="@dimen/dp_100"
|
android:layout_height="@dimen/dp_100"
|
||||||
android:layout_marginStart="@dimen/dp_36"
|
android:layout_marginStart="@dimen/dp_50"
|
||||||
android:layout_marginTop="@dimen/dp_40"
|
android:layout_marginTop="@dimen/dp_30"
|
||||||
android:layout_marginEnd="@dimen/dp_36"
|
android:layout_marginEnd="@dimen/dp_52"
|
||||||
app:layout_constraintEnd_toEndOf="@id/unmanned_guideline_more_right"
|
app:layout_constraintEnd_toEndOf="@id/unmanned_guideline_more_right"
|
||||||
app:layout_constraintStart_toStartOf="@id/unmanned_guideline_more_left"
|
app:layout_constraintStart_toStartOf="@id/unmanned_guideline_more_left"
|
||||||
app:layout_constraintTop_toBottomOf="@id/unmanned_more_title" />
|
app:layout_constraintTop_toBottomOf="@id/unmannedOperationPanelView" />
|
||||||
|
|
||||||
<com.mogo.eagle.core.function.hmi.bone.unmanned.UnmannedToolLogoutView
|
<com.mogo.eagle.core.function.hmi.bone.unmanned.UnmannedVersionInfoView
|
||||||
android:id="@+id/unmannedToolLogoutView"
|
android:id="@+id/unmannedVersionInfoView"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="@dimen/dp_100"
|
android:layout_height="@dimen/dp_100"
|
||||||
android:layout_marginStart="@dimen/dp_36"
|
android:layout_marginStart="@dimen/dp_50"
|
||||||
android:layout_marginTop="@dimen/dp_40"
|
android:layout_marginTop="@dimen/dp_30"
|
||||||
android:layout_marginEnd="@dimen/dp_36"
|
android:layout_marginEnd="@dimen/dp_52"
|
||||||
app:layout_constraintEnd_toEndOf="@id/unmanned_guideline_more_right"
|
app:layout_constraintEnd_toEndOf="@id/unmanned_guideline_more_right"
|
||||||
app:layout_constraintStart_toStartOf="@id/unmanned_guideline_more_left"
|
app:layout_constraintStart_toStartOf="@id/unmanned_guideline_more_left"
|
||||||
app:layout_constraintTop_toBottomOf="@id/unmannedToolStopServiceView" />
|
app:layout_constraintTop_toBottomOf="@id/unmannedToolStopServiceView" />
|
||||||
|
|
||||||
<com.mogo.eagle.core.function.hmi.bone.unmanned.UnmannedUpgradeView
|
<com.mogo.eagle.core.function.hmi.bone.unmanned.UnmannedToolLogoutView
|
||||||
android:layout_width="0dp"
|
android:id="@+id/unmannedToolLogoutView"
|
||||||
|
android:layout_width="@dimen/dp_400"
|
||||||
android:layout_height="@dimen/dp_100"
|
android:layout_height="@dimen/dp_100"
|
||||||
android:layout_marginStart="@dimen/dp_36"
|
android:layout_marginTop="@dimen/dp_47"
|
||||||
android:layout_marginTop="@dimen/dp_40"
|
app:layout_constraintTop_toBottomOf="@+id/unmannedVersionInfoView"
|
||||||
android:layout_marginEnd="@dimen/dp_36"
|
app:layout_constraintStart_toStartOf="@+id/unmanned_guideline_more_left"
|
||||||
app:layout_constraintEnd_toEndOf="@id/unmanned_guideline_more_right"
|
app:layout_constraintEnd_toEndOf="@+id/unmanned_guideline_more_right"
|
||||||
app:layout_constraintStart_toStartOf="@id/unmanned_guideline_more_left"
|
/>
|
||||||
app:layout_constraintTop_toBottomOf="@id/unmannedToolLogoutView" />
|
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
@@ -108,8 +108,8 @@
|
|||||||
|
|
||||||
<com.mogo.och.unmanned.ui.widget.UnmannedMoreView
|
<com.mogo.och.unmanned.ui.widget.UnmannedMoreView
|
||||||
android:id="@+id/unmannedLayoutMore"
|
android:id="@+id/unmannedLayoutMore"
|
||||||
android:layout_width="@dimen/dp_526"
|
android:layout_width="@dimen/dp_682"
|
||||||
android:layout_height="@dimen/dp_632"
|
android:layout_height="@dimen/dp_1084"
|
||||||
android:layout_marginEnd="@dimen/dp_2"
|
android:layout_marginEnd="@dimen/dp_2"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
app:layout_constraintRight_toRightOf="parent"
|
app:layout_constraintRight_toRightOf="parent"
|
||||||
|
|||||||
@@ -80,6 +80,8 @@
|
|||||||
<color name="shuttle_driver_1970FF">#1970FF</color>
|
<color name="shuttle_driver_1970FF">#1970FF</color>
|
||||||
·
|
·
|
||||||
<color name="shuttle_driver_B3FFFFFF">#B3FFFFFF</color>
|
<color name="shuttle_driver_B3FFFFFF">#B3FFFFFF</color>
|
||||||
|
<color name="shuttle_driver_CCFFFFFF">#CCFFFFFF</color>
|
||||||
<color name="shuttle_driver_ffffffff">#ffffffff</color>
|
<color name="shuttle_driver_ffffffff">#ffffffff</color>
|
||||||
<color name="shuttle_driver_80000000">#80000000</color>
|
<color name="shuttle_driver_80000000">#80000000</color>
|
||||||
|
<color name="shuttle_driver_5A5A5A">#5A5A5A</color>
|
||||||
</resources>
|
</resources>
|
||||||
@@ -248,7 +248,7 @@ ext {
|
|||||||
]
|
]
|
||||||
android = [
|
android = [
|
||||||
fLauncherApplicationId : "com.mogo.launcher.f",
|
fLauncherApplicationId : "com.mogo.launcher.f",
|
||||||
fLauncherAmapApiValue : "ace34d685cc04836c03905e4d1536125",
|
fLauncherAmapApiValue : "-",
|
||||||
compileSdkVersion : 33,
|
compileSdkVersion : 33,
|
||||||
buildToolsVersion : "29.0.2",
|
buildToolsVersion : "29.0.2",
|
||||||
minSdkVersion : 23,
|
minSdkVersion : 23,
|
||||||
|
|||||||
@@ -35,6 +35,11 @@ class WorkOrderManager{
|
|||||||
* 展示接管记录页面
|
* 展示接管记录页面
|
||||||
*/
|
*/
|
||||||
fun showTakeOverRecordView(context: Context){
|
fun showTakeOverRecordView(context: Context){
|
||||||
|
if(hideFloat!=null){
|
||||||
|
hideFloat?.invoke()
|
||||||
|
hideFloat = null
|
||||||
|
return
|
||||||
|
}
|
||||||
val takeOverRecordView = TakeOverRecordView(context)
|
val takeOverRecordView = TakeOverRecordView(context)
|
||||||
takeOverRecordView.setOnClickListener(object: TakeOverRecordView.ClickListener{
|
takeOverRecordView.setOnClickListener(object: TakeOverRecordView.ClickListener{
|
||||||
override fun onClose() {
|
override fun onClose() {
|
||||||
|
|||||||
@@ -65,11 +65,11 @@ import org.json.JSONObject
|
|||||||
import system_master.SsmInfo
|
import system_master.SsmInfo
|
||||||
import system_master.SystemStatusInfo
|
import system_master.SystemStatusInfo
|
||||||
|
|
||||||
private fun String.parsePlateNo(): String {
|
fun String.parsePlateNo(): String {
|
||||||
return " " + substring(0, 2) + " " + substring(2) + " "
|
return " " + substring(0, 2) + " " + substring(2) + " "
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun String.parsePhoneNo(): String {
|
fun String.parsePhoneNo(): String {
|
||||||
return take(3) + "****" + takeLast(4)
|
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.util.AttributeSet
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import androidx.constraintlayout.widget.ConstraintLayout
|
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.function.hmi.R
|
||||||
import com.mogo.eagle.core.utilcode.kotlin.onClick
|
import com.mogo.eagle.core.utilcode.kotlin.onClick
|
||||||
import kotlinx.android.synthetic.main.unmanned_view_tool_logout.view.tvSignOut
|
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(
|
class UnmannedToolLogoutView @JvmOverloads constructor(
|
||||||
context: Context,
|
context: Context,
|
||||||
@@ -29,8 +30,8 @@ class UnmannedToolLogoutView @JvmOverloads constructor(
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun initView() {
|
private fun initView() {
|
||||||
//一键停服
|
//退出登录
|
||||||
tvSignOut.onClick {
|
onClick {
|
||||||
CallerOchBizFunctionCall4EagleManager.logout()
|
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.lang.ref.WeakReference
|
||||||
import java.util.concurrent.atomic.AtomicBoolean
|
import java.util.concurrent.atomic.AtomicBoolean
|
||||||
import java.util.concurrent.atomic.AtomicReference
|
import java.util.concurrent.atomic.AtomicReference
|
||||||
|
import androidx.core.view.isVisible
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author xiaoyuzhou
|
* @author xiaoyuzhou
|
||||||
@@ -489,6 +490,15 @@ class MoGoHmiProvider : IMoGoHmiProvider {
|
|||||||
CallerHmiViewControlListenerManager.invokeGreenWaveDismiss()
|
CallerHmiViewControlListenerManager.invokeGreenWaveDismiss()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun getOperatePanelShowing(): Boolean {
|
||||||
|
operatePanel.get()?.get()?.let {
|
||||||
|
if (it.isVisible) {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
override fun toggleOperatePanel(show: Boolean) {
|
override fun toggleOperatePanel(show: Boolean) {
|
||||||
val activity = AppStateManager.currentActivity()
|
val activity = AppStateManager.currentActivity()
|
||||||
if (activity == null) {
|
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"?>
|
<?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:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:id="@+id/clCheckSystem"
|
android:id="@+id/clCheckSystem"
|
||||||
android:layout_width="wrap_content"
|
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"
|
|
||||||
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" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/tvSignOut"
|
android:id="@+id/tvSignOut"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="@dimen/dp_400"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="@dimen/dp_100"
|
||||||
android:layout_marginStart="@dimen/dp_10"
|
|
||||||
android:ellipsize="end"
|
android:ellipsize="end"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:maxLines="1"
|
android:maxLines="1"
|
||||||
android:text="@string/check_system_logout"
|
android:text="@string/check_system_logout"
|
||||||
android:textColor="@color/color_FFFFFF"
|
android:textColor="@color/color_FF2EACFF"
|
||||||
android:textSize="@dimen/sp_40"
|
android:textSize="@dimen/sp_40"
|
||||||
|
android:background="@drawable/app_sign_out_bg"
|
||||||
app:layout_constraintBottom_toBottomOf="@id/viewCheckShutDown"
|
app:layout_constraintBottom_toBottomOf="@id/viewCheckShutDown"
|
||||||
app:layout_constraintStart_toEndOf="@id/viewCheckShutDown"
|
app:layout_constraintStart_toEndOf="@id/viewCheckShutDown"
|
||||||
app:layout_constraintTop_toTopOf="@id/viewCheckShutDown" />
|
app:layout_constraintTop_toTopOf="@id/viewCheckShutDown" />
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</merge>
|
||||||
@@ -1,10 +1,11 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?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:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:id="@+id/clCheckSystem"
|
android:id="@+id/clCheckSystem"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content"
|
||||||
|
tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout">
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/viewCheckShutDown"
|
android:id="@+id/viewCheckShutDown"
|
||||||
@@ -82,4 +83,4 @@
|
|||||||
app:layout_constraintStart_toEndOf="@id/viewCheckShutDown"
|
app:layout_constraintStart_toEndOf="@id/viewCheckShutDown"
|
||||||
app:layout_constraintTop_toTopOf="@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_tool_kit">More</string>
|
||||||
<string name="tab_car_login_info">Login Info</string>
|
<string name="tab_car_login_info">Login Info</string>
|
||||||
<string name="tab_car_exit">Exit</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_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_pad_info">PAD:</string>
|
||||||
<string name="tab_version_ad_info">AD:</string>
|
<string name="tab_version_ad_info">AD:</string>
|
||||||
<string name="tab_version_hdmap_info">HD MAP:</string>
|
<string name="tab_version_hdmap_info">HD MAP:</string>
|
||||||
|
|||||||
@@ -46,6 +46,7 @@
|
|||||||
<color name="color_D945D3FF">#D945D3FF</color>
|
<color name="color_D945D3FF">#D945D3FF</color>
|
||||||
<color name="color_D93261B6">#D93261B6</color>
|
<color name="color_D93261B6">#D93261B6</color>
|
||||||
<color name="color_FFFFCD3D">#FFCD3D</color>
|
<color name="color_FFFFCD3D">#FFCD3D</color>
|
||||||
|
<color name="color_3D000000">#3D000000</color>
|
||||||
|
|
||||||
<color name="background_wtf">#FF999900</color>
|
<color name="background_wtf">#FF999900</color>
|
||||||
<color name="background_error">#FFCC0000</color>
|
<color name="background_error">#FFCC0000</color>
|
||||||
|
|||||||
@@ -6,9 +6,9 @@
|
|||||||
<string name="tab_tool_kit">更多内容</string>
|
<string name="tab_tool_kit">更多内容</string>
|
||||||
<string name="tab_car_login_info">登陆信息</string>
|
<string name="tab_car_login_info">登陆信息</string>
|
||||||
<string name="tab_car_exit">退出</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_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_pad_info">PAD:</string>
|
||||||
<string name="tab_version_ad_info">AD:</string>
|
<string name="tab_version_ad_info">AD:</string>
|
||||||
<string name="tab_version_hdmap_info">HD MAP:</string>
|
<string name="tab_version_hdmap_info">HD MAP:</string>
|
||||||
|
|||||||
@@ -306,6 +306,10 @@ interface IMoGoHmiProvider :IProvider{
|
|||||||
*/
|
*/
|
||||||
fun removeToolkitByTag(toolTagList: List<String>)
|
fun removeToolkitByTag(toolTagList: List<String>)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 运营面板 是否展示
|
||||||
|
*/
|
||||||
|
fun getOperatePanelShowing():Boolean
|
||||||
/**
|
/**
|
||||||
* 显示/隐藏 运营面板
|
* 显示/隐藏 运营面板
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -12,9 +12,11 @@ object CallerHmiListenerManager : CallerBase<IMoGoCheckAutoPilotBtnListener>() {
|
|||||||
|
|
||||||
// 存储最后一次回调的数据,当有新当位置注册了监听将此数据回调过去,防止有些模块注册顺序问题导致无法获取最新状态
|
// 存储最后一次回调的数据,当有新当位置注册了监听将此数据回调过去,防止有些模块注册顺序问题导致无法获取最新状态
|
||||||
private var mIsChecked: Boolean = false
|
private var mIsChecked: Boolean = false
|
||||||
|
private var mIsCached: Boolean = false
|
||||||
|
|
||||||
override fun doSomeAfterAddListener(tag: String, listener: IMoGoCheckAutoPilotBtnListener) {
|
override fun doSomeAfterAddListener(tag: String, listener: IMoGoCheckAutoPilotBtnListener) {
|
||||||
listener.onCheck(mIsChecked)
|
listener.onCheck(mIsChecked)
|
||||||
|
listener.updateHDDataCacheStatus(mIsCached)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -30,6 +32,7 @@ object CallerHmiListenerManager : CallerBase<IMoGoCheckAutoPilotBtnListener>() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun invokeHDDataCacheStatus(isCached: Boolean) {
|
fun invokeHDDataCacheStatus(isCached: Boolean) {
|
||||||
|
this.mIsCached = isCached
|
||||||
M_LISTENERS.forEach {
|
M_LISTENERS.forEach {
|
||||||
val listener = it.value
|
val listener = it.value
|
||||||
listener.updateHDDataCacheStatus(isCached)
|
listener.updateHDDataCacheStatus(isCached)
|
||||||
|
|||||||
@@ -393,6 +393,15 @@ object CallerHmiManager {
|
|||||||
fun toggleOperatePanel(show: Boolean) {
|
fun toggleOperatePanel(show: Boolean) {
|
||||||
hmiProviderApi?.toggleOperatePanel(show)
|
hmiProviderApi?.toggleOperatePanel(show)
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* 显示/隐藏 运营面板
|
||||||
|
*/
|
||||||
|
fun getOperatePanelShowing():Boolean {
|
||||||
|
hmiProviderApi?.getOperatePanelShowing()?.let {
|
||||||
|
return it
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 注册 工具箱 item点击事件监听 (默认样式item的点击事件监听,自定义样式的item的点击交给view自己处理)
|
* 注册 工具箱 item点击事件监听 (默认样式item的点击事件监听,自定义样式的item的点击交给view自己处理)
|
||||||
|
|||||||
@@ -1044,6 +1044,7 @@
|
|||||||
<dimen name="dp_1055">1055dp</dimen>
|
<dimen name="dp_1055">1055dp</dimen>
|
||||||
<dimen name="dp_1058">1058dp</dimen>
|
<dimen name="dp_1058">1058dp</dimen>
|
||||||
<dimen name="dp_1080">1080dp</dimen>
|
<dimen name="dp_1080">1080dp</dimen>
|
||||||
|
<dimen name="dp_1084">1084dp</dimen>
|
||||||
<dimen name="dp_1090">1090dp</dimen>
|
<dimen name="dp_1090">1090dp</dimen>
|
||||||
<dimen name="dp_1092">1092dp</dimen>
|
<dimen name="dp_1092">1092dp</dimen>
|
||||||
<dimen name="dp_1100">1100dp</dimen>
|
<dimen name="dp_1100">1100dp</dimen>
|
||||||
@@ -1064,6 +1065,7 @@
|
|||||||
<dimen name="dp_1306">1306dp</dimen>
|
<dimen name="dp_1306">1306dp</dimen>
|
||||||
<dimen name="dp_1373">1373dp</dimen>
|
<dimen name="dp_1373">1373dp</dimen>
|
||||||
<dimen name="dp_1386">1386dp</dimen>
|
<dimen name="dp_1386">1386dp</dimen>
|
||||||
|
<dimen name="dp_1400">1400dp</dimen>
|
||||||
<dimen name="dp_1489">1489dp</dimen>
|
<dimen name="dp_1489">1489dp</dimen>
|
||||||
<dimen name="dp_1528">1550dp</dimen>
|
<dimen name="dp_1528">1550dp</dimen>
|
||||||
<dimen name="dp_1600">1600dp</dimen>
|
<dimen name="dp_1600">1600dp</dimen>
|
||||||
|
|||||||
@@ -152,7 +152,7 @@ MATRIX_VERSION=2.0.8
|
|||||||
|
|
||||||
|
|
||||||
# 公交模式司机端版本号
|
# 公交模式司机端版本号
|
||||||
DRIVER_VERSION=8.4.0
|
DRIVER_VERSION=8.5.0
|
||||||
# 公交模式乘客端端版本号
|
# 公交模式乘客端端版本号
|
||||||
PASSENGER_VERSION=7.4.0
|
PASSENGER_VERSION=7.5.0
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
package com.mogo.map.utils
|
package com.mogo.map.utils
|
||||||
|
|
||||||
|
import com.mogo.commons.env.ProjectUtils
|
||||||
|
|
||||||
object HDMapUtils {
|
object HDMapUtils {
|
||||||
private val cityCodeMap by lazy(LazyThreadSafetyMode.SYNCHRONIZED) {
|
private val cityCodeMap by lazy(LazyThreadSafetyMode.SYNCHRONIZED) {
|
||||||
val map = HashMap<String, Int>()
|
val map = HashMap<String, Int>()
|
||||||
@@ -381,6 +383,9 @@ object HDMapUtils {
|
|||||||
*/
|
*/
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
fun getHDCityCode(gdCityCode: String?): Int? {
|
fun getHDCityCode(gdCityCode: String?): Int? {
|
||||||
|
if(ProjectUtils.isSingapore()){
|
||||||
|
return 7000
|
||||||
|
}
|
||||||
return cityCodeMap[gdCityCode]
|
return cityCodeMap[gdCityCode]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user