SOP运营面板

This commit is contained in:
xuxinchao
2022-10-21 17:14:39 +08:00
parent 592ed340d8
commit a5c2dcd843
6 changed files with 98 additions and 2 deletions

View File

@@ -79,6 +79,7 @@ import com.mogo.eagle.core.function.hmi.ui.notice.NoticeNormalBannerView
import com.mogo.eagle.core.function.hmi.ui.setting.DebugSettingView
import com.mogo.eagle.core.function.hmi.ui.setting.IPCReportWindow
import com.mogo.eagle.core.function.hmi.ui.setting.ReportListFloatWindow
import com.mogo.eagle.core.function.hmi.ui.setting.SOPSettingView
import com.mogo.eagle.core.function.hmi.ui.tools.AdUpgradeDialog
import com.mogo.eagle.core.function.hmi.ui.tools.AutoPilotAndCheckView
import com.mogo.eagle.core.function.hmi.ui.tools.MaskView
@@ -127,6 +128,9 @@ class MoGoHmiFragment : MvpFragment<MoGoHmiContract.View?, HmiPresenter?>(),
private var mDebugSettingViewFloat: WarningFloat.Builder? = null
private var mDebugSettingView: DebugSettingView? = null
//SOPSettingView
private var mSOPSettingViewFloat: WarningFloat.Builder? = null
private var mSOPSettingView: SOPSettingView? = null
private var mNoticeFloat: WarningFloat.Builder? = null
@@ -447,6 +451,10 @@ class MoGoHmiFragment : MvpFragment<MoGoHmiContract.View?, HmiPresenter?>(),
dismissToolsFloatView()
CallerDevaToolsManager.showFeedbackView(it)
}
override fun showSOPSettingView() {
toggleSOPView()
}
})
}
toolsViewFloat = WarningFloat.with(it)
@@ -660,6 +668,58 @@ class MoGoHmiFragment : MvpFragment<MoGoHmiContract.View?, HmiPresenter?>(),
}
}
override fun toggleSOPView() {
activity?.let{
if(mSOPSettingViewFloat!= null){
WarningFloat.dismiss(mSOPSettingViewFloat!!.config.floatTag, false)
mSOPSettingViewFloat = null
mSOPSettingView = null
}else{
if (mSOPSettingView == null){
mSOPSettingView = SOPSettingView(it)
}
var side = RIGHT
var gravity = Gravity.RIGHT
//调试窗默认靠右显示Bus的乘客端右端有视图覆盖调试窗靠左显示
if (AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode) &&
AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)
) {
side = LEFT
gravity = Gravity.LEFT
}
mSOPSettingViewFloat = WarningFloat.with(it)
.setTag("mSOPSettingView")
.setLayout(mSOPSettingView!!)
.setSidePattern(side)
.setGravity(gravity, offsetY = 70)
.setImmersionStatusBar(true)
.setAnimator(object : DefaultAnimator() {
override fun enterAnim(
view: View,
params: LayoutParams,
windowManager: WindowManager,
sidePattern: SidePattern
): Animator? =
super.enterAnim(view, params, windowManager, sidePattern)
?.apply {
interpolator = OvershootInterpolator()
}
override fun exitAnim(
view: View,
params: LayoutParams,
windowManager: WindowManager,
sidePattern: SidePattern
): Animator? =
super.exitAnim(view, params, windowManager, sidePattern)
?.setDuration(200)
})
.show()
}
}
}
/**
* 展示VR下V2X预警
*

View File

@@ -101,6 +101,9 @@ class AutoPilotAndCheckView @JvmOverloads constructor(
rlKillLayout.setOnClickListener {
killApp()
}
sopLayout.setOnClickListener {
clickListener?.showSOPSettingView()
}
viewCheckStatus.setOnClickListener {
clickListener?.go2CheckPage()
}
@@ -220,6 +223,7 @@ class AutoPilotAndCheckView @JvmOverloads constructor(
fun onClose(v: View)
fun showDebugPanelView()
fun showFeedbackView()
fun showSOPSettingView()
}
override fun onAutopilotCarConfig(carConfigResp: MessagePad.CarConfigResp) {

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

View File

@@ -144,6 +144,32 @@
</LinearLayout>
<RelativeLayout
android:id="@+id/sopLayout"
android:layout_width="wrap_content"
android:layout_height="@dimen/dp_216"
android:layout_marginTop="@dimen/dp_90"
app:layout_constraintTop_toBottomOf="@id/checkLayout"
app:layout_constraintLeft_toLeftOf="@id/checkLayout">
<ImageView
android:layout_width="150px"
android:layout_height="150px"
android:layout_centerHorizontal="true"
android:background="@drawable/debug_icon_sop" />
<TextView
android:layout_width="wrap_content"
android:layout_height="42px"
android:text="@string/debug_sop"
android:textColor="@color/color_FFA7B6F0"
android:textSize="32px"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
/>
</RelativeLayout>
<TextView
android:id="@+id/tv_check_title"
android:layout_width="84px"
@@ -164,7 +190,7 @@
android:layout_marginTop="94px"
android:background="@color/color_FF2966EC"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/checkLayout" />
app:layout_constraintTop_toBottomOf="@id/sopLayout" />
<TextView
android:id="@+id/tvSpeedTitle"
@@ -177,7 +203,7 @@
android:textColor="@color/color_FFFFFF"
android:textSize="42px"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/checkLayout" />
app:layout_constraintTop_toBottomOf="@id/sopLayout" />
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/llSpeedPosition"

View File

@@ -22,6 +22,7 @@
<string name="check_vehicle_detection">车辆检测</string>
<string name="debug_panel">调试面板</string>
<string name="debug_panel_fb">录包设置</string>
<string name="debug_sop">运营面板</string>
<string name="check_vehicle_speed_setting">车速设置</string>
<string name="bus_operation_title">账户信息</string>
<string name="check_system_operation">系统运行</string>