[6.7.0][运营面板] 代码部分提交

This commit is contained in:
renwj
2024-09-20 19:34:03 +08:00
parent b7e58d6c4e
commit 4a3fb0bb7e
34 changed files with 768 additions and 11 deletions

View File

@@ -77,6 +77,8 @@ dependencies {
implementation rootProject.ext.dependencies.koomjava
implementation rootProject.ext.dependencies.koomnative
implementation rootProject.ext.dependencies.koomxhook
implementation rootProject.ext.dependencies.preference
implementation rootProject.ext.dependencies.preference_ktx
implementation rootProject.ext.dependencies.thread_opt
api project(':test:crashreport-apmbyte')

View File

@@ -2,8 +2,11 @@ package com.mogo.eagle.core.function.hmi.ui
import android.content.Context
import android.text.TextUtils
import android.transition.Slide
import android.util.Log
import android.view.Gravity
import android.view.ViewGroup
import android.view.WindowManager
import androidx.lifecycle.ProcessLifecycleOwner
import androidx.lifecycle.lifecycleScope
import com.alibaba.android.arouter.facade.annotation.Route
@@ -38,6 +41,8 @@ import com.mogo.eagle.core.function.hmi.ui.notice.DispatchDialogManager
import com.mogo.eagle.core.function.hmi.ui.notice.NoticeCheckDialog
import com.mogo.eagle.core.function.hmi.ui.notice.traffic.NoticeTrafficDialog
import com.mogo.eagle.core.function.hmi.ui.setting.CameraLiveView.Companion.cameraLiveView
import com.mogo.eagle.core.function.hmi.bone.status.fsm.FSMStatusDetailWindowManager
import com.mogo.eagle.core.function.hmi.ui.operate.OperatePanelLayout
import com.mogo.eagle.core.function.hmi.ui.setting.StatusView
import com.mogo.eagle.core.function.hmi.ui.setting.ToolsView.Companion.toolsView
import com.mogo.eagle.core.function.hmi.ui.tools.AdUpgradeDialog
@@ -59,6 +64,8 @@ import com.zhjt.service_biz.BizConfig
import kotlinx.coroutines.Job
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
import me.jessyan.autosize.utils.AutoSizeUtils
import java.lang.ref.WeakReference
import java.util.concurrent.atomic.AtomicBoolean
import java.util.concurrent.atomic.AtomicReference
@@ -86,6 +93,8 @@ class MoGoHmiProvider : IMoGoHmiProvider {
private val xiaozhi by lazy { XiaoZhiStateManager() }
private val operatePanel by lazy { AtomicReference<WeakReference<MoGoPopWindow>>(null) }
override fun init(context: Context?) {
this.context = context
}
@@ -436,4 +445,34 @@ class MoGoHmiProvider : IMoGoHmiProvider {
override fun registerToolKitDefaultItemClickListener(tag: String, listener: IToolKitItemClickListener) {
ToolKitDataManager.addListener(TAG, listener)
}
override fun toggleOperatePanel(show: Boolean) {
val activity = AppStateManager.currentActivity()
if (activity == null) {
Log.d(TAG, "toggleOperatePanel --- activity is null, show: $show")
return
}
if (show) {
if (operatePanel.get()?.get()?.isShowing() == true) {
return
}
MoGoPopWindow.Builder()
.attachToActivity(activity)
.gravityInActivity(Gravity.START or Gravity.TOP)
.contentView(OperatePanelLayout(activity))
.width(AutoSizeUtils.dp2px(activity, 1000.0f))
.height(WindowManager.LayoutParams.MATCH_PARENT)
.transition(Slide(Gravity.START), Slide(Gravity.START))
.onDismissed {
operatePanel.set(null)
}
.build()
.also {
operatePanel.set(WeakReference(it))
}
.show()
} else {
operatePanel.get()?.get()?.hide()
}
}
}

View File

@@ -0,0 +1,103 @@
package com.mogo.eagle.core.function.hmi.ui.operate
import android.content.Context
import android.os.Bundle
import android.util.AttributeSet
import android.util.Log
import android.view.LayoutInflater
import android.widget.LinearLayout
import androidx.core.content.ContextCompat
import androidx.preference.PreferenceFragmentCompat
import androidx.preference.PreferenceHeaderFragmentCompat
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.layout_operate_panel.view.iv_operate_panel_close
class OperatePanelLayout: LinearLayout {
companion object {
private const val TAG = "OperatePanelLayout"
}
class PreferenceHeaderFragmentCompatImpl: PreferenceHeaderFragmentCompat() {
override fun onCreatePreferenceHeader(): PreferenceFragmentCompat {
Log.d(TAG, "--- onCreatePreferenceHeader ---")
return PreferenceHeader()
}
}
class PreferenceHeader: PreferenceFragmentCompat() {
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
Log.d(TAG, "PreferenceHeader --- onCreatePreferences ---")
setPreferencesFromResource(R.xml.operate_preference_headers, rootKey)
}
}
class V2XPreferenceFragmentCompat: PreferenceFragmentCompat() {
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
Log.d(TAG, "V2XPreferenceFragmentCompat --- onCreatePreferences ---")
setPreferencesFromResource(R.xml.operate_preference_details_v2x, rootKey)
}
}
class DemoPreferenceFragmentCompat: PreferenceFragmentCompat() {
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
Log.d(TAG, "DemoPreferenceFragmentCompat --- onCreatePreferences ---")
setPreferencesFromResource(R.xml.operate_preference_details_demo, rootKey)
}
}
class HdMapPreferenceFragmentCompat: PreferenceFragmentCompat() {
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
Log.d(TAG, "HdMapPreferenceFragmentCompat --- onCreatePreferences ---")
setPreferencesFromResource(R.xml.operate_preference_details_hdmap, rootKey)
}
}
class BusinessPreferenceFragmentCompat: PreferenceFragmentCompat() {
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
Log.d(TAG, "BusinessPreferenceFragmentCompat --- onCreatePreferences ---")
setPreferencesFromResource(R.xml.operate_preference_details_business, rootKey)
}
}
class MoFangPreferenceFragmentCompat: PreferenceFragmentCompat() {
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
Log.d(TAG, "MoFangPreferenceFragmentCompat --- onCreatePreferences ---")
setPreferencesFromResource(R.xml.operate_preference_details_mofang, rootKey)
}
}
class VehiclesPreferenceFragmentCompat: PreferenceFragmentCompat() {
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
Log.d(TAG, "VehiclesPreferenceFragmentCompat --- onCreatePreferences ---")
setPreferencesFromResource(R.xml.operate_preference_details_vehicles, rootKey)
}
}
constructor(context: Context) : this(context, null)
constructor(context: Context, attrs: AttributeSet?) : this(context, attrs, 0)
constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int) : super(context, attrs, defStyleAttr) {
orientation = VERTICAL
Log.d(TAG, "--- init ----")
LayoutInflater.from(context).inflate(R.layout.layout_operate_panel, this, true)
background = ContextCompat.getDrawable(context, R.drawable.bg_operate_panel)
iv_operate_panel_close?.onClick {
CallerHmiManager.toggleOperatePanel(false)
}
}
override fun onAttachedToWindow() {
super.onAttachedToWindow()
Log.d(TAG, "--- onAttachedToWindow ---")
}
override fun onDetachedFromWindow() {
super.onDetachedFromWindow()
Log.d(TAG, "--- onDetachedFromWindow ---")
}
}

