From f37f2ac560d0fb1ef835c99289dec66d5b179249 Mon Sep 17 00:00:00 2001 From: lianglihui Date: Mon, 27 Sep 2021 13:12:23 +0800 Subject: [PATCH 1/9] =?UTF-8?q?eagle=20=20=E5=B0=8F=E5=9C=B0=E5=9B=BE?= =?UTF-8?q?=E5=AF=BC=E8=88=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config.gradle | 9 ++++-- .../function/smp/SmallMapDirectionView.java | 28 +++++++++++++++++-- .../core/function/smp/SmallMapFragment.java | 21 +++++++++++++- 3 files changed, 52 insertions(+), 6 deletions(-) diff --git a/config.gradle b/config.gradle index d8da67cc7e..0bbc715145 100644 --- a/config.gradle +++ b/config.gradle @@ -34,9 +34,12 @@ ext { androidxjunit : "androidx.test.ext:junit:1.1.2", androidxespressocore : "androidx.test.espresso:espresso-core:3.3.0", // 地图 - amapnavi3dmap : "com.amap.api:navi-3dmap:8.0.1_3dmap8.0.1", - amapsearch : "com.amap.api:search:7.9.0", - amaplocation : "com.amap.api:location:5.5.0", +// amapnavi3dmap : "com.amap.api:navi-3dmap:8.0.1_3dmap8.0.1", +// amapsearch : "com.amap.api:search:7.9.0", +// amaplocation : "com.amap.api:location:5.5.0", + amapnavi3dmap : "com.amap.api:navi-3dmap:7.2.0_3dmap7.2.0", + amapsearch : "com.amap.api:search:7.1.0", + amaplocation : "com.amap.api:location:5.3.1", // json 转换 gson : "com.google.code.gson:gson:2.8.4", // 内存泄漏检测 diff --git a/core/function-impl/mogo-core-function-smp/src/main/java/com/mogo/eagle/core/function/smp/SmallMapDirectionView.java b/core/function-impl/mogo-core-function-smp/src/main/java/com/mogo/eagle/core/function/smp/SmallMapDirectionView.java index ddbc4248f4..cb8cdb1c3b 100644 --- a/core/function-impl/mogo-core-function-smp/src/main/java/com/mogo/eagle/core/function/smp/SmallMapDirectionView.java +++ b/core/function-impl/mogo-core-function-smp/src/main/java/com/mogo/eagle/core/function/smp/SmallMapDirectionView.java @@ -3,6 +3,7 @@ package com.mogo.eagle.core.function.smp; import android.content.Context; import android.graphics.Color; import android.location.Location; +import android.os.Bundle; import android.util.AttributeSet; import android.util.Log; import android.view.LayoutInflater; @@ -87,8 +88,8 @@ public class SmallMapDirectionView View smpView = LayoutInflater.from(context).inflate(R.layout.module_small_map_view, this); mAMapNaviView = (TextureMapView)smpView.findViewById(R.id.aMapNaviView); - rlSmallMapBorder = findViewById(R.id.rlSmallMapBorder); - rlSmallMapBorder.addView(mAMapNaviView); +// rlSmallMapBorder = findViewById(R.id.rlSmallMapBorder); +// rlSmallMapBorder.addView(mAMapNaviView); initAMapView(); @@ -280,4 +281,27 @@ public class SmallMapDirectionView } } + public void onCreateView(Bundle savedInstanceState) { + if(mAMapNaviView != null){ + mAMapNaviView.onCreate(savedInstanceState); + } + } + + public void onResume() { + if(mAMapNaviView != null){ + mAMapNaviView.onResume(); + } + } + + public void onPause() { + if(mAMapNaviView != null){ + mAMapNaviView.onPause(); + } + } + + public void onDestroy() { + if(mAMapNaviView != null){ + mAMapNaviView.onDestroy(); + } + } } diff --git a/core/function-impl/mogo-core-function-smp/src/main/java/com/mogo/eagle/core/function/smp/SmallMapFragment.java b/core/function-impl/mogo-core-function-smp/src/main/java/com/mogo/eagle/core/function/smp/SmallMapFragment.java index ec91113186..9f0358aaec 100644 --- a/core/function-impl/mogo-core-function-smp/src/main/java/com/mogo/eagle/core/function/smp/SmallMapFragment.java +++ b/core/function-impl/mogo-core-function-smp/src/main/java/com/mogo/eagle/core/function/smp/SmallMapFragment.java @@ -11,7 +11,6 @@ import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; import com.mogo.eagle.core.data.map.MogoLatLng; -import com.mogo.eagle.core.function.smp.R; import java.util.List; @@ -34,6 +33,7 @@ public class SmallMapFragment extends Fragment { if (mRootView == null) { mRootView = inflater.inflate(R.layout.module_small_map_fragment, container, false); mSmallMapDirectionView = mRootView.findViewById(R.id.smallMapDirectionView); + mSmallMapDirectionView.onCreateView(savedInstanceState); } else { ViewGroup viewGroup = (ViewGroup) mRootView.getParent(); if (viewGroup != null) { @@ -55,4 +55,23 @@ public class SmallMapFragment extends Fragment { } } + @Override + public void onResume() { + super.onResume(); + mSmallMapDirectionView.onResume(); + } + + @Override + public void onPause() { + super.onPause(); + mSmallMapDirectionView.onPause(); + + } + + @Override + public void onDestroy() { + super.onDestroy(); + mSmallMapDirectionView.onDestroy(); + + } } From a0cafc0aa604ddf701fccd7c651aa580da32c69a Mon Sep 17 00:00:00 2001 From: lianglihui Date: Mon, 27 Sep 2021 15:05:08 +0800 Subject: [PATCH 2/9] =?UTF-8?q?eagle=20=20=E4=BF=AE=E5=A4=8D=E5=85=A8?= =?UTF-8?q?=E9=93=BE=E8=B7=AF=E7=9B=91=E6=8E=A7=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../{values-xhdpi-2560x1600 => values-xhdpi-2560x1440}/dimens.xml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename core/function-impl/mogo-core-function-check/src/main/res/{values-xhdpi-2560x1600 => values-xhdpi-2560x1440}/dimens.xml (100%) diff --git a/core/function-impl/mogo-core-function-check/src/main/res/values-xhdpi-2560x1600/dimens.xml b/core/function-impl/mogo-core-function-check/src/main/res/values-xhdpi-2560x1440/dimens.xml similarity index 100% rename from core/function-impl/mogo-core-function-check/src/main/res/values-xhdpi-2560x1600/dimens.xml rename to core/function-impl/mogo-core-function-check/src/main/res/values-xhdpi-2560x1440/dimens.xml From 9be937f23a4d74f81a3ce5094d6e0d56b0f9cae1 Mon Sep 17 00:00:00 2001 From: lianglihui Date: Mon, 27 Sep 2021 15:17:06 +0800 Subject: [PATCH 3/9] =?UTF-8?q?eagle=20=20=E8=B0=83=E6=95=B4checkactivity?= =?UTF-8?q?=20loadDetail=E8=B0=83=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogo/eagle/core/function/check/view/CheckActivity.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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 ac5e8a79e8..f134d733f9 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 @@ -82,6 +82,12 @@ public class CheckActivity extends AppCompatActivity { initView(); } + @Override + protected void onStart() { + super.onStart(); + loadDetail(context); + } + /** * 列表View初始化 */ @@ -100,7 +106,6 @@ public class CheckActivity extends AppCompatActivity { finish(); }); animation(); - loadDetail(context); mRecyclerView = findViewById(R.id.check_list); CheckLinearLayout linearLayoutManager = new CheckLinearLayout(this, CheckLinearLayout.VERTICAL, false); From 4f67fecb775b36e360f9371e28d7f6fb3ca5d9a8 Mon Sep 17 00:00:00 2001 From: lianglihui Date: Mon, 27 Sep 2021 16:30:50 +0800 Subject: [PATCH 4/9] =?UTF-8?q?eagle=20=20=E8=B0=83=E6=95=B4checkactivity?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../check/VehicleMonitoringManager.java | 123 +++++++++++++-- .../function/check/net/CheckResultData.java | 7 +- .../function/check/view/CheckActivity.java | 146 ++++++++++-------- 3 files changed, 196 insertions(+), 80 deletions(-) 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 8fe80c047e..e79c382afa 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 @@ -1,19 +1,38 @@ 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.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.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; + /** * 鹰眼系统、自动驾驶系统 检测模块 @@ -56,25 +75,111 @@ public class VehicleMonitoringManager implements ICheckProvider { @Override public void startCheckActivity(Context context) { - if (context != null) { - CheckActivity.start(context); - } +// if (context != null) { +// CheckActivity.start(context); +// } + Intent starter = new Intent(context, CheckActivity.class); + starter.putExtra("CheckResultData",checkResultData); + starter.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + context.startActivity(starter); } @Override public void showCheckDialog(Context context) { - if (context != null) { - CheckActivity.showDialog(context); - } +// if (context != null) { +// CheckActivity.showDialog(context); +// } + showDialog(context); } @Override public boolean checkMonitor(Context context) { - if (context != null) { - return CheckActivity.checkMonitor(context); - } +// if (context != null) { +// return CheckActivity.checkMonitor(context); +// } +// .append("sn", MoGoAiCloudClientConfig.getInstance().getSn()) + + final Map params = ParamsBuilder.of(false) + .append("sn", "QWE12E1211231R1212123") + .build(); + CheckApiServiceFactory.getDataApiService(context).loadMonitorDetail(params) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new SubscribeImpl(RequestOptions.create(context)) { + @Override + public void onSuccess(CheckResultData o) { + super.onSuccess(o); + Log.d("checkMonitor", "车辆自检结果是:" + o.toString()); + checkResultData = o; + if (((CheckResultData) o).getData().getVehicle().getState() == 1) { + CallerCheckManager.updateMonitoringStatus(MogoReceiver.ACTION_CHECK_VEHICLE_MONITORING, false); + } else { + CallerCheckManager.updateMonitoringStatus(MogoReceiver.ACTION_CHECK_VEHICLE_MONITORING, true); + showDialog(context); + } +// ThreadUtils.runOnUiThread(new Runnable() { +// @Override +// public void run() { +//// if (o != null && mCheckAdapter != null) { +//// mCheckAdapter.mCheckResultData = o; +//// mCheckAdapter.notifyDataSetChanged(); +//// } +// +// if (((CheckResultData) o).getData().getVehicle().getState() == 1) { +// CallerCheckManager.updateMonitoringStatus(MogoReceiver.ACTION_CHECK_VEHICLE_MONITORING, false); +// } else { +// CallerCheckManager.updateMonitoringStatus(MogoReceiver.ACTION_CHECK_VEHICLE_MONITORING, true); +// showDialog(context); +// } +// } +// }); + } + + @Override + public void onError(String message, int code) { + super.onError(message, code); +// Log.d(TAG, "车辆自检失败,请稍后重试" + "==" + message + String.valueOf(code)); + } + }); + return false; } + CheckResultData checkResultData; + + CheckDialog dialog; + /** + * 指标异常弹框 + */ + public void showDialog(Context context) { + try { + if (AppUtils.isAppRunning(getPackageName(context)) && + (ActivityUtils.getTopActivity() instanceof CheckActivity == false)) { + if (dialog != null) { + dialog.cancel(); + } + 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); +// Log.d(TAG, "包名:" + packageInfo.packageName); + return packageInfo.packageName; + } catch (Exception e) { + e.printStackTrace(); + } + return "com.mogo.launcher.f"; + } @Override public void updateMonitoringStatus(String module, boolean hasError) { diff --git a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/net/CheckResultData.java b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/net/CheckResultData.java index 8ff75e0433..f2a6234a5a 100644 --- a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/net/CheckResultData.java +++ b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/net/CheckResultData.java @@ -2,6 +2,7 @@ package com.mogo.eagle.core.function.check.net; import com.mogo.commons.data.BaseData; +import java.io.Serializable; import java.util.ArrayList; import java.util.List; @@ -38,7 +39,7 @@ public class CheckResultData extends BaseData { '}'; } - public static class Data { + public static class Data implements Serializable{ private Vehicle vehicle; private List soft; private List devices; @@ -97,7 +98,7 @@ public class CheckResultData extends BaseData { } } - public static class Vehicle { + public static class Vehicle implements Serializable { private String id; private String sn; private String vin; @@ -236,7 +237,7 @@ public class CheckResultData extends BaseData { } } - public static class CheckListItem { + public static class CheckListItem implements Serializable{ private String name; private String stateValue; private List items; 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 f134d733f9..de77632403 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 @@ -85,7 +85,17 @@ public class CheckActivity extends AppCompatActivity { @Override protected void onStart() { super.onStart(); - loadDetail(context); +// loadDetail(context); + Intent intent = getIntent(); + if (intent != null){ + CheckResultData checkResultData = (CheckResultData) intent.getSerializableExtra("CheckResultData"); + if (checkResultData != null&& mCheckAdapter != null){ + mCheckAdapter.mCheckResultData = checkResultData; + mCheckAdapter.notifyDataSetChanged(); + } + }else{ + + } } /** @@ -118,57 +128,57 @@ public class CheckActivity extends AppCompatActivity { /** * 自动驾驶状态下指标监测 */ - public static boolean checkMonitor(Context context) { - Log.d(TAG, "checkMonitor"); - loadDetail(context); - return true; - } +// public static boolean checkMonitor(Context context) { +// Log.d(TAG, "checkMonitor"); +// loadDetail(context); +// return true; +// } - //网络请求,获取自车检测结果(工控机上报云端) - public static void loadDetail(Context context) { - final Map params = ParamsBuilder.of(false) - .append("sn", MoGoAiCloudClientConfig.getInstance().getSn()) - .build(); - CheckApiServiceFactory.getDataApiService(context).loadMonitorDetail(params) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .subscribe(new SubscribeImpl(RequestOptions.create(context)) { - @Override - public void onSuccess(CheckResultData o) { - super.onSuccess(o); - Log.d(TAG, "车辆自检结果是:" + o.toString()); - ThreadUtils.runOnUiThread(new Runnable() { - @Override - public void run() { - if (o != null && mCheckAdapter != null) { - mCheckAdapter.mCheckResultData = o; - mCheckAdapter.notifyDataSetChanged(); - } - - if (((CheckResultData) o).getData().getVehicle().getState() == 1) { - CallerCheckManager.updateMonitoringStatus(MogoReceiver.ACTION_CHECK_VEHICLE_MONITORING, false); - } else { - CallerCheckManager.updateMonitoringStatus(MogoReceiver.ACTION_CHECK_VEHICLE_MONITORING, true); - showDialog(context); - } - } - }); - } - - @Override - public void onError(String message, int code) { - super.onError(message, code); - Log.d(TAG, "车辆自检失败,请稍后重试" + "==" + message + String.valueOf(code)); - } - }); - - } +// //网络请求,获取自车检测结果(工控机上报云端) +// public static void loadDetail(Context context) { +// final Map params = ParamsBuilder.of(false) +// .append("sn", MoGoAiCloudClientConfig.getInstance().getSn()) +// .build(); +// CheckApiServiceFactory.getDataApiService(context).loadMonitorDetail(params) +// .subscribeOn(Schedulers.io()) +// .observeOn(AndroidSchedulers.mainThread()) +// .subscribe(new SubscribeImpl(RequestOptions.create(context)) { +// @Override +// public void onSuccess(CheckResultData o) { +// super.onSuccess(o); +// Log.d(TAG, "车辆自检结果是:" + o.toString()); +// ThreadUtils.runOnUiThread(new Runnable() { +// @Override +// public void run() { +// if (o != null && mCheckAdapter != null) { +// mCheckAdapter.mCheckResultData = o; +// mCheckAdapter.notifyDataSetChanged(); +// } +// +// if (((CheckResultData) o).getData().getVehicle().getState() == 1) { +// CallerCheckManager.updateMonitoringStatus(MogoReceiver.ACTION_CHECK_VEHICLE_MONITORING, false); +// } else { +// CallerCheckManager.updateMonitoringStatus(MogoReceiver.ACTION_CHECK_VEHICLE_MONITORING, true); +// showDialog(context); +// } +// } +// }); +// } +// +// @Override +// public void onError(String message, int code) { +// super.onError(message, code); +// Log.d(TAG, "车辆自检失败,请稍后重试" + "==" + message + String.valueOf(code)); +// } +// }); +// +// } /** * @param context * @return 当前应用的版本名称 */ - public static synchronized String getPackageName(Context context) { + public synchronized String getPackageName(Context context) { try { PackageManager packageManager = context.getPackageManager(); PackageInfo packageInfo = packageManager.getPackageInfo( @@ -269,29 +279,29 @@ public class CheckActivity extends AppCompatActivity { } } - public static void start(Context context) { - Intent starter = new Intent(context, CheckActivity.class); - starter.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - context.startActivity(starter); - } +// public static void start(Context context) { +// Intent starter = new Intent(context, CheckActivity.class); +// starter.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); +// context.startActivity(starter); +// } - /** - * 指标异常弹框 - */ - public static void showDialog(Context context) { - try { - if (AppUtils.isAppRunning(getPackageName(context)) && - (ActivityUtils.getTopActivity() instanceof CheckActivity == false)) { - if (dialog != null) { - dialog.cancel(); - } - dialog = new CheckDialog(context, true); - dialog.show(); - } - } catch (Exception e) { - e.printStackTrace(); - } - } +// /** +// * 指标异常弹框 +// */ +// public static void showDialog(Context context) { +// try { +// if (AppUtils.isAppRunning(getPackageName(context)) && +// (ActivityUtils.getTopActivity() instanceof CheckActivity == false)) { +// if (dialog != null) { +// dialog.cancel(); +// } +// dialog = new CheckDialog(context, true); +// dialog.show(); +// } +// } catch (Exception e) { +// e.printStackTrace(); +// } +// } @Override protected void onDestroy() { From a0143e5c932f4e4dcd68cf679c4abbb8bfce9d9f Mon Sep 17 00:00:00 2001 From: liujing Date: Mon, 27 Sep 2021 19:54:37 +0800 Subject: [PATCH 5/9] =?UTF-8?q?=E5=90=8E=E5=8F=B0=E7=9B=91=E5=90=AC,?= =?UTF-8?q?=E5=BA=94=E7=94=A8=E5=90=8E=E5=8F=B0=E5=90=8E=E4=B8=8D=E5=81=9A?= =?UTF-8?q?=E5=BC=B9=E6=A1=86=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../check/VehicleMonitoringManager.java | 11 ++- .../mogo/utils/ActivityLifecycleManager.java | 83 ++++++++++++------- .../main/launcher/MainLauncherActivity.java | 3 + 3 files changed, 62 insertions(+), 35 deletions(-) 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 e79c382afa..83996d1387 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 @@ -23,6 +23,7 @@ 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; @@ -79,7 +80,7 @@ public class VehicleMonitoringManager implements ICheckProvider { // CheckActivity.start(context); // } Intent starter = new Intent(context, CheckActivity.class); - starter.putExtra("CheckResultData",checkResultData); + starter.putExtra("CheckResultData", checkResultData); starter.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(starter); } @@ -144,16 +145,19 @@ public class VehicleMonitoringManager implements ICheckProvider { return false; } + CheckResultData checkResultData; CheckDialog dialog; + /** * 指标异常弹框 */ public void showDialog(Context context) { try { - if (AppUtils.isAppRunning(getPackageName(context)) && - (ActivityUtils.getTopActivity() instanceof CheckActivity == false)) { + if (ActivityLifecycleManager.getInstance().isAppActive() == true && + AppUtils.isAppRunning(getPackageName(context)) && + ActivityUtils.getTopActivity() instanceof CheckActivity == false) { if (dialog != null) { dialog.cancel(); } @@ -164,6 +168,7 @@ public class VehicleMonitoringManager implements ICheckProvider { e.printStackTrace(); } } + /** * @param context * @return 当前应用的版本名称 diff --git a/foudations/mogo-utils/src/main/java/com/mogo/utils/ActivityLifecycleManager.java b/foudations/mogo-utils/src/main/java/com/mogo/utils/ActivityLifecycleManager.java index 5297a356e0..603c370191 100644 --- a/foudations/mogo-utils/src/main/java/com/mogo/utils/ActivityLifecycleManager.java +++ b/foudations/mogo-utils/src/main/java/com/mogo/utils/ActivityLifecycleManager.java @@ -17,14 +17,14 @@ public class ActivityLifecycleManager { /** * 当前出于 Start 状态的 Activity */ - private ArrayList< Activity > mStartedActivities = new ArrayList<>(); + private ArrayList mStartedActivities = new ArrayList<>(); private ArrayList mAppStateListeners = new ArrayList<>(); /** * 当前存活的 Activity */ - private HashMap< Activity, ActivityTrace> mAliveActivities = new HashMap<>(); + private HashMap mAliveActivities = new HashMap<>(); /** * App 是否出于前台 @@ -44,10 +44,10 @@ public class ActivityLifecycleManager { private DefActivityLifecycleCallbacks mInnerActivityListener = new DefActivityLifecycleCallbacks() { @Override - public void onActivityStarted( Activity activity) { + public void onActivityStarted(Activity activity) { if (mStartedActivities.isEmpty()) { mIsAppActive = true; - notifyAppStateChanged( AppStateListener.ACTIVE); + notifyAppStateChanged(AppStateListener.ACTIVE); } mStartedActivities.add(activity); @@ -58,11 +58,11 @@ public class ActivityLifecycleManager { } @Override - public void onActivityStopped( Activity activity) { + public void onActivityStopped(Activity activity) { mStartedActivities.remove(activity); if (mStartedActivities.isEmpty()) { mIsAppActive = false; - notifyAppStateChanged( AppStateListener.INACTIVE); + notifyAppStateChanged(AppStateListener.INACTIVE); } ActivityTrace trace = mAliveActivities.get(activity); @@ -72,7 +72,7 @@ public class ActivityLifecycleManager { } @Override - public void onActivityResumed( Activity activity) { + public void onActivityResumed(Activity activity) { mCurrentResumedActivity = activity; ActivityTrace trace = mAliveActivities.get(activity); if (trace != null) { @@ -81,7 +81,7 @@ public class ActivityLifecycleManager { } @Override - public void onActivityPaused( Activity activity) { + public void onActivityPaused(Activity activity) { ActivityTrace trace = mAliveActivities.get(activity); if (trace != null) { trace.pauseCnt++; @@ -89,33 +89,34 @@ public class ActivityLifecycleManager { } @Override - public void onActivityCreated( Activity activity, Bundle savedInstanceState) { + public void onActivityCreated(Activity activity, Bundle savedInstanceState) { mAliveActivities.put(activity, new ActivityTrace(activity)); } @Override - public void onActivityDestroyed( Activity activity) { + public void onActivityDestroyed(Activity activity) { mAliveActivities.remove(activity); } }; - private ActivityLifecycleManager() {} + private ActivityLifecycleManager() { + } public static ActivityLifecycleManager getInstance() { return SingletonHolder.INSTANCE; } - private static class SingletonHolder{ + private static class SingletonHolder { private static final ActivityLifecycleManager INSTANCE = new ActivityLifecycleManager(); } - public void start( Application application) { + public void start(Application application) { this.mApplication = application; registerInnerActivityListener(); registerHomeKeyEventReceiver(); } - public void stop(){ + public void stop() { unregisterActivityLifecycleCallbacks(mInnerActivityListener); unregisterHomeKeyEventReceiver(); } @@ -125,12 +126,12 @@ public class ActivityLifecycleManager { * * @param callbacks Activity 生命周期的回调 */ - public void registerActivityLifecycleCallbacks( Application.ActivityLifecycleCallbacks callbacks) { + public void registerActivityLifecycleCallbacks(Application.ActivityLifecycleCallbacks callbacks) { if (mApplication == null) { return; } - if ( Build.VERSION.SDK_INT < Build.VERSION_CODES.ICE_CREAM_SANDWICH) { + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.ICE_CREAM_SANDWICH) { return; } @@ -142,12 +143,12 @@ public class ActivityLifecycleManager { * * @param callbacks Activity 生命周期的回调 */ - public void unregisterActivityLifecycleCallbacks( Application.ActivityLifecycleCallbacks callbacks) { + public void unregisterActivityLifecycleCallbacks(Application.ActivityLifecycleCallbacks callbacks) { if (mApplication == null) { return; } - if ( Build.VERSION.SDK_INT < Build.VERSION_CODES.ICE_CREAM_SANDWICH) { + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.ICE_CREAM_SANDWICH) { return; } @@ -161,7 +162,11 @@ public class ActivityLifecycleManager { return mIsAppActive; } - public Activity getCurrentActivity(){ + public void setAppActive(boolean appActive) { + mIsAppActive = appActive; + } + + public Activity getCurrentActivity() { return mCurrentResumedActivity; } @@ -248,7 +253,7 @@ public class ActivityLifecycleManager { private void registerHomeKeyEventReceiver() { android.content.IntentFilter filter = new android.content.IntentFilter(); - filter.addAction( Intent.ACTION_CLOSE_SYSTEM_DIALOGS); + filter.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS); mHomeKeyEventReceiver = new HomeKeyEventReceiver(); mApplication.registerReceiver(mHomeKeyEventReceiver, filter); @@ -267,31 +272,45 @@ public class ActivityLifecycleManager { } } - @TargetApi( Build.VERSION_CODES.ICE_CREAM_SANDWICH) + @TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH) public static abstract class DefActivityLifecycleCallbacks implements Application.ActivityLifecycleCallbacks { @Override - public void onActivityCreated( Activity activity, Bundle savedInstanceState) {} + public void onActivityCreated(Activity activity, Bundle savedInstanceState) { + } + @Override - public void onActivityStarted( Activity activity) {} + public void onActivityStarted(Activity activity) { + } + @Override - public void onActivityResumed( Activity activity) {} + public void onActivityResumed(Activity activity) { + } + @Override - public void onActivityPaused( Activity activity) {} + public void onActivityPaused(Activity activity) { + } + @Override - public void onActivityStopped( Activity activity) {} + public void onActivityStopped(Activity activity) { + } + @Override - public void onActivitySaveInstanceState( Activity activity, Bundle outState) {} + public void onActivitySaveInstanceState(Activity activity, Bundle outState) { + } + @Override - public void onActivityDestroyed( Activity activity) {} + public void onActivityDestroyed(Activity activity) { + } } public interface AppStateListener { int INACTIVE = 0; int ACTIVE = 1; + /** * App 状态的回调 */ - void onStateChanged( int state ); + void onStateChanged(int state); } @@ -312,7 +331,7 @@ public class ActivityLifecycleManager { int startCnt; int stopCnt; - ActivityTrace( Activity activity) { + ActivityTrace(Activity activity) { this.activity = activity; } } @@ -322,9 +341,9 @@ public class ActivityLifecycleManager { private final String SYSTEM_DIALOG_REASON_HOME_KEY = "homekey"; @Override - public void onReceive( Context context, Intent intent) { + public void onReceive(Context context, Intent intent) { String action = intent.getAction(); - if ( Intent.ACTION_CLOSE_SYSTEM_DIALOGS.equals(action)) { + if (Intent.ACTION_CLOSE_SYSTEM_DIALOGS.equals(action)) { String reason = intent.getStringExtra(SYSTEM_DIALOG_REASON_KEY); if (reason != null && reason.equals(SYSTEM_DIALOG_REASON_HOME_KEY)) { onHomeKeyPressed(); diff --git a/main-extensions/mogo-module-main-launcher/src/main/java/com/zhidao/mogo/module/main/launcher/MainLauncherActivity.java b/main-extensions/mogo-module-main-launcher/src/main/java/com/zhidao/mogo/module/main/launcher/MainLauncherActivity.java index 30310154e1..cc4965c322 100644 --- a/main-extensions/mogo-module-main-launcher/src/main/java/com/zhidao/mogo/module/main/launcher/MainLauncherActivity.java +++ b/main-extensions/mogo-module-main-launcher/src/main/java/com/zhidao/mogo/module/main/launcher/MainLauncherActivity.java @@ -31,6 +31,7 @@ import com.mogo.service.intent.IMogoIntentListener; import com.mogo.eagle.core.function.api.map.smp.IMogoSmallMapProvider; import com.mogo.service.statusmanager.StatusDescriptor; import com.mogo.service.v2x.IV2XWarningListener; +import com.mogo.utils.ActivityLifecycleManager; import com.mogo.utils.logger.Logger; /** @@ -90,6 +91,7 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis protected void onStart() { super.onStart(); getApis().getIntentManagerApi().registerIntentListener(Intent.ACTION_CLOSE_SYSTEM_DIALOGS, this); + ActivityLifecycleManager.getInstance().setAppActive(true); } @Override @@ -102,6 +104,7 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis protected void onStop() { super.onStop(); getApis().getIntentManagerApi().unregisterIntentListener(Intent.ACTION_CLOSE_SYSTEM_DIALOGS, this); + ActivityLifecycleManager.getInstance().setAppActive(false); } @Override From f3f2e8d40d6f9a89a8c8746f5fc89dd6ca7fd9b0 Mon Sep 17 00:00:00 2001 From: liujing Date: Tue, 28 Sep 2021 09:06:33 +0800 Subject: [PATCH 6/9] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=8F=96=E6=B6=88?= =?UTF-8?q?=E5=BC=B9=E6=A1=86=E7=9A=84=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/function/check/VehicleMonitoringManager.java | 2 +- .../mogo/eagle/core/function/check/view/CheckDialog.java | 8 ++++---- .../core/function/check/view/CheckInfoListDialog.java | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) 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 83996d1387..5265d6111b 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 @@ -159,7 +159,7 @@ public class VehicleMonitoringManager implements ICheckProvider { AppUtils.isAppRunning(getPackageName(context)) && ActivityUtils.getTopActivity() instanceof CheckActivity == false) { if (dialog != null) { - dialog.cancel(); + dialog.dismiss(); } dialog = new CheckDialog(context, true); dialog.show(); 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 cb597417dd..0282509807 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 @@ -40,11 +40,11 @@ public class CheckDialog extends BaseFloatDialog { setContentView(R.layout.check_dialog); cancel = findViewById(R.id.cancel_button); cancel.setOnClickListener(v -> { - cancel(); + dismiss(); }); checkDetail = findViewById(R.id.check_detail); checkDetail.setOnClickListener(v -> { - cancel(); + dismiss(); if (mContext != null) { CallerCheckManager.startCheckActivity(mContext); } @@ -63,11 +63,11 @@ public class CheckDialog extends BaseFloatDialog { public void cancel() { - super.dismiss(); + } @Override public void dismiss() { - + super.dismiss(); } } 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 c4a119bad9..219fdced51 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 @@ -71,7 +71,7 @@ public class CheckInfoListDialog extends BaseFloatDialog { mRecyclerView.setAdapter(new CheckInfoAdapter(mContext, mStyle, resultData)); //关闭按钮 findViewById(R.id.cancel_info_list_button).setOnClickListener(v -> { - cancel(); + dismiss(); }); } @@ -106,11 +106,11 @@ public class CheckInfoListDialog extends BaseFloatDialog { } public void cancel() { - super.dismiss(); + } @Override public void dismiss() { - + super.dismiss(); } } From b2f1947e34a6b0ba776372e0b9f4932c4c7d4492 Mon Sep 17 00:00:00 2001 From: liujing Date: Tue, 28 Sep 2021 10:50:17 +0800 Subject: [PATCH 7/9] =?UTF-8?q?[add]=20=E5=88=A0=E9=99=A4=E6=97=A0?= =?UTF-8?q?=E7=94=A8=E4=BB=A3=E7=A0=81;=E8=A7=A3=E5=86=B3=E4=BA=92?= =?UTF-8?q?=E7=9B=B8=E5=BC=95=E7=94=A8=E5=BC=95=E8=B5=B7=E7=9A=84=E5=86=85?= =?UTF-8?q?=E5=AD=98=E6=B3=84=E9=9C=B2;=E8=A7=A3=E5=86=B3=E5=BC=B9?= =?UTF-8?q?=E6=A1=86=E9=87=8D=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../check/VehicleMonitoringManager.java | 74 ++------- .../function/check/api/ICheckListener.java | 19 --- .../check/api/ICheckResultCallBack.java | 12 ++ .../core/function/check/api/SoftCheckApi.java | 23 --- .../function/check/view/CheckActivity.java | 155 ++++++------------ .../function/api/check/ICheckProvider.java | 2 +- .../call/check/CallerCheckManager.java | 6 +- .../main/monitoring/VehicleMonitoring.java | 4 +- 8 files changed, 86 insertions(+), 209 deletions(-) delete mode 100644 core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/api/ICheckListener.java create mode 100644 core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/api/ICheckResultCallBack.java delete mode 100644 core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/api/SoftCheckApi.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 index 5265d6111b..288af9b4c9 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 @@ -11,6 +11,7 @@ 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; @@ -76,79 +77,35 @@ public class VehicleMonitoringManager implements ICheckProvider { @Override public void startCheckActivity(Context context) { -// if (context != null) { -// CheckActivity.start(context); -// } Intent starter = new Intent(context, CheckActivity.class); - starter.putExtra("CheckResultData", checkResultData); starter.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(starter); } @Override public void showCheckDialog(Context context) { -// if (context != null) { -// CheckActivity.showDialog(context); -// } showDialog(context); } @Override - public boolean checkMonitor(Context context) { -// if (context != null) { -// return CheckActivity.checkMonitor(context); -// } -// .append("sn", MoGoAiCloudClientConfig.getInstance().getSn()) - - final Map params = ParamsBuilder.of(false) - .append("sn", "QWE12E1211231R1212123") - .build(); - CheckApiServiceFactory.getDataApiService(context).loadMonitorDetail(params) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .subscribe(new SubscribeImpl(RequestOptions.create(context)) { - @Override - public void onSuccess(CheckResultData o) { - super.onSuccess(o); - Log.d("checkMonitor", "车辆自检结果是:" + o.toString()); - checkResultData = o; - if (((CheckResultData) o).getData().getVehicle().getState() == 1) { - CallerCheckManager.updateMonitoringStatus(MogoReceiver.ACTION_CHECK_VEHICLE_MONITORING, false); - } else { - CallerCheckManager.updateMonitoringStatus(MogoReceiver.ACTION_CHECK_VEHICLE_MONITORING, true); - showDialog(context); - } -// ThreadUtils.runOnUiThread(new Runnable() { -// @Override -// public void run() { -//// if (o != null && mCheckAdapter != null) { -//// mCheckAdapter.mCheckResultData = o; -//// mCheckAdapter.notifyDataSetChanged(); -//// } -// -// if (((CheckResultData) o).getData().getVehicle().getState() == 1) { -// CallerCheckManager.updateMonitoringStatus(MogoReceiver.ACTION_CHECK_VEHICLE_MONITORING, false); -// } else { -// CallerCheckManager.updateMonitoringStatus(MogoReceiver.ACTION_CHECK_VEHICLE_MONITORING, true); -// showDialog(context); -// } -// } -// }); + public void checkMonitor(Context context) { + if (context != null) { + CheckActivity.checkMonitor(context, new ICheckResultCallBack() { + @Override + public void callBackWithErrorState(Integer hasError) { + if (hasError == 1) { + updateMonitoringStatus(MogoReceiver.ACTION_CHECK_VEHICLE_MONITORING, false); + } else { + updateMonitoringStatus(MogoReceiver.ACTION_CHECK_VEHICLE_MONITORING, true); + showDialog(context); } - - @Override - public void onError(String message, int code) { - super.onError(message, code); -// Log.d(TAG, "车辆自检失败,请稍后重试" + "==" + message + String.valueOf(code)); - } - }); - - return false; + } + }); + } } - CheckResultData checkResultData; - CheckDialog dialog; + static CheckDialog dialog; /** * 指标异常弹框 @@ -178,7 +135,6 @@ public class VehicleMonitoringManager implements ICheckProvider { PackageManager packageManager = context.getPackageManager(); PackageInfo packageInfo = packageManager.getPackageInfo( context.getPackageName(), 0); -// Log.d(TAG, "包名:" + packageInfo.packageName); return packageInfo.packageName; } catch (Exception e) { e.printStackTrace(); diff --git a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/api/ICheckListener.java b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/api/ICheckListener.java deleted file mode 100644 index 8c53a375c0..0000000000 --- a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/api/ICheckListener.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.mogo.eagle.core.function.check.api; - -/** - * @author liujing - * @description 描述 - * @since: 8/6/21 - */ -public interface ICheckListener { - - /** - * 工控机->鹰眼定位数据延时 - */ - void getAutoLocationTimeCallbackDelayed(long time); - - /** - * 工控机->鹰眼识别数据延时 - */ - void getAutoDataCallbackDelayed(long time); -} 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 new file mode 100644 index 0000000000..1d2272742c --- /dev/null +++ b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/api/ICheckResultCallBack.java @@ -0,0 +1,12 @@ +package com.mogo.eagle.core.function.check.api; + +import com.mogo.service.adas.IMogoAdasDataCallback; + +/** + * @author liujing + * @description 自车检测结果回调 + * @since: 9/28/21 + */ +public interface ICheckResultCallBack { + void callBackWithErrorState(Integer hasError); +} diff --git a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/api/SoftCheckApi.java b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/api/SoftCheckApi.java deleted file mode 100644 index 59b34258b0..0000000000 --- a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/api/SoftCheckApi.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.mogo.eagle.core.function.check.api; - -/** - * @author xiaoyuzhou - * @date 2021/7/5 2:54 下午 - *

- * 软件环境检测 - * -----> 自动驾驶版本 - * -----> 鹰眼版本 - */ -public interface SoftCheckApi { - - /** - * 检测「自动驾驶」版本 - */ - void checkAutoPilotSoftVersion(); - - /** - * 检测「鹰眼」版本 - */ - void checkEagleEyeSoftVersion(); - -} 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 de77632403..b909c22cdd 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 @@ -25,6 +25,7 @@ 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; @@ -55,7 +56,6 @@ public class CheckActivity extends AppCompatActivity { private static Context context; private static NetworkStatusUtil.NetWorkStatus sNetWorkStatus; private ImageView mImageView; - private static String packageName = "com.mogo.launcher.f"; //车模 private ImageView scanBottomCarImage; //扫描束 @@ -73,7 +73,6 @@ public class CheckActivity extends AppCompatActivity { private final static long DURATION_TIME = 1000; private static CheckAdapter mCheckAdapter; private static boolean isFront = false; - private static CheckDialog dialog; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { @@ -85,19 +84,9 @@ public class CheckActivity extends AppCompatActivity { @Override protected void onStart() { super.onStart(); -// loadDetail(context); - Intent intent = getIntent(); - if (intent != null){ - CheckResultData checkResultData = (CheckResultData) intent.getSerializableExtra("CheckResultData"); - if (checkResultData != null&& mCheckAdapter != null){ - mCheckAdapter.mCheckResultData = checkResultData; - mCheckAdapter.notifyDataSetChanged(); - } - }else{ - - } + animation(); + loadDetail(context, null); } - /** * 列表View初始化 */ @@ -111,11 +100,10 @@ public class CheckActivity extends AppCompatActivity { tipsImageView = findViewById(R.id.scan_car_tips); mProgressBar = findViewById(R.id.check_progress); context = mImageView.getContext(); - packageName = getPackageName(context); mImageView.setOnClickListener(v -> { finish(); }); - animation(); + mRecyclerView = findViewById(R.id.check_list); CheckLinearLayout linearLayoutManager = new CheckLinearLayout(this, CheckLinearLayout.VERTICAL, false); @@ -128,67 +116,44 @@ public class CheckActivity extends AppCompatActivity { /** * 自动驾驶状态下指标监测 */ -// public static boolean checkMonitor(Context context) { -// Log.d(TAG, "checkMonitor"); -// loadDetail(context); -// return true; -// } + public static void checkMonitor(Context context, ICheckResultCallBack checkResultCallBack) { + Log.d(TAG, "checkMonitor"); + loadDetail(context, checkResultCallBack); + } -// //网络请求,获取自车检测结果(工控机上报云端) -// public static void loadDetail(Context context) { -// final Map params = ParamsBuilder.of(false) -// .append("sn", MoGoAiCloudClientConfig.getInstance().getSn()) -// .build(); -// CheckApiServiceFactory.getDataApiService(context).loadMonitorDetail(params) -// .subscribeOn(Schedulers.io()) -// .observeOn(AndroidSchedulers.mainThread()) -// .subscribe(new SubscribeImpl(RequestOptions.create(context)) { -// @Override -// public void onSuccess(CheckResultData o) { -// super.onSuccess(o); -// Log.d(TAG, "车辆自检结果是:" + o.toString()); -// ThreadUtils.runOnUiThread(new Runnable() { -// @Override -// public void run() { -// if (o != null && mCheckAdapter != null) { -// mCheckAdapter.mCheckResultData = o; -// mCheckAdapter.notifyDataSetChanged(); -// } -// -// if (((CheckResultData) o).getData().getVehicle().getState() == 1) { -// CallerCheckManager.updateMonitoringStatus(MogoReceiver.ACTION_CHECK_VEHICLE_MONITORING, false); -// } else { -// CallerCheckManager.updateMonitoringStatus(MogoReceiver.ACTION_CHECK_VEHICLE_MONITORING, true); -// showDialog(context); -// } -// } -// }); -// } -// -// @Override -// public void onError(String message, int code) { -// super.onError(message, code); -// Log.d(TAG, "车辆自检失败,请稍后重试" + "==" + message + String.valueOf(code)); -// } -// }); -// -// } + //网络请求,获取自车检测结果(工控机上报云端) + public static void loadDetail(Context context, ICheckResultCallBack checkResultCallBack) { + final Map params = ParamsBuilder.of(false) + .append("sn", MoGoAiCloudClientConfig.getInstance().getSn()) + .build(); + CheckApiServiceFactory.getDataApiService(context).loadMonitorDetail(params) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new SubscribeImpl(RequestOptions.create(context)) { + @Override + public void onSuccess(CheckResultData o) { + super.onSuccess(o); + Log.d(TAG, "车辆自检结果是:" + o.toString()); + ThreadUtils.runOnUiThread(new Runnable() { + @Override + public void run() { + if (o != null && mCheckAdapter != null) { + mCheckAdapter.mCheckResultData = o; + mCheckAdapter.notifyDataSetChanged(); + } + if (checkResultCallBack != null) { + checkResultCallBack.callBackWithErrorState(o.getData().getVehicle().getState()); + } + } + }); + } + + @Override + public void onError(String message, int code) { + super.onError(message, code); + } + }); - /** - * @param context - * @return 当前应用的版本名称 - */ - public synchronized String getPackageName(Context context) { - try { - PackageManager packageManager = context.getPackageManager(); - PackageInfo packageInfo = packageManager.getPackageInfo( - context.getPackageName(), 0); - Log.d(TAG, "包名:" + packageInfo.packageName); - return packageInfo.packageName; - } catch (Exception e) { - e.printStackTrace(); - } - return "com.mogo.launcher.f"; } /** @@ -279,29 +244,20 @@ public class CheckActivity extends AppCompatActivity { } } -// public static void start(Context context) { -// Intent starter = new Intent(context, CheckActivity.class); -// starter.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); -// context.startActivity(starter); -// } + @Override + protected void onPause() { + super.onPause(); + } -// /** -// * 指标异常弹框 -// */ -// public static void showDialog(Context context) { -// try { -// if (AppUtils.isAppRunning(getPackageName(context)) && -// (ActivityUtils.getTopActivity() instanceof CheckActivity == false)) { -// if (dialog != null) { -// dialog.cancel(); -// } -// dialog = new CheckDialog(context, true); -// dialog.show(); -// } -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } + @Override + protected void onStop() { + super.onStop(); + } + + @Override + protected void onRestart() { + super.onRestart(); + } @Override protected void onDestroy() { @@ -309,9 +265,4 @@ public class CheckActivity extends AppCompatActivity { isFront = false; } - @Override - protected void onPause() { - super.onPause(); - } - } 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 63fb9248ea..b948deeb57 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 @@ -36,7 +36,7 @@ public interface ICheckProvider extends IProvider { /** * 指标监测 */ - boolean checkMonitor(Context context); + void checkMonitor(Context context); /** * 根据监测指标修改主页检测按钮 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 6069a9c8f8..8f42974014 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 @@ -10,7 +10,7 @@ import com.mogo.eagle.core.function.call.base.CallerBase; /** * @author xiaoyuzhou * @date 2021/9/17 8:26 下午 - * + *

* HMI 调用者管理,这里对外及其他模块提供功能的调用,用啥写啥,不要过度设计,不允许直接将Provider暴露出去 */ public class CallerCheckManager extends CallerBase { @@ -56,7 +56,7 @@ public class CallerCheckManager extends CallerBase { /** * 指标监测 */ - public static boolean checkMonitor(Context context) { - return getCheckProvider().checkMonitor(context); + public static void checkMonitor(Context context) { + getCheckProvider().checkMonitor(context); } } diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/monitoring/VehicleMonitoring.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/monitoring/VehicleMonitoring.java index d71cec30b7..d008aa67c6 100644 --- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/monitoring/VehicleMonitoring.java +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/monitoring/VehicleMonitoring.java @@ -60,9 +60,9 @@ public class VehicleMonitoring implements Handler.Callback { return false; } - public boolean vehicleMonitor() { + public void vehicleMonitor() { Log.d(TAG, "vehicleMonitor"); - return CallerCheckManager.checkMonitor(mContext); + CallerCheckManager.checkMonitor(mContext); } } From cce7094ad4c3b5c2f3886ff60e12930b23cd3070 Mon Sep 17 00:00:00 2001 From: liujing Date: Tue, 28 Sep 2021 11:08:07 +0800 Subject: [PATCH 8/9] =?UTF-8?q?=E5=BC=B9=E6=A1=86=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E4=BF=AE=E6=94=B9:=20=E5=8F=B3=E4=B8=8B=E8=A7=92=E6=B2=A1?= =?UTF-8?q?=E6=9C=89=E9=A2=84=E8=AD=A6=E5=9B=BE=E7=89=87=EF=BC=8C=E5=BC=B9?= =?UTF-8?q?=E6=A1=86=E5=81=9A=E5=BC=B9=E5=87=BA=20=E8=AF=81=E5=87=BA?= =?UTF-8?q?=E7=8E=B0=E9=97=AE=E9=A2=98=E7=9A=84=E6=97=B6=E5=80=99=E6=8F=90?= =?UTF-8?q?=E9=86=92=E6=AF=94=E8=BE=83=E9=86=92=E7=9B=AE=EF=BC=8C=E8=80=8C?= =?UTF-8?q?=E4=B8=94=E5=90=8C=E6=A0=B7=E7=9A=84=E9=94=99=E8=AF=AF=E6=B2=A1?= =?UTF-8?q?=E6=9C=89=E8=A7=A3=E5=86=B3=E4=B8=8D=E4=BC=9A=E9=A2=91=E7=B9=81?= =?UTF-8?q?=E6=8F=90=E7=A4=BA=20=E5=B7=B2=E5=90=8C=E6=AD=A5=E4=BA=A7?= =?UTF-8?q?=E5=93=81=E4=BF=AE=E6=94=B9=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/function/check/VehicleMonitoringManager.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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 288af9b4c9..ea03d0d861 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 @@ -48,6 +48,7 @@ public class VehicleMonitoringManager implements ICheckProvider { private static final String TAG = "VehicleMonitoringManager"; private Context mContext; private final Map mListeners = new ConcurrentHashMap<>(); + private boolean hasTipShow = false;//是否已经弹框提示 @Override public void init(Context context) { @@ -95,9 +96,13 @@ public class VehicleMonitoringManager implements ICheckProvider { public void callBackWithErrorState(Integer hasError) { if (hasError == 1) { updateMonitoringStatus(MogoReceiver.ACTION_CHECK_VEHICLE_MONITORING, false); + hasTipShow = false; } else { updateMonitoringStatus(MogoReceiver.ACTION_CHECK_VEHICLE_MONITORING, true); - showDialog(context); + if (hasTipShow == false) { + showDialog(context); + hasTipShow = true;//已弹框 + } } } }); From 875170859dafd72f03688436a07dfd160c83e511 Mon Sep 17 00:00:00 2001 From: liujing Date: Tue, 28 Sep 2021 11:27:17 +0800 Subject: [PATCH 9/9] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/function/check/VehicleMonitoringManager.java | 11 +++++------ .../core/function/check/api/ICheckResultCallBack.java | 2 +- .../eagle/core/function/api/check/ICheckProvider.java | 2 +- .../core/function/api/check/IMogoCheckListener.java | 2 +- .../core/function/call/check/CallerCheckManager.java | 4 ++-- .../module/extensions/entrance/EntranceFragment.java | 8 ++++---- 6 files changed, 14 insertions(+), 15 deletions(-) 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 ea03d0d861..c217d85180 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 @@ -93,12 +93,11 @@ public class VehicleMonitoringManager implements ICheckProvider { if (context != null) { CheckActivity.checkMonitor(context, new ICheckResultCallBack() { @Override - public void callBackWithErrorState(Integer hasError) { - if (hasError == 1) { - updateMonitoringStatus(MogoReceiver.ACTION_CHECK_VEHICLE_MONITORING, false); + public void callBackWithErrorState(Integer state) { + updateMonitoringStatus(MogoReceiver.ACTION_CHECK_VEHICLE_MONITORING, state); + if (state == 1) { hasTipShow = false; } else { - updateMonitoringStatus(MogoReceiver.ACTION_CHECK_VEHICLE_MONITORING, true); if (hasTipShow == false) { showDialog(context); hasTipShow = true;//已弹框 @@ -148,12 +147,12 @@ public class VehicleMonitoringManager implements ICheckProvider { } @Override - public void updateMonitoringStatus(String module, boolean hasError) { + 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(hasError); + listener.updateMonitoringStatus(state); } } } 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 1d2272742c..709f409f11 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 @@ -8,5 +8,5 @@ import com.mogo.service.adas.IMogoAdasDataCallback; * @since: 9/28/21 */ public interface ICheckResultCallBack { - void callBackWithErrorState(Integer hasError); + void callBackWithErrorState(Integer state); } 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 b948deeb57..57c6d5ef6f 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 @@ -41,6 +41,6 @@ public interface ICheckProvider extends IProvider { /** * 根据监测指标修改主页检测按钮 */ - void updateMonitoringStatus(String module, boolean hasError); + void updateMonitoringStatus(String module, Integer state); } diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/check/IMogoCheckListener.java b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/check/IMogoCheckListener.java index dd5396cbd6..ad14740e66 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/check/IMogoCheckListener.java +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/check/IMogoCheckListener.java @@ -6,5 +6,5 @@ package com.mogo.eagle.core.function.api.check; * @since: 8/26/21 */ public interface IMogoCheckListener { - void updateMonitoringStatus(boolean hasError); + void updateMonitoringStatus(Integer state); } 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 8f42974014..fd9d82f317 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 @@ -49,8 +49,8 @@ public class CallerCheckManager extends CallerBase { /** * 根据监测指标修改主页检测按钮 */ - public static void updateMonitoringStatus(String module, boolean hasError) { - getCheckProvider().updateMonitoringStatus(module, hasError); + public static void updateMonitoringStatus(String module, Integer state) { + getCheckProvider().updateMonitoringStatus(module, state); } /** 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 e786a39c67..a6d8f3a39c 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 @@ -1402,12 +1402,12 @@ public class EntranceFragment extends MvpFragment