修复合并冲突

Signed-off-by: 董宏宇 <martindhy@gmail.com>
This commit is contained in:
董宏宇
2021-10-09 18:49:42 +08:00
parent d223474c04
commit 5bf2fa7d1c
2 changed files with 21 additions and 184 deletions

View File

@@ -1,176 +0,0 @@
package com.mogo.eagle.core.function.check;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.util.Log;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.elegant.network.ParamsBuilder;
import com.mogo.cloud.passport.MoGoAiCloudClientConfig;
import com.mogo.commons.network.SubscribeImpl;
import com.mogo.eagle.core.function.call.check.CallerCheckManager;
import com.mogo.eagle.core.function.check.api.ICheckResultCallBack;
import com.mogo.eagle.core.function.check.net.CheckApiServiceFactory;
import com.mogo.eagle.core.function.check.net.CheckResultData;
import com.mogo.eagle.core.function.check.view.CheckDialog;
import com.mogo.eagle.core.utilcode.util.ActivityUtils;
import com.mogo.eagle.core.utilcode.util.AppUtils;
import com.mogo.eagle.core.utilcode.util.LogUtils;
import com.mogo.eagle.core.function.api.check.IMogoCheckListener;
import com.mogo.eagle.core.function.check.view.CheckActivity;
import com.mogo.eagle.core.utilcode.util.ThreadUtils;
import com.mogo.module.common.MogoApisHandler;
import com.mogo.module.service.MogoServiceProvider;
import com.mogo.module.service.MogoServices;
import com.mogo.module.service.receiver.MogoReceiver;
import com.mogo.service.MogoServicePaths;
import com.mogo.eagle.core.function.api.check.ICheckProvider;
import com.mogo.service.statusmanager.IMogoStatusChangedListener;
import com.mogo.service.statusmanager.StatusDescriptor;
import com.mogo.utils.ActivityLifecycleManager;
import com.mogo.utils.UiThreadHandler;
import com.mogo.utils.network.RequestOptions;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CopyOnWriteArrayList;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.schedulers.Schedulers;
/**
* 鹰眼系统、自动驾驶系统 检测模块
*
* @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 , IMogoStatusChangedListener {
private static final String TAG = "VehicleMonitoringManager";
private Context mContext;
private final Map<String, CopyOnWriteArrayList> mListeners = new ConcurrentHashMap<>();
private boolean hasTipShow = false;//是否已经弹框提示
CheckDialog dialog;
@Override
public void init(Context context) {
LogUtils.dTag(TAG, "初始化 CheckProvider 模块");
mContext = context;
MogoApisHandler.getInstance().getApis().getStatusManagerApi().registerStatusChangedListener(TAG,StatusDescriptor.MAIN_PAGE_RESUME,this);
}
@Override
public void registerVehicleMonitoringListener(String module, IMogoCheckListener listener) {
if (listener == null || module == null) {
LogUtils.dTag(TAG, "listener == null || intent == null");
return;
}
if (!mListeners.containsKey(module)) {
LogUtils.dTag(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) {
Intent starter = new Intent(context, CheckActivity.class);
starter.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(starter);
}
@Override
public void showCheckDialog(Context context) {
showDialog(context);
}
@Override
public void checkMonitor(Context context) {
if (context != null) {
CheckActivity.checkMonitor(context, new ICheckResultCallBack() {
@Override
public void callBackWithErrorState(Integer state) {
updateMonitoringStatus(MogoReceiver.ACTION_CHECK_VEHICLE_MONITORING, state);
if (state == 1) {
hasTipShow = false;
} else {
if (hasTipShow == false) {
showDialog(context);
hasTipShow = true;//已弹框
}
}
}
});
}
}
/**
* 指标异常弹框
*/
public void showDialog(Context context) {
try {
if (ActivityLifecycleManager.getInstance().isAppActive() == true &&
AppUtils.isAppRunning(getPackageName(context)) &&
ActivityUtils.getTopActivity() instanceof CheckActivity == false) {
if (dialog != null) {
dialog.dismiss();
}
dialog = new CheckDialog(context, true);
dialog.show();
}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* @param context
* @return 当前应用的版本名称
*/
public static synchronized String getPackageName(Context context) {
try {
PackageManager packageManager = context.getPackageManager();
PackageInfo packageInfo = packageManager.getPackageInfo(
context.getPackageName(), 0);
return packageInfo.packageName;
} catch (Exception e) {
e.printStackTrace();
}
return "com.mogo.launcher.f";
}
@Override
public void updateMonitoringStatus(String module, Integer state) {
List<IMogoCheckListener> listeners = mListeners.get(module);
if (listeners != null && !listeners.isEmpty()) {
for (IMogoCheckListener listener : listeners) {
if (listener != null) {
listener.updateMonitoringStatus(state);
}
}
}
}
@Override
public void onStatusChanged(StatusDescriptor descriptor, boolean isTrue) {
if (descriptor == StatusDescriptor.MAIN_PAGE_RESUME) {
if (!isTrue){
if (dialog != null && dialog.isShowing()){
dialog.dismiss();
}
}
}
}
}

View File

@@ -10,8 +10,11 @@ import com.mogo.eagle.core.function.check.view.CheckDialog
import com.mogo.eagle.core.utilcode.util.ActivityUtils
import com.mogo.eagle.core.utilcode.util.AppUtils
import com.mogo.eagle.core.utilcode.util.LogUtils
import com.mogo.module.common.MogoApisHandler
import com.mogo.module.service.receiver.MogoReceiver
import com.mogo.service.MogoServicePaths
import com.mogo.service.statusmanager.IMogoStatusChangedListener
import com.mogo.service.statusmanager.StatusDescriptor
import com.mogo.utils.ActivityLifecycleManager
import java.util.concurrent.ConcurrentHashMap
@@ -23,17 +26,20 @@ import java.util.concurrent.ConcurrentHashMap
* wikihttp://wiki.zhidaohulian.com/pages/viewpage.action?pageId=58204952
*/
@Route(path = MogoServicePaths.PATH_CHECK)
class VehicleMonitoringManager : ICheckProvider {
class VehicleMonitoringManager : ICheckProvider, IMogoStatusChangedListener {
private val TAG = "VehicleMonitoringManager"
private var mContext: Context? = null
private val mListeners: ConcurrentHashMap<String, IMogoCheckListener> = ConcurrentHashMap()
private var hasTipShow = false //是否已经弹框提示
var dialog: CheckDialog? = null
override fun init(context: Context) {
LogUtils.dTag(TAG, "初始化 CheckProvider 模块")
mContext = context
MogoApisHandler.getInstance().apis.statusManagerApi.registerStatusChangedListener(
TAG,
StatusDescriptor.MAIN_PAGE_RESUME,
this
)
}
override fun registerVehicleMonitoringListener(module: String, listener: IMogoCheckListener) {
@@ -41,9 +47,7 @@ class VehicleMonitoringManager : ICheckProvider {
}
override fun unregisterListener(module: String) {
if (mListeners.containsKey(module)) {
mListeners.remove(module)
}
mListeners.remove(module)
}
override fun startCheckActivity(context: Context) {
@@ -75,8 +79,7 @@ class VehicleMonitoringManager : ICheckProvider {
*/
private fun showDialog(context: Context) {
try {
if (ActivityLifecycleManager.getInstance().isAppActive &&
AppUtils.isAppRunning(
if (ActivityLifecycleManager.getInstance().isAppActive && AppUtils.isAppRunning(
AppUtils.getAppPackageName()
) && ActivityUtils.getTopActivity() !is CheckActivity
) {
@@ -96,4 +99,14 @@ class VehicleMonitoringManager : ICheckProvider {
listener.value.updateMonitoringStatus(state)
}
}
override fun onStatusChanged(descriptor: StatusDescriptor, isTrue: Boolean) {
if (descriptor == StatusDescriptor.MAIN_PAGE_RESUME) {
if (!isTrue) {
if (dialog != null && dialog!!.isShowing) {
dialog!!.dismiss()
}
}
}
}
}