View File

@@ -15,6 +15,7 @@ import com.mogo.eagle.core.function.angle.scenes.Default
import com.mogo.eagle.core.function.angle.scenes.LongSight
import com.mogo.eagle.core.function.api.map.angle.IMoGoVisualAngleChangeProvider
import com.mogo.eagle.core.function.api.map.angle.Scene
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager
import com.mogo.eagle.core.function.call.map.CallerVisualAngleManager
import com.mogo.eagle.core.function.hmi.R
import com.mogo.eagle.core.utilcode.kotlin.scope
@@ -84,6 +85,8 @@ class VisualAngleToggleView : FrameLayout, IMoGoVisualAngleChangeProvider.OnMoGo
override fun onAnimationEnd(animation: Animator, isReverse: Boolean) {
super.onAnimationEnd(animation, isReverse)
iv_toggle_block?.isEnabled = true
//TODO renwj
CallerHmiManager.toggleOperatePanel(false)
}
})
animator.interpolator = AccelerateDecelerateInterpolator()
@@ -107,11 +110,12 @@ class VisualAngleToggleView : FrameLayout, IMoGoVisualAngleChangeProvider.OnMoGo
animator.addListener(object : AnimatorListenerAdapter() {
override fun onAnimationStart(animation: Animator, isReverse: Boolean) {
CallerVisualAngleManager.changeScene(LongSight())
}
override fun onAnimationEnd(animation: Animator, isReverse: Boolean) {
iv_toggle_block?.isEnabled = true
//TODO renwj
CallerHmiManager.toggleOperatePanel(true)
}
})
animator.interpolator = AccelerateDecelerateInterpolator()

