From 7d5845fb60f791cff4c62eb3f13f7396144d97f1 Mon Sep 17 00:00:00 2001 From: lianglihui Date: Sat, 9 Oct 2021 18:37:14 +0800 Subject: [PATCH 1/8] =?UTF-8?q?eagle=20=E5=A4=84=E7=90=86=E5=BC=82?= =?UTF-8?q?=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mogo/launcher/MogoApplication.java | 14 +++++++------ config.gradle | 6 +++--- .../check/VehicleMonitoringManager.java | 20 ++++++++++++++++++- .../function/check/view/CheckActivity.java | 12 +++++++---- .../function/check/view/CheckAdapter.java | 13 +++++++++++- .../hmi/ui/widget/AutoPilotStatusView.kt | 18 ++++++++++++++--- .../com/mogo/module/back/MogoLauncher.java | 12 +++++------ 7 files changed, 71 insertions(+), 24 deletions(-) diff --git a/app/src/main/java/com/mogo/launcher/MogoApplication.java b/app/src/main/java/com/mogo/launcher/MogoApplication.java index d329ae6946..315321a1bc 100644 --- a/app/src/main/java/com/mogo/launcher/MogoApplication.java +++ b/app/src/main/java/com/mogo/launcher/MogoApplication.java @@ -39,11 +39,13 @@ import com.mogo.utils.ProcessUtils; import com.mogo.utils.logger.LogLevel; import com.mogo.utils.logger.Logger; import com.mogo.utils.storage.SharedPrefsMgr; -import com.squareup.leakcanary.LeakCanary; -import com.squareup.leakcanary.RefWatcher; +//import com.squareup.leakcanary.LeakCanary; +//import com.squareup.leakcanary.RefWatcher; import com.zhidao.boot.persistent.lib.PersistentManager; import com.zhidao.mogo.module.left.panel.LeftPanelConst; +import leakcanary.LeakCanary; + /** * @author congtaowang * @since 2019-12-18 @@ -55,7 +57,7 @@ public class MogoApplication extends AbsMogoApplication { private static final String TAG = "MogoApplication"; private long start; - private volatile static RefWatcher refWatcher; +// private volatile static RefWatcher refWatcher; @Override public void onCreate() { @@ -313,9 +315,9 @@ public class MogoApplication extends AbsMogoApplication { startService(intent); } - if (refWatcher == null) { - refWatcher = LeakCanary.install(this); - } +// if (refWatcher == null) { +// refWatcher = LeakCanary.install(this); +// } // 初始化 bugly 升级 ARouter.getInstance().navigation(UpgradeReportProvider.class); diff --git a/config.gradle b/config.gradle index 0bbc715145..a62f80e527 100644 --- a/config.gradle +++ b/config.gradle @@ -43,9 +43,9 @@ ext { // json 转换 gson : "com.google.code.gson:gson:2.8.4", // 内存泄漏检测 - debugleakcanary : "com.squareup.leakcanary:leakcanary-android:1.6.1", - releaseleakcanary : "com.squareup.leakcanary:leakcanary-android-no-op:1.6.1", - testleakcanary : "com.squareup.leakcanary:leakcanary-android-no-op:1.6.1", + debugleakcanary : "com.squareup.leakcanary:leakcanary-android:2.7", + releaseleakcanary : "com.squareup.leakcanary:leakcanary-android-no-op:2.7", + testleakcanary : "com.squareup.leakcanary:leakcanary-android-no-op:2.7", //rxJava rxjava : "io.reactivex.rxjava2:rxjava:2.2.2", rxandroid : "io.reactivex.rxjava2:rxandroid:2.1.1", diff --git a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/VehicleMonitoringManager.java b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/VehicleMonitoringManager.java index ed60b68332..627f9221a7 100644 --- a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/VehicleMonitoringManager.java +++ b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/VehicleMonitoringManager.java @@ -21,10 +21,16 @@ 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; @@ -44,7 +50,7 @@ import io.reactivex.schedulers.Schedulers; * wiki:http://wiki.zhidaohulian.com/pages/viewpage.action?pageId=58204952 */ @Route(path = MogoServicePaths.PATH_CHECK) -public class VehicleMonitoringManager implements ICheckProvider { +public class VehicleMonitoringManager implements ICheckProvider , IMogoStatusChangedListener { private static final String TAG = "VehicleMonitoringManager"; private Context mContext; private final Map mListeners = new ConcurrentHashMap<>(); @@ -55,6 +61,7 @@ public class VehicleMonitoringManager implements ICheckProvider { public void init(Context context) { LogUtils.dTag(TAG, "初始化 CheckProvider 模块"); mContext = context; + MogoApisHandler.getInstance().getApis().getStatusManagerApi().registerStatusChangedListener(TAG,StatusDescriptor.MAIN_PAGE_RESUME,this); } @Override @@ -155,4 +162,15 @@ public class VehicleMonitoringManager implements ICheckProvider { } } } + + @Override + public void onStatusChanged(StatusDescriptor descriptor, boolean isTrue) { + if (descriptor == StatusDescriptor.MAIN_PAGE_RESUME) { + if (!isTrue){ + if (dialog != null && dialog.isShowing()){ + dialog.dismiss(); + } + } + } + } } diff --git a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckActivity.java b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckActivity.java index a7ab0a0b4e..329c31b67e 100644 --- a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckActivity.java +++ b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckActivity.java @@ -51,7 +51,7 @@ import io.reactivex.schedulers.Schedulers; public class CheckActivity extends AppCompatActivity { private static final String TAG = "CheckActivity"; - private static RecyclerView mRecyclerView; + private RecyclerView mRecyclerView; private static CheckResultData sCheckResultData; // private static Context mContext; private static NetworkStatusUtil.NetWorkStatus sNetWorkStatus; @@ -109,7 +109,7 @@ public class CheckActivity extends AppCompatActivity { new CheckLinearLayout(this, CheckLinearLayout.VERTICAL, false); mRecyclerView.addItemDecoration(new SpacesItemDecoration((int) getResources().getDimension(R.dimen.check_item_space_vr))); mRecyclerView.setLayoutManager(linearLayoutManager); - mCheckAdapter = new CheckAdapter(this, sCheckResultData); + mCheckAdapter = new CheckAdapter(CheckActivity.this, sCheckResultData); mRecyclerView.setAdapter(mCheckAdapter); } @@ -119,7 +119,7 @@ public class CheckActivity extends AppCompatActivity { public static void checkMonitor(Context context, ICheckResultCallBack checkResultCallBack) { Log.d(TAG, "checkMonitor"); // mContext = context; - loadDetail(context.getApplicationContext(), checkResultCallBack); + loadDetail(context, checkResultCallBack); } //网络请求,获取自车检测结果(工控机上报云端) @@ -249,6 +249,9 @@ public class CheckActivity extends AppCompatActivity { @Override protected void onPause() { super.onPause(); + if (mCheckAdapter!=null){ + mCheckAdapter.dismissDialog(); + } } @Override @@ -264,7 +267,8 @@ public class CheckActivity extends AppCompatActivity { @Override protected void onDestroy() { super.onDestroy(); - isFront = false; +// isFront = false; + mCheckAdapter.ondestry(); } } diff --git a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckAdapter.java b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckAdapter.java index ff9029336c..f665761bf2 100644 --- a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckAdapter.java +++ b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckAdapter.java @@ -35,7 +35,7 @@ public class CheckAdapter extends RecyclerView.Adapter public CheckAdapter(@NonNull Context context, @NonNull CheckResultData checkResult) { mContext = context; mCheckResultData = checkResult; - mLayoutInflater = LayoutInflater.from(context); + mLayoutInflater = LayoutInflater.from(mContext); } @Override @@ -62,6 +62,17 @@ public class CheckAdapter extends RecyclerView.Adapter return holder; } + public void dismissDialog() { + if (mCheckInfoListDialog!=null && mCheckInfoListDialog.isShowing()){ + mCheckInfoListDialog.dismiss(); + } + } + + public void ondestry() { + mContext = null; + mCheckInfoListDialog = null; + } + /** * 顶部view列表 */ diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/AutoPilotStatusView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/AutoPilotStatusView.kt index a64f9d92a8..b4e2be73a1 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/AutoPilotStatusView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/AutoPilotStatusView.kt @@ -6,13 +6,16 @@ import android.view.LayoutInflater import android.view.View import androidx.constraintlayout.widget.ConstraintLayout import com.mogo.eagle.core.data.autopilot.AdasOCHData +import com.mogo.eagle.core.data.autopilot.RemoteControlAutoPilotParameters import com.mogo.eagle.core.function.call.hmi.CallerHmiListenerManager import com.mogo.eagle.core.function.hmi.R import com.mogo.eagle.core.utilcode.util.LogUtils import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.module.common.MogoApisHandler import com.mogo.service.adas.IMogoAdasOCHCallback +import com.mogo.utils.logger.Logger import kotlinx.android.synthetic.main.view_autopilot_status.view.* +import java.util.* /** * @author xiaoyuzhou @@ -20,8 +23,8 @@ import kotlinx.android.synthetic.main.view_autopilot_status.view.* * 自动驾驶状态按钮 */ class AutoPilotStatusView @JvmOverloads constructor( - context: Context, - attrs: AttributeSet + context: Context, + attrs: AttributeSet ) : ConstraintLayout(context, attrs), View.OnClickListener, IMogoAdasOCHCallback { private val TAG = "AutopilotStatusView" @@ -53,7 +56,7 @@ class AutoPilotStatusView @JvmOverloads constructor( when (mAutopilotStatus) { 0 -> {// 不可自动驾驶,adas与工控机没有链接,或工控机异常 LogUtils.eTag(TAG, "不可自动驾驶,adas与工控机没有链接,或工控机异常,请检查") - ToastUtils.showShort("不可自动驾驶,adas与工控机没有链接,或工控机异常,请检查") +// ToastUtils.showShort("不可自动驾驶,adas与工控机没有链接,或工控机异常,请检查") // TODO 这里临时触发自动驾驶能力,测试功过这里删除 CallerHmiListenerManager.invokeCheckAutoPilotBtnListener(true) } @@ -64,6 +67,15 @@ class AutoPilotStatusView @JvmOverloads constructor( CallerHmiListenerManager.invokeCheckAutoPilotBtnListener(false) } } +// startAutoPilot(); + } + private fun startAutoPilot() { + val currentAutopilot = RemoteControlAutoPilotParameters() + currentAutopilot.isSpeakVoice = false + currentAutopilot.startLatLon = RemoteControlAutoPilotParameters.AutoPilotLonLat(40.194795425,116.724476409); + currentAutopilot.endLatLon = RemoteControlAutoPilotParameters.AutoPilotLonLat(40.199730,116.735687); + currentAutopilot.vehicleType = 10 + MogoApisHandler.getInstance().apis.adasControllerApi.aiCloudToAdasData(currentAutopilot) } /** diff --git a/modules/mogo-module-back/src/main/java/com/mogo/module/back/MogoLauncher.java b/modules/mogo-module-back/src/main/java/com/mogo/module/back/MogoLauncher.java index 293ad08a3e..669a63f78a 100644 --- a/modules/mogo-module-back/src/main/java/com/mogo/module/back/MogoLauncher.java +++ b/modules/mogo-module-back/src/main/java/com/mogo/module/back/MogoLauncher.java @@ -17,16 +17,16 @@ public class MogoLauncher implements IMogoLauncher { @Override public void backToLauncher( Context context ) { - BackToMainHomeManager.backToLauncher(); +// BackToMainHomeManager.backToLauncher(); } @Override public void setFloatButtonVisible( boolean visible ) { - if ( visible ) { - BackToMainHomeManager.showFloatButton(); - } else { - BackToMainHomeManager.hideFloatButton(); - } +// if ( visible ) { +// BackToMainHomeManager.showFloatButton(); +// } else { +// BackToMainHomeManager.hideFloatButton(); +// } } @Override From c13ca6e7b13af85a6e4d7aa88dcdbea51e9a0cff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Sat, 9 Oct 2021 18:37:44 +0800 Subject: [PATCH 2/8] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=A3=80=E6=9F=A5?= =?UTF-8?q?=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 董宏宇 --- .idea/misc.xml | 8 +- .../mogo-core-function-check/build.gradle | 39 ++--- .../check/VehicleMonitoringManager.java | 158 ------------------ .../check/VehicleMonitoringManager.kt | 99 +++++++++++ .../check/api/ICheckResultCallBack.java | 2 - .../function/check/net/CheckApiServices.java | 6 +- .../function/check/view/CheckActivity.java | 7 - .../function/check/view/CheckAdapter.java | 3 - .../core/function/check/view/CheckDialog.java | 1 - .../function/check/view/CheckInfoAdapter.java | 3 - .../check/view/CheckInfoGridItemDivider.java | 2 - .../check/view/CheckInfoListDialog.java | 5 - .../function/hmi/ui/widget/CheckStatusView.kt | 66 ++++++++ .../src/main/res/layout/fragment_hmi.xml | 8 + .../src/main/res/layout/view_check_status.xml | 31 ++++ .../function/api/check/ICheckProvider.java | 2 +- .../call/check/CallerCheckManager.java | 4 +- .../drawable-xxhdpi}/check_error_image.png | Bin .../drawable/module_ext_check.xml | 8 +- .../drawable/module_switch_map_bg.xml | 2 +- .../res/values-xhdpi-2560x1440/dimens.xml | 4 + .../src/main/res/values/color.xml | 3 + .../src/main/res/values/dimens.xml | 6 + .../extensions/entrance/EntranceFragment.java | 31 +--- .../res/layout/module_ext_layout_entrance.xml | 24 --- 25 files changed, 254 insertions(+), 268 deletions(-) delete mode 100644 core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/VehicleMonitoringManager.java create mode 100644 core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/VehicleMonitoringManager.kt create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/CheckStatusView.kt create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_check_status.xml rename {modules/mogo-module-extensions/src/main/res/drawable => core/mogo-core-res/src/main/function-hmi-res/drawable-xxhdpi}/check_error_image.png (100%) rename {modules/mogo-module-extensions/src/main/res => core/mogo-core-res/src/main/function-hmi-res}/drawable/module_ext_check.xml (66%) rename {modules/mogo-module-extensions/src/main/res => core/mogo-core-res/src/main/function-hmi-res}/drawable/module_switch_map_bg.xml (75%) diff --git a/.idea/misc.xml b/.idea/misc.xml index 5e334d0770..aea7f3ccb8 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -13,10 +13,14 @@ - - + + + + + + diff --git a/core/function-impl/mogo-core-function-check/build.gradle b/core/function-impl/mogo-core-function-check/build.gradle index 5395c43d34..c5b04d441b 100644 --- a/core/function-impl/mogo-core-function-check/build.gradle +++ b/core/function-impl/mogo-core-function-check/build.gradle @@ -1,8 +1,10 @@ -apply plugin: 'com.android.library' -apply plugin: 'com.alibaba.arouter' -apply plugin: 'kotlin-android' -apply plugin: 'kotlin-android-extensions' - +plugins { + id 'com.android.library' + id 'kotlin-android' + id 'kotlin-android-extensions' + id 'kotlin-kapt' + id 'com.alibaba.arouter' +} android { compileSdkVersion rootProject.ext.android.compileSdkVersion defaultConfig { @@ -11,14 +13,16 @@ android { versionCode Integer.valueOf(VERSION_CODE) versionName getValueFromRootProperties("${project.name.replace("-", "_").toUpperCase()}_VERSION") - javaCompileOptions { - annotationProcessorOptions { - arguments = [AROUTER_MODULE_NAME: project.getName()] - } - } - testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" consumerProguardFiles 'consumer-rules.pro' + + //ARouter apt 参数 + kapt { + useBuildCache = false + arguments { + arg("AROUTER_MODULE_NAME", project.getName()) + } + } } buildTypes { release { @@ -45,11 +49,9 @@ dependencies { implementation rootProject.ext.dependencies.coroutinescore implementation rootProject.ext.dependencies.rxandroid implementation rootProject.ext.dependencies.kotlinstdlibjdk7 - implementation 'com.google.android.material:material:1.2.1' - implementation project(':modules:mogo-module-common') - implementation project(path: ':modules:mogo-module-service') + implementation rootProject.ext.dependencies.material - annotationProcessor rootProject.ext.dependencies.aroutercompiler + kapt rootProject.ext.dependencies.aroutercompiler if (Boolean.valueOf(RELEASE)) { implementation rootProject.ext.dependencies.mogocommons @@ -58,13 +60,12 @@ dependencies { implementation project(":foudations:mogo-commons") implementation project(':services:mogo-service-api') + implementation project(':modules:mogo-module-common') + implementation project(':modules:mogo-module-service') + implementation project(':core:mogo-core-utils') implementation project(':core:mogo-core-function-call') } - implementation 'com.tencent.bugly:crashreport_upgrade:latest.release' - //其中latest.release指代最新Bugly SDK版本号,也可以指定明确的版本号,例如2.1.9 - implementation 'com.tencent.bugly:nativecrashreport:latest.release' - //其中latest.release指代最新Bugly NDK版本号,也可以指定明确的版本号,例如3.0 } diff --git a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/VehicleMonitoringManager.java b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/VehicleMonitoringManager.java deleted file mode 100644 index ed60b68332..0000000000 --- a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/VehicleMonitoringManager.java +++ /dev/null @@ -1,158 +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.service.receiver.MogoReceiver; -import com.mogo.service.MogoServicePaths; -import com.mogo.eagle.core.function.api.check.ICheckProvider; -import com.mogo.utils.ActivityLifecycleManager; -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 - * 需求地址 - * wiki:http://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 mListeners = new ConcurrentHashMap<>(); - private boolean hasTipShow = false;//是否已经弹框提示 - CheckDialog dialog; - - @Override - public void init(Context context) { - LogUtils.dTag(TAG, "初始化 CheckProvider 模块"); - mContext = context; - } - - @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 listeners = mListeners.get(module); - if (listeners != null && !listeners.isEmpty()) { - for (IMogoCheckListener listener : listeners) { - if (listener != null) { - listener.updateMonitoringStatus(state); - } - } - } - } -} diff --git a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/VehicleMonitoringManager.kt b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/VehicleMonitoringManager.kt new file mode 100644 index 0000000000..27cdc1f673 --- /dev/null +++ b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/VehicleMonitoringManager.kt @@ -0,0 +1,99 @@ +package com.mogo.eagle.core.function.check + +import android.content.Context +import android.content.Intent +import com.alibaba.android.arouter.facade.annotation.Route +import com.mogo.eagle.core.function.api.check.ICheckProvider +import com.mogo.eagle.core.function.api.check.IMogoCheckListener +import com.mogo.eagle.core.function.check.view.CheckActivity +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.service.receiver.MogoReceiver +import com.mogo.service.MogoServicePaths +import com.mogo.utils.ActivityLifecycleManager +import java.util.concurrent.ConcurrentHashMap + +/** + * 鹰眼系统、自动驾驶系统 检测模块 + * + * @date 4/21/21 3:39 PM + * 需求地址 + * wiki:http://wiki.zhidaohulian.com/pages/viewpage.action?pageId=58204952 + */ +@Route(path = MogoServicePaths.PATH_CHECK) +class VehicleMonitoringManager : ICheckProvider { + private val TAG = "VehicleMonitoringManager" + + private var mContext: Context? = null + private val mListeners: ConcurrentHashMap = ConcurrentHashMap() + private var hasTipShow = false //是否已经弹框提示 + var dialog: CheckDialog? = null + + override fun init(context: Context) { + LogUtils.dTag(TAG, "初始化 CheckProvider 模块") + mContext = context + } + + override fun registerVehicleMonitoringListener(module: String, listener: IMogoCheckListener) { + mListeners[module] = listener + } + + override fun unregisterListener(module: String) { + if (mListeners.containsKey(module)) { + mListeners.remove(module) + } + } + + override fun startCheckActivity(context: Context) { + val starter = Intent(context, CheckActivity::class.java) + starter.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) + context.startActivity(starter) + } + + override fun showCheckDialog(context: Context) { + showDialog(context) + } + + override fun checkMonitor(context: Context) { + CheckActivity.checkMonitor(context) { state -> + updateMonitoringStatus(MogoReceiver.ACTION_CHECK_VEHICLE_MONITORING, state) + if (state == 1) { + hasTipShow = false + } else { + if (!hasTipShow) { + showDialog(context) + hasTipShow = true //已弹框 + } + } + } + } + + /** + * 指标异常弹框 + */ + private fun showDialog(context: Context) { + try { + if (ActivityLifecycleManager.getInstance().isAppActive && + AppUtils.isAppRunning( + AppUtils.getAppPackageName() + ) && ActivityUtils.getTopActivity() !is CheckActivity + ) { + if (dialog != null) { + dialog!!.dismiss() + } + dialog = CheckDialog(context, true) + dialog!!.show() + } + } catch (e: Exception) { + e.printStackTrace() + } + } + + override fun updateMonitoringStatus(module: String, state: Int) { + for (listener in mListeners) { + listener.value.updateMonitoringStatus(state) + } + } +} \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/api/ICheckResultCallBack.java b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/api/ICheckResultCallBack.java index 709f409f11..fbc0e30634 100644 --- a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/api/ICheckResultCallBack.java +++ b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/api/ICheckResultCallBack.java @@ -1,7 +1,5 @@ package com.mogo.eagle.core.function.check.api; -import com.mogo.service.adas.IMogoAdasDataCallback; - /** * @author liujing * @description 自车检测结果回调 diff --git a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/net/CheckApiServices.java b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/net/CheckApiServices.java index 5bd7b0afb7..02338e73fa 100644 --- a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/net/CheckApiServices.java +++ b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/net/CheckApiServices.java @@ -1,11 +1,9 @@ package com.mogo.eagle.core.function.check.net; import java.util.Map; -import retrofit2.http.FieldMap; -import retrofit2.http.FormUrlEncoded; -import retrofit2.http.GET; -import retrofit2.http.POST; + import io.reactivex.Observable; +import retrofit2.http.GET; import retrofit2.http.QueryMap; /** diff --git a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckActivity.java b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckActivity.java index a7ab0a0b4e..2e24a47803 100644 --- a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckActivity.java +++ b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckActivity.java @@ -6,9 +6,6 @@ import android.animation.AnimatorSet; import android.animation.ObjectAnimator; import android.animation.ValueAnimator; import android.content.Context; -import android.content.Intent; -import android.content.pm.PackageInfo; -import android.content.pm.PackageManager; import android.graphics.Rect; import android.os.Bundle; import android.util.Log; @@ -23,17 +20,13 @@ import androidx.recyclerview.widget.RecyclerView; 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.R; 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.utilcode.util.ActivityUtils; -import com.mogo.eagle.core.utilcode.util.AppUtils; import com.mogo.eagle.core.utilcode.util.ThreadUtils; 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.network.RequestOptions; import com.mogo.utils.network.utils.NetworkStatusUtil; diff --git a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckAdapter.java b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckAdapter.java index ff9029336c..a88e53d215 100644 --- a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckAdapter.java +++ b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckAdapter.java @@ -8,7 +8,6 @@ import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; -import androidx.annotation.CheckResult; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; @@ -16,8 +15,6 @@ import com.mogo.eagle.core.function.check.R; import com.mogo.eagle.core.function.check.model.CheckItemInfo; import com.mogo.eagle.core.function.check.net.CheckResultData; -import java.util.ArrayList; - /** * @author liujing diff --git a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckDialog.java b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckDialog.java index 0282509807..a80c0111ba 100644 --- a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckDialog.java +++ b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckDialog.java @@ -1,7 +1,6 @@ package com.mogo.eagle.core.function.check.view; import android.content.Context; -import android.content.Intent; import android.view.View; import android.widget.ImageView; import android.widget.TextView; diff --git a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckInfoAdapter.java b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckInfoAdapter.java index 5d4a1971fd..3d9070ec4d 100644 --- a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckInfoAdapter.java +++ b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckInfoAdapter.java @@ -1,8 +1,6 @@ package com.mogo.eagle.core.function.check.view; import android.content.Context; -import android.text.TextPaint; -import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -15,7 +13,6 @@ import androidx.recyclerview.widget.RecyclerView; import com.mogo.eagle.core.function.check.R; import com.mogo.eagle.core.function.check.net.CheckResultData; -import java.util.ArrayList; import java.util.List; /** diff --git a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckInfoGridItemDivider.java b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckInfoGridItemDivider.java index cbc7bdf1ef..8f6f13edcd 100644 --- a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckInfoGridItemDivider.java +++ b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckInfoGridItemDivider.java @@ -3,8 +3,6 @@ package com.mogo.eagle.core.function.check.view; import android.content.Context; import android.content.res.TypedArray; import android.graphics.Canvas; -import android.graphics.Color; -import android.graphics.Paint; import android.graphics.Rect; import android.graphics.drawable.Drawable; import android.graphics.drawable.GradientDrawable; diff --git a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckInfoListDialog.java b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckInfoListDialog.java index 5da4a5d2f5..70033d8cda 100644 --- a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckInfoListDialog.java +++ b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckInfoListDialog.java @@ -1,15 +1,10 @@ package com.mogo.eagle.core.function.check.view; import android.content.Context; -import android.graphics.Color; -import android.util.AttributeSet; -import android.util.Log; import android.widget.TextView; import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import androidx.recyclerview.widget.GridLayoutManager; -import androidx.recyclerview.widget.RecyclerView; import com.mogo.eagle.core.function.check.R; import com.mogo.eagle.core.function.check.model.CheckItemInfo; 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 new file mode 100644 index 0000000000..af1370e06a --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/CheckStatusView.kt @@ -0,0 +1,66 @@ +package com.mogo.eagle.core.function.hmi.ui.widget + +import android.content.Context +import android.util.AttributeSet +import android.view.LayoutInflater +import android.view.View +import androidx.constraintlayout.widget.ConstraintLayout +import com.mogo.eagle.core.function.api.check.IMogoCheckListener +import com.mogo.eagle.core.function.call.check.CallerCheckManager +import com.mogo.eagle.core.function.hmi.R +import com.mogo.eagle.core.utilcode.mogo.logger.Logger +import kotlinx.android.synthetic.main.view_check_status.view.* + +/** + *@author xiaoyuzhou + *@date 2021/8/6 12:25 下午 + */ +class CheckStatusView @JvmOverloads constructor( + context: Context, + attrs: AttributeSet? = null, + defStyleAttr: Int = 0 +) : ConstraintLayout(context, attrs, defStyleAttr), IMogoCheckListener { + private val TAG = "CheckStatusView" + + init { + LayoutInflater.from(context).inflate(R.layout.view_check_status, this, true) + + setOnClickListener { + // 启动检测页面 + CallerCheckManager.startCheckActivity(getContext()) + } + } + + private fun showErrorIcon() { + errorTipImage.visibility = View.VISIBLE + } + + private fun dismissErrorIcon() { + errorTipImage.visibility = View.GONE + } + + override fun updateMonitoringStatus(state: Int?) { + Logger.d(TAG, "updateCheckStatus") + if (state == 1) { + dismissErrorIcon() + } else { + showErrorIcon() + } + } + + + override fun onAttachedToWindow() { + super.onAttachedToWindow() + Logger.d(TAG, "onAttachedToWindow") + //车辆监控 + CallerCheckManager.registerVehicleMonitoringListener(TAG, this) + } + + override fun onDetachedFromWindow() { + super.onDetachedFromWindow() + Logger.d(TAG, "onDetachedFromWindow") + //车辆监控 + CallerCheckManager.unregisterListener(TAG) + } + +} \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/fragment_hmi.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/fragment_hmi.xml index 555f7c0390..3ff170af5e 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/fragment_hmi.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/fragment_hmi.xml @@ -63,5 +63,13 @@ app:layout_goneMarginTop="40px" tools:visibility="visible" /> + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_check_status.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_check_status.xml new file mode 100644 index 0000000000..035095487c --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_check_status.xml @@ -0,0 +1,31 @@ + + + + + + + + + + \ No newline at end of file diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/check/ICheckProvider.java b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/check/ICheckProvider.java index 57c6d5ef6f..0132954fd9 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/check/ICheckProvider.java +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/check/ICheckProvider.java @@ -21,7 +21,7 @@ public interface ICheckProvider extends IProvider { * * @param module */ - void unregisterListener(String module, IMogoCheckListener listener); + void unregisterListener(String module); /** * 启动检测模块 diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/check/CallerCheckManager.java b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/check/CallerCheckManager.java index fd9d82f317..7872fe6290 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/check/CallerCheckManager.java +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/check/CallerCheckManager.java @@ -35,8 +35,8 @@ public class CallerCheckManager extends CallerBase { * * @param module */ - public static void unregisterListener(String module, IMogoCheckListener listener) { - getCheckProvider().unregisterListener(module, listener); + public static void unregisterListener(String module) { + getCheckProvider().unregisterListener(module); } /** diff --git a/modules/mogo-module-extensions/src/main/res/drawable/check_error_image.png b/core/mogo-core-res/src/main/function-hmi-res/drawable-xxhdpi/check_error_image.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable/check_error_image.png rename to core/mogo-core-res/src/main/function-hmi-res/drawable-xxhdpi/check_error_image.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable/module_ext_check.xml b/core/mogo-core-res/src/main/function-hmi-res/drawable/module_ext_check.xml similarity index 66% rename from modules/mogo-module-extensions/src/main/res/drawable/module_ext_check.xml rename to core/mogo-core-res/src/main/function-hmi-res/drawable/module_ext_check.xml index 1272a64f7b..fa0dcc73b3 100644 --- a/modules/mogo-module-extensions/src/main/res/drawable/module_ext_check.xml +++ b/core/mogo-core-res/src/main/function-hmi-res/drawable/module_ext_check.xml @@ -2,11 +2,11 @@ - //填充 + android:width="@dimen/module_hmi_check_size" + android:height="@dimen/module_hmi_check_size" /> + - //描边 + diff --git a/modules/mogo-module-extensions/src/main/res/drawable/module_switch_map_bg.xml b/core/mogo-core-res/src/main/function-hmi-res/drawable/module_switch_map_bg.xml similarity index 75% rename from modules/mogo-module-extensions/src/main/res/drawable/module_switch_map_bg.xml rename to core/mogo-core-res/src/main/function-hmi-res/drawable/module_switch_map_bg.xml index 5210f310ea..7cb55807e8 100644 --- a/modules/mogo-module-extensions/src/main/res/drawable/module_switch_map_bg.xml +++ b/core/mogo-core-res/src/main/function-hmi-res/drawable/module_switch_map_bg.xml @@ -2,7 +2,7 @@ - + diff --git a/core/mogo-core-res/src/main/res/values-xhdpi-2560x1440/dimens.xml b/core/mogo-core-res/src/main/res/values-xhdpi-2560x1440/dimens.xml index 4fd980836a..a32b5ba646 100644 --- a/core/mogo-core-res/src/main/res/values-xhdpi-2560x1440/dimens.xml +++ b/core/mogo-core-res/src/main/res/values-xhdpi-2560x1440/dimens.xml @@ -27,5 +27,9 @@ 30px 70px + 128px + 60px + 44px + \ No newline at end of file diff --git a/core/mogo-core-res/src/main/res/values/color.xml b/core/mogo-core-res/src/main/res/values/color.xml index 5c0e10bf2e..aa7e6bacf6 100644 --- a/core/mogo-core-res/src/main/res/values/color.xml +++ b/core/mogo-core-res/src/main/res/values/color.xml @@ -2,4 +2,7 @@ #FFFFFF #4DFFFFFF + + #323C6F + \ No newline at end of file diff --git a/core/mogo-core-res/src/main/res/values/dimens.xml b/core/mogo-core-res/src/main/res/values/dimens.xml index 3d1a96d9ed..8753a23a7b 100644 --- a/core/mogo-core-res/src/main/res/values/dimens.xml +++ b/core/mogo-core-res/src/main/res/values/dimens.xml @@ -26,4 +26,10 @@ 20px 50px + + 128px + 38px + 33px + + \ No newline at end of file diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java index a6d8f3a39c..825cd22442 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java @@ -127,7 +127,6 @@ public class EntranceFragment extends MvpFragment - - - - - Date: Sat, 9 Oct 2021 18:49:42 +0800 Subject: [PATCH 3/8] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=90=88=E5=B9=B6?= =?UTF-8?q?=E5=86=B2=E7=AA=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 董宏宇 --- .../check/VehicleMonitoringManager.java | 176 ------------------ .../check/VehicleMonitoringManager.kt | 29 ++- 2 files changed, 21 insertions(+), 184 deletions(-) delete mode 100644 core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/VehicleMonitoringManager.java diff --git a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/VehicleMonitoringManager.java b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/VehicleMonitoringManager.java deleted file mode 100644 index 627f9221a7..0000000000 --- a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/VehicleMonitoringManager.java +++ /dev/null @@ -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 - * 需求地址 - * wiki:http://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 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 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(); - } - } - } - } -} diff --git a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/VehicleMonitoringManager.kt b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/VehicleMonitoringManager.kt index 27cdc1f673..e01fde4a97 100644 --- a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/VehicleMonitoringManager.kt +++ b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/VehicleMonitoringManager.kt @@ -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 * wiki:http://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 = 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() + } + } + } + } } \ No newline at end of file From 56b6eca64130d6a84b975bfc2815a63273749a9b Mon Sep 17 00:00:00 2001 From: liujing Date: Mon, 11 Oct 2021 10:53:40 +0800 Subject: [PATCH 4/8] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E6=BB=91=E5=8A=A8?= =?UTF-8?q?=E8=BF=87=E7=A8=8B=E5=A4=8D=E7=94=A8=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogo/eagle/core/function/check/view/CheckInfoAdapter.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckInfoAdapter.java b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckInfoAdapter.java index 3d9070ec4d..afad70b474 100644 --- a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckInfoAdapter.java +++ b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckInfoAdapter.java @@ -97,4 +97,8 @@ public class CheckInfoAdapter extends RecyclerView.Adapter { } } + @Override + public int getItemViewType(int position) { + return position; + } } From 9088aa05fc9f18612e19520e35bb77b2cd64f087 Mon Sep 17 00:00:00 2001 From: liujing Date: Mon, 11 Oct 2021 14:09:20 +0800 Subject: [PATCH 5/8] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=97=A0=E7=94=A8?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogo/eagle/core/function/check/view/CheckActivity.java | 3 --- .../eagle/core/function/check/view/CheckInfoListDialog.java | 5 ----- 2 files changed, 8 deletions(-) diff --git a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckActivity.java b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckActivity.java index 1bef315701..8bb7658383 100644 --- a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckActivity.java +++ b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckActivity.java @@ -64,7 +64,6 @@ public class CheckActivity extends AppCompatActivity { private ProgressBar mProgressBar; private final static long DURATION_TIME = 1000; private static CheckAdapter mCheckAdapter; - private static boolean isFront = false; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { @@ -83,7 +82,6 @@ public class CheckActivity extends AppCompatActivity { * 列表View初始化 */ public void initView() { - isFront = true; setAnimation = new AnimatorSet(); mImageView = findViewById(R.id.btnBack); scanBottomCarImage = findViewById(R.id.scan_car_image); @@ -256,7 +254,6 @@ public class CheckActivity extends AppCompatActivity { @Override protected void onDestroy() { super.onDestroy(); -// isFront = false; mCheckAdapter.ondestry(); } diff --git a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckInfoListDialog.java b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckInfoListDialog.java index 70033d8cda..1a170692dc 100644 --- a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckInfoListDialog.java +++ b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckInfoListDialog.java @@ -74,8 +74,6 @@ public class CheckInfoListDialog extends BaseFloatDialog { public List showInfoResult() { -// List test = new ArrayList();//测试数据 - if (result.size() > 0) { result.clear(); } @@ -101,9 +99,6 @@ public class CheckInfoListDialog extends BaseFloatDialog { } catch (Exception e) { } -// test.addAll(result); -// test.addAll(result); -// test.addAll(result); return result; } From c84022addec3e12297b3f7d1dfe61be1d7af5305 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Mon, 11 Oct 2021 15:07:33 +0800 Subject: [PATCH 6/8] =?UTF-8?q?=E5=8D=87=E7=BA=A7=E5=88=B0=20gradle-6.1.1-?= =?UTF-8?q?all?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 董宏宇 --- config.gradle | 2 +- gradle/wrapper/gradle-wrapper.properties | 2 +- modules/mogo-module-obu/build.gradle | 2 +- services/mogo-service-api/build.gradle | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/config.gradle b/config.gradle index 70b6281087..2478373080 100644 --- a/config.gradle +++ b/config.gradle @@ -130,7 +130,7 @@ ext { // OBU moduleobu : "com.mogo.module:module-obu:${MOGO_MODULE_OBU_VERSION}", moduleobumogo : "com.mogo.module:module-obu:${MOGO_MODULE_OBU_MOGO_VERSION}", - crashwarning : "com.mogo.module:module-crash-warning:1.1.0", + carmanager : "com.zhidao.carmanager:common:1.0.30@aar", // jetbrainsannotationsjava5 : "org.jetbrains:annotations-java5:15.0", diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index cdc2ce1117..fe371e9cdf 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip diff --git a/modules/mogo-module-obu/build.gradle b/modules/mogo-module-obu/build.gradle index 94a783e44a..85ac0cdd0d 100644 --- a/modules/mogo-module-obu/build.gradle +++ b/modules/mogo-module-obu/build.gradle @@ -40,7 +40,7 @@ dependencies { implementation rootProject.ext.dependencies.rxjava implementation rootProject.ext.dependencies.rxandroid implementation rootProject.ext.dependencies.obusdk - implementation rootProject.ext.dependencies.crashwarning + implementation rootProject.ext.dependencies.carmanager if (Boolean.valueOf(RELEASE)) { implementation rootProject.ext.dependencies.modulecommon diff --git a/services/mogo-service-api/build.gradle b/services/mogo-service-api/build.gradle index f7357ba931..992639b8c4 100644 --- a/services/mogo-service-api/build.gradle +++ b/services/mogo-service-api/build.gradle @@ -51,7 +51,7 @@ dependencies { api rootProject.ext.dependencies.mogoaicloudrealtime api rootProject.ext.dependencies.fresco - api rootProject.ext.dependencies.crashwarning + api rootProject.ext.dependencies.carmanager if (Boolean.valueOf(RELEASE)) { api rootProject.ext.dependencies.mogomapapi From 98c3af3ac0362d483ffdd1b7919365f307592788 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Mon, 11 Oct 2021 18:52:50 +0800 Subject: [PATCH 7/8] =?UTF-8?q?=E8=BF=81=E7=A7=BBV2X=E4=B8=AD=E7=94=A8?= =?UTF-8?q?=E5=88=B0=E7=9A=84=E5=B7=A5=E5=85=B7=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 董宏宇 --- .idea/codeStyles/Project.xml | 9 +- .idea/misc.xml | 3 +- build.gradle | 2 +- .../hmi/ui/setting/DebugSettingView.kt | 9 + .../main/res/layout/view_debug_setting.xml | 26 +- .../core/data/constants/MogoServicePaths.java | 2 + .../common/drawer/marker/MapVrMarkerView.java | 4 +- modules/mogo-module-v2x/build.gradle | 1 + .../mogo/module/v2x/V2XModuleProvider.java | 15 +- .../mogo/module/v2x/V2XServiceManager.java | 4 +- .../v2x/adapter/holder/V2XBaseViewHolder.java | 6 +- .../v2x/adapter/holder/V2XEventUgcVH.java | 6 +- .../adapter/holder/V2XFatigueDrivingVH.java | 2 +- .../holder/V2XHistoryBaseViewHolder.java | 6 +- .../adapter/holder/V2XOtherSeekHelpVH.java | 2 +- .../v2x/adapter/holder/V2XRecommendRouteVH.kt | 6 +- .../V2XScenarioHistoryOtherSeekHelpVH.java | 2 +- .../holder/V2XScenarioHistoryRoadEventVH.java | 2 +- .../mogo/module/v2x/alarm/V2XAlarmServer.java | 9 +- .../v2x/alarm/V2XEarlyWarningServer.java | 4 +- .../fragment/V2XScenarioHistoryFragment.java | 13 +- .../v2x/fragment/V2XShareEventsFragment.java | 9 +- .../v2x/fragment/V2XSurroundingFragment.java | 13 +- .../listener/V2XMessageListener_401003.java | 4 +- .../listener/V2XMessageListener_401005.java | 6 +- .../listener/V2XMessageListener_401011.java | 4 +- .../listener/V2XMessageListener_401012.java | 11 +- .../listener/V2XMessageListener_401018.java | 7 +- .../listener/V2XMessageListener_402000.java | 4 +- .../v2x/listener/V2XMessageListener_404000.kt | 10 +- .../module/v2x/marker/V2XMarkerAdapter.java | 8 +- .../module/v2x/network/V2XRefreshModel.java | 6 +- .../presenter/ScenarioHistoryPresenter.java | 1 - .../v2x/scenario/impl/AbsV2XScenario.java | 9 +- .../v2x/scenario/impl/V2XScenarioManager.java | 8 +- .../V2XRecommendParkingLotScenario.java | 8 - .../destination/V2XRecommendRouteScenario.kt | 6 +- .../fatigue/V2XFatigueDrivingScenario.java | 4 +- .../scene/help/V2XCarForHelpScenario.java | 10 +- .../scene/help/V2XSeekHelpButton.java | 8 +- .../scene/help/V2XSeekHelpDialog.java | 8 +- .../scene/livecar/V2XPushLiveCarScenario.java | 6 +- .../scene/livecar/V2XRoadLiveCarScenario.java | 8 +- .../scene/livecar/V2XVoiceCallLiveBiz.java | 2 +- .../livecar/V2XVoiceCallLiveScenario.java | 6 +- .../scenario/scene/obu/V2XObuEventWindow.java | 1 - .../scene/park/V2XIllegalParkWindow.java | 4 +- .../scene/push/V2XPushEventScenario.java | 4 +- .../scene/road/V2XRoadEventScenario.java | 4 +- .../scene/road/V2XRoadVideoCarScenario.java | 4 +- .../route/V2XOptimalRouteVREventScenario.java | 4 +- .../scene/seek/V2XSeekHelpScenario.java | 4 +- .../scene/ugc/V2XEventUgcScenario.java | 4 +- .../warning/V2XFrontWarningScenario.java | 4 +- .../scene/warning/V2XWarningWindow.java | 5 +- .../com/mogo/module/v2x/utils/ADASUtils.java | 3 +- .../mogo/module/v2x/utils/ChartingUtil.java | 4 +- .../module/v2x/utils/FatigueDrivingUtils.java | 21 +- .../mogo/module/v2x/utils/LocationUtils.java | 3 +- .../module/v2x/utils/RoadConditionUtils.java | 3 +- .../com/mogo/module/v2x/utils/SpanUtils.java | 1433 --------------- .../module/v2x/utils/TestOnLineCarUtils.java | 29 +- .../mogo/module/v2x/utils/ThreadUtils.java | 1338 -------------- .../mogo/module/v2x/utils/TimeConstants.java | 28 - .../com/mogo/module/v2x/utils/TimeUtils.java | 1608 ----------------- .../com/mogo/module/v2x/utils/ToastUtils.java | 582 ------ .../mogo/module/v2x/utils/V2XSQLiteUtils.java | 6 +- .../com/mogo/module/v2x/utils/V2XUtils.java | 742 +------- .../module/v2x/view/CarZegoLiveVideoView.java | 4 +- .../module/v2x/view/V2XCarLiveVideoView.java | 4 +- .../v2x/view/V2XCrossRoadVideoView.java | 4 +- .../module/v2x/view/V2XLiveGSYVideoView.java | 4 +- 72 files changed, 221 insertions(+), 5932 deletions(-) delete mode 100644 modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/destination/V2XRecommendParkingLotScenario.java delete mode 100644 modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/utils/SpanUtils.java delete mode 100644 modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/utils/ThreadUtils.java delete mode 100644 modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/utils/TimeConstants.java delete mode 100644 modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/utils/TimeUtils.java delete mode 100644 modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/utils/ToastUtils.java diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml index bee668f3ab..7643783a82 100644 --- a/.idea/codeStyles/Project.xml +++ b/.idea/codeStyles/Project.xml @@ -1,17 +1,10 @@ -