From 736d97d13b81eebce6d116f98a1a8d539e2161bf Mon Sep 17 00:00:00 2001 From: liujing Date: Tue, 17 Aug 2021 14:47:24 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8E=E5=8F=B0=E4=BB=BB=E5=8A=A1=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=EF=BC=9A=E6=A0=B9=E6=8D=AE=E5=90=8E=E6=9C=9F=E9=9C=80?= =?UTF-8?q?=E6=B1=82=E4=BF=AE=E6=94=B9=E6=8C=87=E6=A0=87=E7=9B=91=E6=B5=8B?= =?UTF-8?q?=E8=BD=AE=E8=AF=A2=E6=97=B6=E9=97=B4=EF=BC=8C=E7=BC=BA=E5=B0=91?= =?UTF-8?q?=E5=AF=B9=E8=87=AA=E5=8A=A8=E9=A9=BE=E9=A9=B6=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E5=8F=98=E5=8C=96=E7=9A=84=E7=9B=91=E5=90=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mogo/module/check/CheckProvider.java | 8 +++++ .../mogo/module/check/view/CheckActivity.java | 7 ++++ .../main/monitoring/VehicleMonitoring.java | 35 ++++++++++++++++--- .../module/main/service/MogoMainService.java | 4 +-- .../mogo/service/check/ICheckProvider.java | 5 +++ 5 files changed, 52 insertions(+), 7 deletions(-) diff --git a/modules/mogo-module-check/src/main/java/com/mogo/module/check/CheckProvider.java b/modules/mogo-module-check/src/main/java/com/mogo/module/check/CheckProvider.java index 6fe54d157e..11c2cd6cf1 100644 --- a/modules/mogo-module-check/src/main/java/com/mogo/module/check/CheckProvider.java +++ b/modules/mogo-module-check/src/main/java/com/mogo/module/check/CheckProvider.java @@ -1,6 +1,7 @@ package com.mogo.module.check; import android.content.Context; +import android.util.Log; import com.alibaba.android.arouter.facade.annotation.Route; import com.mogo.module.check.view.CheckActivity; @@ -41,4 +42,11 @@ public class CheckProvider implements ICheckProvider { CheckActivity.showDialog(context); } } + + @Override + public void checkMonitor(Context context) { + if (context != null){ + CheckActivity.checkMonitor(); + } + } } diff --git a/modules/mogo-module-check/src/main/java/com/mogo/module/check/view/CheckActivity.java b/modules/mogo-module-check/src/main/java/com/mogo/module/check/view/CheckActivity.java index 4f4ab51bb1..c146715ba6 100644 --- a/modules/mogo-module-check/src/main/java/com/mogo/module/check/view/CheckActivity.java +++ b/modules/mogo-module-check/src/main/java/com/mogo/module/check/view/CheckActivity.java @@ -82,6 +82,13 @@ public class CheckActivity extends AppCompatActivity { mRecyclerView.setLayoutManager(linearLayoutManager); + } + + /** + * 自动驾驶状态下指标监测 + */ + public static void checkMonitor(){ + } /** diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/monitoring/VehicleMonitoring.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/monitoring/VehicleMonitoring.java index f03e503951..dc5b29d8fb 100644 --- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/monitoring/VehicleMonitoring.java +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/monitoring/VehicleMonitoring.java @@ -4,6 +4,10 @@ package com.mogo.module.main.monitoring; import android.content.Context; import android.os.Handler; import android.os.Message; +import android.util.Log; + +import com.mogo.module.common.MogoApisHandler; +import com.mogo.service.adas.IMogoAdasOCHCallback; /** * @author liujing @@ -12,33 +16,54 @@ import android.os.Message; */ public class VehicleMonitoring implements Handler.Callback { + private static final String TAG = "VehicleMonitoring"; private final Context mContext; - private final Handler mHandler = new Handler(); + private final Handler mHandler = new Handler(this); //自动驾驶状态下10分钟弹框提示一次 - private static final long AUTO_CHECK_STATUS_DELAY = 10 * 60 * 1000; + private static final long AUTO_CHECK_STATUS_DELAY = 10 * 60 * 1000;//自动驾驶状态下10分钟弹框提示一次 + //非自动驾驶测试数据 后期根据需求做修改 + private static final long MANUAL_CHECK_STATUS_DELAY = 1 * 60 * 1000; + //自动驾驶状态 private static final int AUTO_CHECK_STATUS = 10001; + //费自动驾驶状态 private static final int MANUAL_CHECK_STATUS = 10002; public VehicleMonitoring(Context context) { mContext = context; } - public void vehicleCheckForAuto() { - mHandler.sendEmptyMessageDelayed(AUTO_CHECK_STATUS, AUTO_CHECK_STATUS_DELAY); + public void vehicleCheck() { + Log.d(TAG, "vehicleCheck"); + if (MogoApisHandler.getInstance().getApis().getAdasControllerApi().getAutopilotStatus() == IMogoAdasOCHCallback.STATUS_AUTOPILOT_RUNNING) { + Log.d(TAG, "自动驾驶中..."); + mHandler.sendEmptyMessageDelayed(AUTO_CHECK_STATUS, AUTO_CHECK_STATUS_DELAY); + } else { + Log.d(TAG, "非自动驾驶状态"); + //非自动驾驶状态只展示一次 + mHandler.sendEmptyMessageDelayed(MANUAL_CHECK_STATUS, MANUAL_CHECK_STATUS_DELAY); + } + } @Override public boolean handleMessage(Message msg) { switch (msg.what) { case AUTO_CHECK_STATUS: - + vehicleMonitor(); + mHandler.sendEmptyMessageDelayed(AUTO_CHECK_STATUS, AUTO_CHECK_STATUS_DELAY); return true; case MANUAL_CHECK_STATUS: + vehicleMonitor(); return true; default: } return false; } + public void vehicleMonitor() { + Log.d(TAG, "vehicleMonitor"); + MogoApisHandler.getInstance().getApis().getCheckProvider().checkMonitor(mContext); + } + } diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/service/MogoMainService.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/service/MogoMainService.java index 2fbacb1bac..7ba43c1c59 100644 --- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/service/MogoMainService.java +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/service/MogoMainService.java @@ -53,9 +53,9 @@ class MogoMainService extends Service implements IMogoLocationListener { // 开启延时检测 DelayCheckUtil delayCheckUtil = new DelayCheckUtil(this); delayCheckUtil.waitingForCheck(); - //车辆检测 + // 车辆检测 VehicleMonitoring monitoring = new VehicleMonitoring(this); - monitoring.vehicleCheckForAuto(); + monitoring.vehicleCheck(); } @Nullable diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/check/ICheckProvider.java b/services/mogo-service-api/src/main/java/com/mogo/service/check/ICheckProvider.java index 620bf766e4..a4caf59c9a 100644 --- a/services/mogo-service-api/src/main/java/com/mogo/service/check/ICheckProvider.java +++ b/services/mogo-service-api/src/main/java/com/mogo/service/check/ICheckProvider.java @@ -18,5 +18,10 @@ public interface ICheckProvider extends IProvider { */ void showCheckDialog(Context context); + /** + * 指标监测 + */ + void checkMonitor(Context context); + }