Binary file not shown.

After

Width:  |  Height:  |  Size: 640 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true">
<shape android:shape="rectangle">
<solid android:color="#1AFFFFFF" />
<corners android:radius="@dimen/dp_30" />
</shape>
</item>
<item android:drawable="@android:color/transparent" />
</selector>

View File

@@ -0,0 +1,58 @@
<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:background="@drawable/bg_operate_panel"
tools:layout_height="match_parent"
tools:layout_width="@dimen/dp_1000"
tools:orientation="vertical"
tools:parentTag="android.widget.LinearLayout">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/dp_86"
android:layout_marginStart="@dimen/dp_60"
android:layout_marginTop="@dimen/dp_112"
android:orientation="horizontal">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:background="@drawable/icon_operate_panel_rect_blue"
tools:ignore="ContentDescription" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_10"
android:layout_marginTop="@dimen/dp_10"
android:text="运营面板"
android:textColor="#ffffff"
android:textSize="@dimen/dp_42"
tools:ignore="HardcodedText,SpUsage" />
<Space
android:layout_width="0dip"
android:layout_height="@dimen/dp_1"
android:layout_gravity="center_vertical"
android:layout_weight="1" />
<ImageView
android:id="@+id/iv_operate_panel_close"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_8"
android:layout_marginEnd="@dimen/dp_90"
android:background="@drawable/icon_operate_panel_close"
tools:ignore="ContentDescription" />
</LinearLayout>
<androidx.fragment.app.FragmentContainerView
android:id="@+id/operate_panel"
android:name="com.mogo.eagle.core.function.hmi.ui.operate.OperatePanelLayout$PreferenceHeaderFragmentCompatImpl"
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_marginStart="@dimen/dp_60"
android:layout_marginEnd="@dimen/dp_90"
android:layout_weight="1" />
</merge>

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@android:id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#FF999999"
android:textSize="@dimen/dp_30"
android:paddingTop="@dimen/dp_30"
android:paddingStart="@dimen/dp_30"
tools:text="地图效果"
android:gravity="start" />

View File

@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="@dimen/dp_30"
android:paddingEnd="@dimen/dp_30"
android:orientation="horizontal"
tools:background="#83000000">
<TextView
android:id="@android:id/title"
android:layout_width="0dip"
android:layout_weight="1"
android:layout_height="wrap_content"
android:textSize="@dimen/dp_34"
android:layout_gravity="center_vertical"
android:textColor="#FFFFFF"
tools:text="V2X总开关"/>
<LinearLayout
android:id="@android:id/widget_frame"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:orientation="vertical"/>
</LinearLayout>

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@android:id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#FFFFFFFF"
android:textSize="@dimen/dp_40"
android:paddingTop="@dimen/dp_25"
android:paddingBottom="@dimen/dp_25"
android:paddingStart="@dimen/dp_30"
tools:text="地图效果"
android:gravity="start" />

View File

@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="@dimen/dp_30"
android:paddingEnd="@dimen/dp_30"
android:orientation="horizontal"
tools:background="#83000000">
<TextView
android:id="@android:id/title"
android:layout_width="0dip"
android:layout_weight="1"
android:layout_height="wrap_content"
android:textSize="@dimen/dp_34"
android:layout_gravity="center_vertical"
android:textColor="#FFFFFF"
tools:text="V2X总开关"/>
<LinearLayout
android:id="@android:id/widget_frame"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:orientation="vertical"/>
</LinearLayout>

View File

@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="@dimen/dp_30"
android:paddingEnd="@dimen/dp_30"
android:orientation="horizontal"
tools:background="#83000000">
<TextView
android:id="@android:id/title"
android:layout_width="0dip"
android:layout_weight="1"
android:layout_height="wrap_content"
android:textSize="@dimen/dp_34"
android:layout_gravity="center_vertical"
android:textColor="#FFFFFF"
tools:text="V2X总开关"/>
<LinearLayout
android:id="@android:id/widget_frame"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:orientation="vertical"/>
</LinearLayout>

View File

