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] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=A3=80=E6=9F=A5=E6=A8=A1?= =?UTF-8?q?=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 - - - - -