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); + }