@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="@dimen/dp_60"
android:paddingEnd="@dimen/dp_30"
android:orientation="horizontal"
tools:background="#83000000">
<TextView
android:id="@android:id/title"
android:layout_width="0dip"
android:layout_weight="1"
android:layout_height="wrap_content"
android:textSize="@dimen/dp_34"
android:layout_gravity="center_vertical"
android:textColor="#FFFFFF"
tools:text="V2X总开关"/>
<LinearLayout
android:id="@android:id/widget_frame"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:orientation="vertical"/>
</LinearLayout>

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.appcompat.widget.AppCompatCheckBox
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/checkbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:focusable="false"
android:clickable="false" />

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.appcompat.widget.SwitchCompat xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:focusable="false"
android:clickable="false" />

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.appcompat.widget.SwitchCompat xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:focusable="false"
android:clickable="false" />

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.appcompat.widget.SwitchCompat xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:focusable="false"
android:clickable="false" />

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.appcompat.widget.SwitchCompat xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:focusable="false"
android:clickable="false" />

View File

@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="@dimen/dp_30"
android:paddingEnd="@dimen/dp_30"
android:orientation="vertical"
tools:background="#83000000">
<TextView
android:id="@android:id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="@dimen/dp_34"
android:layout_gravity="center_vertical"
android:textColor="#FFFFFF"
tools:text="V2X总开关"/>
<LinearLayout
android:id="@android:id/widget_frame"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_20"
android:visibility="gone"
android:orientation="vertical"/>
</LinearLayout>

View File

@@ -0,0 +1,52 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory
android:layout="@layout/layout_operate_panel_preference_category_title"
android:title="业务类">
<SwitchPreferenceCompat
android:key="red_or_green_light_marker"
android:layout="@layout/layout_operate_panel_preference_switch_compat"
android:title="红绿灯标识"
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat" />
<SwitchPreferenceCompat
android:key="red_or_green_light_merge_marker"
android:layout="@layout/layout_operate_panel_preference_switch_compat"
android:title="红绿灯融合标识"
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat" />
<SwitchPreferenceCompat
android:key="fault_report_tip"
android:layout="@layout/layout_operate_panel_preference_switch_compat"
android:title="异常上报提示"
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat" />
<SwitchPreferenceCompat
android:key="limit_speed_marker"
android:layout="@layout/layout_operate_panel_preference_switch_compat"
android:title="限速标识"
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat" />
<SwitchPreferenceCompat
android:key="self_routing_verify_mode"
android:layout="@layout/layout_operate_panel_preference_switch_compat"
android:title="自主算路验证模式"
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat" />
<SwitchPreferenceCompat
android:key="look_around_360"
android:layout="@layout/layout_operate_panel_preference_switch_compat"
android:title="360环视"
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat" />
<SwitchPreferenceCompat
android:key="weather_effect_switch"
android:layout="@layout/layout_operate_panel_preference_switch_compat"
android:title="天气效果开关"
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat" />
<SwitchPreferenceCompat
android:key="system_boot_status_show"
android:layout="@layout/layout_operate_panel_preference_switch_compat"
android:title="系统启动状态展示"
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat" />
<Preference
android:key="unmanned_demo_pull_interval"
android:layout="@layout/layout_operate_panel_preference_with_title_above"
android:title="无人化演练任务拉取时间间隔"
android:widgetLayout="@layout/layout_operate_panel_preference_widget_radio_group_custom" />
</PreferenceCategory>
</androidx.preference.PreferenceScreen>

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory android:title="美化模式" android:layout="@layout/layout_operate_panel_preference_category_title">
<SwitchPreferenceCompat
android:key="demo_switch"
android:title="美化模式"
android:layout="@layout/layout_operate_panel_preference_switch_compat"
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat"/>
<SwitchPreferenceCompat
android:key="record_bag_dialog"
android:title="录包弹窗"
android:layout="@layout/layout_operate_panel_preference_switch_compat"
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat"/>
<SwitchPreferenceCompat
android:key="take_over_wake"
android:title="接管提醒"
android:layout="@layout/layout_operate_panel_preference_switch_compat"
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat"/>
</PreferenceCategory>
</androidx.preference.PreferenceScreen>

View File

