diff --git a/config.gradle b/config.gradle index cb8ba9f2d3..9a89bc55e5 100644 --- a/config.gradle +++ b/config.gradle @@ -114,7 +114,7 @@ ext { obusdk : "com.zhidao.enterprise.smartv2x:smartv2x:1.0.0.3", mogoobu : 'com.zhidao.support.obu:mogoobu:1.0.0.19', mogoami : 'com.zhidao.support.obu.ami:mogoami:1.0.0.10', - adasHigh : 'com.zhidao.support.adas:high:1.2.0.14', + adasHigh : 'com.zhidao.support.adas:high:1.2.1.1', // google googlezxing : "com.google.zxing:core:3.3.3", diff --git a/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/MoGoAutopilotProvider.kt b/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/MoGoAutopilotProvider.kt index cf93a876e3..f626fe2720 100644 --- a/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/MoGoAutopilotProvider.kt +++ b/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/MoGoAutopilotProvider.kt @@ -57,7 +57,7 @@ class MoGoAutopilotProvider : } override fun recordPackage(): Boolean { - return AdasManager.getInstance().recordPackage() + return AdasManager.getInstance().recordPackage(1, (System.currentTimeMillis() / 1000).toInt()) } override fun setEnableLog(isEnableLog: Boolean) { @@ -72,5 +72,7 @@ class MoGoAutopilotProvider : } - + override fun setAutoPilotSpeed(speed: Int) { + AdasManager.getInstance().setSpeed(speed) + } } \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt index ca8a5bf68d..8fcfef0aee 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt @@ -18,6 +18,7 @@ import com.mogo.eagle.core.data.notice.NoticeNormalData import com.mogo.eagle.core.data.notice.NoticeTrafficStylePushData import com.mogo.eagle.core.function.api.hmi.warning.IMoGoWaringProvider import com.mogo.eagle.core.function.api.hmi.warning.IMoGoWarningStatusListener +import com.mogo.eagle.core.function.call.check.CallerCheckManager import com.mogo.eagle.core.function.call.monitor.CallerMonitorManager import com.mogo.eagle.core.function.hmi.R import com.mogo.eagle.core.function.hmi.WaringConst @@ -29,9 +30,11 @@ import com.mogo.eagle.core.function.hmi.ui.camera.CameraListView import com.mogo.eagle.core.function.hmi.ui.notice.NoticeBannerView 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.tools.AutoPilotAndCheckView import com.mogo.eagle.core.function.hmi.ui.utils.visible import com.mogo.eagle.core.function.hmi.ui.widget.V2XNotificationView import com.mogo.eagle.core.utilcode.util.ThreadUtils +import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.module.common.enums.EventTypeEnum import com.mogo.utils.logger.Logger import kotlinx.android.synthetic.main.fragment_hmi.* @@ -62,6 +65,10 @@ class MoGoHmiFragment : MvpFragment private var cameraListView: CameraListView? = null private var cameraViewFloat: WarningFloat.Builder? = null + private var toolsView: AutoPilotAndCheckView? = null + // 检测、自动驾驶速度设置 + private var toolsViewFloat: WarningFloat.Builder? = null + override fun vipIdentification(visible: Boolean) { ThreadUtils.runOnUiThread { Logger.d(TAG, "vipIdentification") @@ -80,6 +87,11 @@ class MoGoHmiFragment : MvpFragment showCameraList(CallerMonitorManager.getCameraList()) } } + viewCheckStatus?.setOnClickListener { + if (toolsViewFloat == null) { + showToolsFloat() + } + } viewShowDebugView.setOnLongClickListener { Log.d(TAG, "长按显示状态工具栏") @@ -126,6 +138,65 @@ class MoGoHmiFragment : MvpFragment } } + private fun showToolsFloat() { + Logger.d(TAG, "showToolsFloat") + context?.let { + if (toolsViewFloat == null) { + if (toolsView == null) { + toolsView = AutoPilotAndCheckView(it) + toolsView!!.setClickListener(object : AutoPilotAndCheckView.ClickListener { + override fun go2CheckPage() { + // 启动检测页面 + CallerCheckManager.startCheckActivity(context) + dismissToolsFloatView() + } + + override fun onClose(v: View) { + dismissToolsFloatView() + } + }) + } + toolsViewFloat = WarningFloat.with(it) + .setTag("ToolsViewFloat") + .setLayout(toolsView!!) + .setSidePattern(SidePattern.LEFT) + .setGravity(Gravity.LEFT, offsetY = 72) + .setImmersionStatusBar(true) + .setAnimator(object : DefaultAnimator() { + override fun enterAnim( + view: View, + params: WindowManager.LayoutParams, + windowManager: WindowManager, + sidePattern: SidePattern + ): Animator? = + super.enterAnim(view, params, windowManager, sidePattern) + ?.apply { + interpolator = OvershootInterpolator() + } + + override fun exitAnim( + view: View, + params: WindowManager.LayoutParams, + windowManager: WindowManager, + sidePattern: SidePattern + ): Animator? = + super.exitAnim(view, params, windowManager, sidePattern) + ?.setDuration(200) + }) + .addWarningStatusListener(object : IMoGoWarningStatusListener { + override fun onDismiss() { + toolsViewFloat = null + toolsView = null + // TODO:("") + } + }) + .show() + } else { + toolsViewFloat?.show() + } + } + } + /** * 根据配置文件初始化视图显示 */ @@ -468,6 +539,18 @@ class MoGoHmiFragment : MvpFragment cameraListView?.showNoSignal() } + override fun showToolsView() { + if (toolsViewFloat == null) { + showToolsFloat() + } else { + ToastUtils.showShort("弹窗状态有误!") + } + } + + override fun hideToolsView() { + dismissToolsFloatView() + } + private fun showCameraList(cameraList: List?) { context?.let { if (cameraViewFloat == null) { @@ -544,6 +627,14 @@ class MoGoHmiFragment : MvpFragment } } + private fun dismissToolsFloatView() { + toolsViewFloat?.let { + WarningFloat.dismiss(it.config.floatTag, false) + toolsViewFloat = null + toolsView = null + } + } + override fun onDestroy() { super.onDestroy() Log.d(TAG, "onDestroy") diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/tools/AutoPilotAndCheckView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/tools/AutoPilotAndCheckView.kt new file mode 100644 index 0000000000..f079337f1e --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/tools/AutoPilotAndCheckView.kt @@ -0,0 +1,59 @@ +package com.mogo.eagle.core.function.hmi.ui.tools + +import android.content.Context +import android.util.AttributeSet +import android.view.LayoutInflater +import android.view.View +import android.widget.FrameLayout +import com.mogo.eagle.core.function.call.check.CallerCheckManager +import com.mogo.eagle.core.function.hmi.R +import kotlinx.android.synthetic.main.view_auto_pilot_check.view.* + +/** + * @author ChenFufeng + * 设置自动驾驶速度和检测页入口 + */ +class AutoPilotAndCheckView : FrameLayout { + + private val TAG = "AutoPilotAndCheckView" + + private var clickListener: ClickListener? = null + + @JvmOverloads + constructor(context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0) : super( + context, + attrs, + defStyleAttr + ) + + init { + LayoutInflater.from(context).inflate(R.layout.view_auto_pilot_check, this, true) + initView() + } + + private fun initView() { + ivCloseIcon.setOnClickListener { + clickListener?.onClose(it) + } + ivCheckIcon.setOnClickListener { + clickListener?.go2CheckPage() + } + } + + fun setClickListener(clickListener: ClickListener) { + this.clickListener = clickListener + } + + override fun onAttachedToWindow() { + super.onAttachedToWindow() + } + + override fun onDetachedFromWindow() { + super.onDetachedFromWindow() + } + + interface ClickListener { + fun go2CheckPage() + fun onClose(v: View) + } +} \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/CheckStatusView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/CheckStatusView.kt index 7c1472fa11..50315d1323 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/CheckStatusView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/CheckStatusView.kt @@ -27,10 +27,10 @@ class CheckStatusView @JvmOverloads constructor( setBackgroundResource(R.drawable.module_ext_check) - setOnClickListener { - // 启动检测页面 - CallerCheckManager.startCheckActivity(getContext()) - } +// setOnClickListener { +// // 启动检测页面 +// CallerCheckManager.startCheckActivity(getContext()) +// } } private fun showErrorIcon() { diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xxhdpi/check_car_nor.png b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xxhdpi/check_car_nor.png new file mode 100644 index 0000000000..7d7d3726ad Binary files /dev/null and b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xxhdpi/check_car_nor.png differ diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/pilot_speed_bg.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/pilot_speed_bg.xml new file mode 100644 index 0000000000..e4fe7e8614 --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/pilot_speed_bg.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_auto_pilot_check.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_auto_pilot_check.xml new file mode 100644 index 0000000000..3df5368ac2 --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_auto_pilot_check.xml @@ -0,0 +1,130 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotProvider.java b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotProvider.java index 2c33f8e5f1..fecf0f428f 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotProvider.java +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotProvider.java @@ -56,4 +56,5 @@ public interface IMoGoAutopilotProvider extends IMoGoFunctionServerProvider { */ void setIsWriteLog(boolean isWriteLog); + void setAutoPilotSpeed(int speed); } diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/warning/IMoGoWaringProvider.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/warning/IMoGoWaringProvider.kt index 0243ff311c..238e023f9c 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/warning/IMoGoWaringProvider.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/warning/IMoGoWaringProvider.kt @@ -144,4 +144,8 @@ interface IMoGoWaringProvider { fun startRoadCameraLive(flvUrl: String) fun showNoSignView() + + fun showToolsView() + + fun hideToolsView() } \ No newline at end of file diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotManager.kt index dd30beef17..896afd89a1 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotManager.kt @@ -63,4 +63,7 @@ object CallerAutoPilotManager { providerApi.setIsWriteLog(isWriteLog) } + fun setAutoPilotSpeed(speed: Int) { + providerApi.setAutoPilotSpeed(speed) + } } \ No newline at end of file diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiManager.kt index 70705c09a5..476f963dd9 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiManager.kt @@ -200,4 +200,12 @@ object CallerHmiManager : CallerBase() { fun showNoSignalView() { waringProviderApi.showNoSignView() } + + fun showToolsView() { + waringProviderApi.showToolsView() + } + + fun hideToolsView() { + waringProviderApi.hideToolsView() + } } \ No newline at end of file diff --git a/modules/mogo-module-adas/src/main/java/com/mogo/module/adas/OnAdasListenerAdapter.java b/modules/mogo-module-adas/src/main/java/com/mogo/module/adas/OnAdasListenerAdapter.java index 3e8a93fab4..46f62c40a3 100644 --- a/modules/mogo-module-adas/src/main/java/com/mogo/module/adas/OnAdasListenerAdapter.java +++ b/modules/mogo-module-adas/src/main/java/com/mogo/module/adas/OnAdasListenerAdapter.java @@ -28,6 +28,7 @@ import com.zhidao.support.adas.high.bean.RectInfo; import com.zhidao.support.adas.high.bean.TrajectoryInfo; import com.zhidao.support.adas.high.bean.WarnMessageInfo; import com.zhidao.support.adas.high.bean.guardian.AutopilotGuardianInfo; +import com.zhidao.support.adas.high.bean.record.AutopilotRecordResult; import com.zhidao.support.obu.ami.AmiClientManager; import java.util.ArrayList; @@ -150,6 +151,11 @@ public class OnAdasListenerAdapter implements OnAdasListener { CallerAutoPilotStatusListenerManager.INSTANCE.invokeAutopilotGuardian(autopilotRoute); } + @Override + public void onAutopilotRecord(AutopilotRecordResult result) { + + } + @Override public void onLightStateData(LightStatueInfo lightStatueInfo) {