[add] 首页监听车辆监控状态,修改检测入口预警标识的显示状态

This commit is contained in:
liujing
2021-08-26 19:02:24 +08:00
parent 45666f5bd0
commit f1fc89b3b1
11 changed files with 165 additions and 69 deletions

View File

@@ -1,52 +0,0 @@
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;
import com.mogo.service.check.ICheckProvider;
import com.mogo.service.MogoServicePaths;
import com.mogo.utils.logger.Logger;
/**
* 鹰眼系统、自动驾驶系统 检测模块
*
* @date 4/21/21 3:39 PM
* 需求地址
* wikihttp://wiki.zhidaohulian.com/pages/viewpage.action?pageId=58204952
*/
@Route(path = MogoServicePaths.PATH_CHECK)
public class CheckProvider implements ICheckProvider {
private static final String TAG = "CheckProvider";
private Context mContext;
@Override
public void init(Context context) {
Logger.d(TAG, "初始化 CheckProvider 模块");
mContext = context;
}
@Override
public void startCheckActivity(Context context) {
if (context != null) {
CheckActivity.start(context);
}
}
@Override
public void showCheckDialog(Context context) {
if (context != null) {
CheckActivity.showDialog(context);
}
}
@Override
public void checkMonitor(Context context) {
if (context != null) {
CheckActivity.checkMonitor();
}
}
}

View File

@@ -0,0 +1,92 @@
package com.mogo.module.check;
import android.content.Context;
import android.util.Log;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.mogo.map.check.IMogoCheckListener;
import com.mogo.module.check.view.CheckActivity;
import com.mogo.service.check.ICheckProvider;
import com.mogo.service.MogoServicePaths;
import com.mogo.service.v2x.IV2XWarningListener;
import com.mogo.utils.logger.Logger;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CopyOnWriteArrayList;
/**
* 鹰眼系统、自动驾驶系统 检测模块
*
* @date 4/21/21 3:39 PM
* 需求地址
* wikihttp://wiki.zhidaohulian.com/pages/viewpage.action?pageId=58204952
*/
@Route(path = MogoServicePaths.PATH_CHECK)
public class VehicleMonitoringManager implements ICheckProvider {
private static final String TAG = "VehicleMonitoringManager";
private Context mContext;
private final Map<String, CopyOnWriteArrayList> mListeners = new ConcurrentHashMap<>();
@Override
public void init(Context context) {
Logger.d(TAG, "初始化 CheckProvider 模块");
mContext = context;
}
@Override
public void registerVehicleMonitoringListener(String module, IMogoCheckListener listener) {
if (listener == null || module == null) {
Log.d(TAG, "listener == null || intent == null");
return;
}
if (!mListeners.containsKey(module)) {
Log.d(TAG, "intent==" + module + "listener" + listener);
mListeners.put(module, new CopyOnWriteArrayList<>());
}
mListeners.get(module).add(listener);
}
@Override
public void unregisterListener(String module, IMogoCheckListener listener) {
if (mListeners.containsKey(module)) {
mListeners.get(module).remove(listener);
}
}
@Override
public void startCheckActivity(Context context) {
if (context != null) {
CheckActivity.start(context);
}
}
@Override
public void showCheckDialog(Context context) {
if (context != null) {
CheckActivity.showDialog(context);
}
}
@Override
public boolean checkMonitor(Context context) {
if (context != null) {
return CheckActivity.checkMonitor();
}
return false;
}
@Override
public void updateMonitoringStatus(String module, boolean hasError) {
List<IMogoCheckListener> listeners = mListeners.get(module);
if (listeners != null && !listeners.isEmpty()) {
for (IMogoCheckListener listener : listeners) {
if (listener != null) {
listener.updateMonitoringStatus(hasError);
}
}
}
}
}

View File

@@ -21,10 +21,13 @@ import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.RecyclerView;
import com.mogo.commons.voice.AIAssist;
import com.mogo.map.check.IMogoCheckListener;
import com.mogo.module.check.R;
import com.mogo.module.check.model.CheckItemInfo;
import com.mogo.module.common.MogoApisHandler;
import com.mogo.module.common.view.ImageViewClipBounds;
import com.mogo.module.common.view.SpacesItemDecoration;
import com.mogo.module.service.receiver.MogoReceiver;
import com.mogo.utils.CommonUtils;
import com.mogo.utils.network.utils.NetworkStatusUtil;
import com.tencent.bugly.beta.Beta;
@@ -39,7 +42,7 @@ import java.util.concurrent.TimeUnit;
* @description 车辆监控页面
* @since: 7/27/21
*/
public class CheckActivity extends AppCompatActivity {
public class CheckActivity extends AppCompatActivity {
private static final String TAG = "CheckActivity";
private RecyclerView mRecyclerView;
@@ -113,8 +116,8 @@ public class CheckActivity extends AppCompatActivity {
/**
* 自动驾驶状态下指标监测
*/
public static void checkMonitor() {
Log.d(TAG,"checkMonitor");
public static boolean checkMonitor() {
Log.d(TAG, "checkMonitor");
//版本检测
versionCheckResult();
//系统检测
@@ -125,6 +128,8 @@ public class CheckActivity extends AppCompatActivity {
hardware();
//根据以上4个结果插入第一个元素(自动驾驶车辆是否存在风险)
topListTitle();
MogoApisHandler.getInstance().getApis().getCheckProvider().updateMonitoringStatus(MogoReceiver.ACTION_CHECK_VEHICLE_MONITORING,false);
return true;
}
/**
@@ -348,7 +353,7 @@ public class CheckActivity extends AppCompatActivity {
//网络类型
sNetWorkStatus = NetworkStatusUtil.networkState(context);
//网络强度
if (sNetWorkStatus.getStatus() != null && sNetWorkStatus.getStatus() != "UNKNOWN") {
if (sNetWorkStatus != null && sNetWorkStatus.getStatus() != null && sNetWorkStatus.getStatus() != "UNKNOWN") {
Log.d(TAG, "网络类型:" + sNetWorkStatus.getStatus() + "网络强度:" + sNetWorkStatus.getSignalStrength());
if (sNetWorkStatus.getSignalStrength() <= -90) {
AIAssist.getInstance(context).speakTTSVoice("网络信号差");
@@ -570,4 +575,5 @@ public class CheckActivity extends AppCompatActivity {
protected void onPause() {
super.onPause();
}
}