@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory android:title="地图效果" android:layout="@layout/layout_operate_panel_preference_category_title">
<SwitchPreferenceCompat
android:key="danger_obstacles_color_mark"
android:title="危险障碍物颜色标记"
android:layout="@layout/layout_operate_panel_preference_switch_compat"
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat"/>
<SwitchPreferenceCompat
android:key="route_guide_line_dynamic_effect"
android:title="引导线动态效果"
android:layout="@layout/layout_operate_panel_preference_switch_compat"
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat"/>
<SwitchPreferenceCompat
android:key="point_cloud_effect"
android:title="点云效果"
android:layout="@layout/layout_operate_panel_preference_switch_compat"
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat"/>
<SwitchPreferenceCompat
android:key="self_car_aperture"
android:title="自车光圈"
android:layout="@layout/layout_operate_panel_preference_switch_compat"
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat"/>
</PreferenceCategory>
</androidx.preference.PreferenceScreen>

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory
android:layout="@layout/layout_operate_panel_preference_category_title"
android:title="蘑方">
<Preference
android:key="mofang_connect"
android:title="连接蘑方"
android:layout="@layout/layout_operate_panel_preference_mofang_connect"
android:widgetLayout="@layout/layout_operate_panel_preference_widget_mofang_connect"/>
<SwitchPreferenceCompat
android:key="mofang_command_test"
android:layout="@layout/layout_operate_panel_preference_switch_compat"
android:title="蘑方指令测试"
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat" />
</PreferenceCategory>
</androidx.preference.PreferenceScreen>

View File

@@ -0,0 +1,66 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory android:title="V2X" android:layout="@layout/layout_operate_panel_preference_category_title">
<SwitchPreferenceCompat
android:key="v2x_total_switch"
android:title="V2X总开关"
android:layout="@layout/layout_operate_panel_preference_switch_compat"
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat"/>
<SwitchPreferenceCompat
android:key="v2n_total_switch"
android:title="V2N总开关"
android:layout="@layout/layout_operate_panel_preference_switch_compat"
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat"/>
<SwitchPreferenceCompat
android:key="v2n_new_linked"
android:title="V2N新链路"
android:dependency="v2n_total_switch"
android:layout="@layout/layout_operate_panel_preference_switch_compat_dependee"
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat"/>
<SwitchPreferenceCompat
android:key="v2n_new_linked_from_pnc"
android:title="V2N场景进PNC"
android:dependency="v2n_total_switch"
android:layout="@layout/layout_operate_panel_preference_switch_compat_dependee"
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat"/>
<SwitchPreferenceCompat
android:key="v2n_new_linked_green_wave"
android:title="绿波通行"
android:dependency="v2n_total_switch"
android:layout="@layout/layout_operate_panel_preference_switch_compat_dependee"
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat"/>
<SwitchPreferenceCompat
android:key="v2i_total_switch"
android:title="V2I总开关"
android:layout="@layout/layout_operate_panel_preference_switch_compat"
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat"/>
<SwitchPreferenceCompat
android:key="v2i_from_pnc"
android:title="V2I场景进PNC"
android:dependency="v2i_total_switch"
android:layout="@layout/layout_operate_panel_preference_switch_compat_dependee"
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat"/>
<SwitchPreferenceCompat
android:key="v2i_run_on_red_light"
android:title="闯红灯预警"
android:dependency="v2i_total_switch"
android:layout="@layout/layout_operate_panel_preference_switch_compat_dependee"
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat"/>
<SwitchPreferenceCompat
android:key="v2i_weakness_participant"
android:title="路侧弱势交通参与者"
android:dependency="v2i_total_switch"
android:layout="@layout/layout_operate_panel_preference_switch_compat_dependee"
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat"/>
<SwitchPreferenceCompat
android:key="v2v_total_switch"
android:title="V2V总开关"
android:layout="@layout/layout_operate_panel_preference_switch_compat"
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat"/>
<SwitchPreferenceCompat
android:key="obu_total_switch"
android:title="OBU总开关"
android:layout="@layout/layout_operate_panel_preference_switch_compat"
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat"/>
</PreferenceCategory>
</androidx.preference.PreferenceScreen>

View File

@@ -0,0 +1,82 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory
android:layout="@layout/layout_operate_panel_preference_category_title"
android:title="车辆相关">
<SwitchPreferenceCompat
android:key="pnc_park_intersection_car"
android:layout="@layout/layout_operate_panel_preference_switch_compat"
android:title="PNC-Park-会车"
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat" />
<SwitchPreferenceCompat
android:key="pnc_park_overtake_car"
android:layout="@layout/layout_operate_panel_preference_switch_compat"
android:title="PNC-Park-超车"
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat" />
<SwitchPreferenceCompat
android:key="detour_retard_park"
android:layout="@layout/layout_operate_panel_preference_switch_compat"
android:title="绕障减速停车"
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat" />
<SwitchPreferenceCompat
android:key="rain_day"
android:layout="@layout/layout_operate_panel_preference_switch_compat"
android:title="雨天模式"
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat" />
<SwitchPreferenceCompat
android:key="fault_deceleration_park"
android:layout="@layout/layout_operate_panel_preference_switch_compat"
android:title="故障减速停车"
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat" />
<SwitchPreferenceCompat
android:key="weak_net_deceleration_park"
android:layout="@layout/layout_operate_panel_preference_switch_compat"
android:title="弱网减速停车"
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat" />
<SwitchPreferenceCompat
android:key="exam_function_panel"
android:layout="@layout/layout_operate_panel_preference_switch_compat"
android:title="考试功能面板"
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat" />
<CheckBoxPreference
android:key="all_merge_mode"
android:layout="@layout/layout_operate_panel_preference_checkbox_compat"
android:title="全融合模式"
android:widgetLayout="@layout/layout_operate_panel_preference_widget_checkbox_compat" />
<CheckBoxPreference
android:key="blind_area_mode"
android:layout="@layout/layout_operate_panel_preference_checkbox_compat"
android:title="盲区模式"
android:widgetLayout="@layout/layout_operate_panel_preference_widget_checkbox_compat" />
<CheckBoxPreference
android:key="beyond_visual_range_mode"
android:layout="@layout/layout_operate_panel_preference_checkbox_compat"
android:title="超视距模式"
android:widgetLayout="@layout/layout_operate_panel_preference_widget_checkbox_compat" />
<CheckBoxPreference
android:key="transparent_transfer_mode"
android:layout="@layout/layout_operate_panel_preference_checkbox_compat"
android:title="超视距模式"
android:widgetLayout="@layout/layout_operate_panel_preference_widget_checkbox_compat" />
<CheckBoxPreference
android:key="pure_obu_mode"
android:layout="@layout/layout_operate_panel_preference_checkbox_compat"
android:title="纯路侧模式"
android:widgetLayout="@layout/layout_operate_panel_preference_widget_checkbox_compat" />
<Preference
android:key="auto_pilot_speed_thresholds"
android:layout="@layout/layout_operate_panel_preference_with_title_above"
android:title="自动驾驶速度阈值"
android:widgetLayout="@layout/layout_operate_panel_preference_widget_edit_with_button" />
<Preference
android:key="change_lane_speed_thresholds"
android:title="变道速度阈值"
android:layout="@layout/layout_operate_panel_preference_with_title_above"
android:widgetLayout="@layout/layout_operate_panel_preference_widget_edit_with_button" />
<Preference
android:key="overtake_speed_thresholds"
android:title="超车速度阈值"
android:layout="@layout/layout_operate_panel_preference_with_title_above"
android:widgetLayout="@layout/layout_operate_panel_preference_widget_edit_with_button" />
</PreferenceCategory>
</androidx.preference.PreferenceScreen>

View File

@@ -0,0 +1,34 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<Preference
android:fragment="com.mogo.eagle.core.function.hmi.ui.operate.OperatePanelLayout$V2XPreferenceFragmentCompat"
android:key="v2x"
android:selectable="true"
android:layout="@layout/layout_operate_panel_preference_header"
android:title="V2X" />
<Preference
android:fragment="com.mogo.eagle.core.function.hmi.ui.operate.OperatePanelLayout$HdMapPreferenceFragmentCompat"
android:key="hdmap"
android:layout="@layout/layout_operate_panel_preference_header"
android:title="地图效果" />
<Preference
android:fragment="com.mogo.eagle.core.function.hmi.ui.operate.OperatePanelLayout$DemoPreferenceFragmentCompat"
android:key="demo"
android:layout="@layout/layout_operate_panel_preference_header"
android:title="美化模式" />
<Preference
android:fragment="com.mogo.eagle.core.function.hmi.ui.operate.OperatePanelLayout$VehiclesPreferenceFragmentCompat"
android:key="vehicle"
android:layout="@layout/layout_operate_panel_preference_header"
android:title="车辆相关" />
<Preference
android:fragment="com.mogo.eagle.core.function.hmi.ui.operate.OperatePanelLayout$BusinessPreferenceFragmentCompat"
android:key="biz"
android:layout="@layout/layout_operate_panel_preference_header"
android:title="业务类" />
<Preference
android:fragment="com.mogo.eagle.core.function.hmi.ui.operate.OperatePanelLayout$MoFangPreferenceFragmentCompat"
android:key="mofang"
android:layout="@layout/layout_operate_panel_preference_header"
android:title="蘑方" />
</androidx.preference.PreferenceScreen>