diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index 97a9cb7d46..8bc2337f09 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -4,7 +4,7 @@
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 e01fde4a97..f577d6623d 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
@@ -5,6 +5,8 @@ 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.api.ICheckResultCallBack
+import com.mogo.eagle.core.function.check.net.CheckNetWork
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
@@ -36,9 +38,9 @@ class VehicleMonitoringManager : ICheckProvider, IMogoStatusChangedListener {
LogUtils.dTag(TAG, "初始化 CheckProvider 模块")
mContext = context
MogoApisHandler.getInstance().apis.statusManagerApi.registerStatusChangedListener(
- TAG,
- StatusDescriptor.MAIN_PAGE_RESUME,
- this
+ TAG,
+ StatusDescriptor.MAIN_PAGE_RESUME,
+ this
)
}
@@ -61,9 +63,9 @@ class VehicleMonitoringManager : ICheckProvider, IMogoStatusChangedListener {
}
override fun checkMonitor(context: Context) {
- CheckActivity.checkMonitor(context) { state ->
- updateMonitoringStatus(MogoReceiver.ACTION_CHECK_VEHICLE_MONITORING, state)
- if (state == 1) {
+ CheckNetWork.checkNetWork(context, ICheckResultCallBack { state ->
+ updateMonitoringStatus(MogoReceiver.ACTION_CHECK_VEHICLE_MONITORING, state.data.vehicle.state)
+ if (state.data.vehicle.state == 1) {
hasTipShow = false
} else {
if (!hasTipShow) {
@@ -71,7 +73,7 @@ class VehicleMonitoringManager : ICheckProvider, IMogoStatusChangedListener {
hasTipShow = true //已弹框
}
}
- }
+ })
}
/**
@@ -80,8 +82,8 @@ class VehicleMonitoringManager : ICheckProvider, IMogoStatusChangedListener {
private fun showDialog(context: Context) {
try {
if (ActivityLifecycleManager.getInstance().isAppActive && AppUtils.isAppRunning(
- AppUtils.getAppPackageName()
- ) && ActivityUtils.getTopActivity() !is CheckActivity
+ AppUtils.getAppPackageName()
+ ) && ActivityUtils.getTopActivity() !is CheckActivity
) {
if (dialog != null) {
dialog!!.dismiss()
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 fbc0e30634..24a1e17378 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,10 +1,12 @@
package com.mogo.eagle.core.function.check.api;
+import com.mogo.eagle.core.function.check.net.CheckResultData;
+
/**
* @author liujing
* @description 自车检测结果回调
* @since: 9/28/21
*/
public interface ICheckResultCallBack {
- void callBackWithErrorState(Integer state);
+ void callBackWithCheckData(CheckResultData data);
}
diff --git a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/net/CheckNetWork.kt b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/net/CheckNetWork.kt
new file mode 100644
index 0000000000..5d2703522e
--- /dev/null
+++ b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/net/CheckNetWork.kt
@@ -0,0 +1,42 @@
+package com.mogo.eagle.core.function.check.net
+
+import android.content.Context
+import android.util.Log
+import com.elegant.network.ParamsBuilder
+import com.mogo.cloud.passport.MoGoAiCloudClientConfig
+import com.mogo.commons.network.SubscribeImpl
+import com.mogo.eagle.core.function.check.api.ICheckResultCallBack
+import com.mogo.eagle.core.function.check.view.CheckActivity
+import com.mogo.eagle.core.utilcode.util.ThreadUtils
+import com.mogo.utils.network.RequestOptions
+import io.reactivex.android.schedulers.AndroidSchedulers
+import io.reactivex.schedulers.Schedulers
+
+/**
+ * @author liujing
+ * @description 自测检测网络请求类
+ * @since: 10/12/21
+ */
+
+object CheckNetWork {
+ //网络请求,获取自车检测结果(工控机上报云端)
+ fun checkNetWork(context: Context, callbackFlow: ICheckResultCallBack) {
+ val params = ParamsBuilder.of(false)
+ .append("sn", MoGoAiCloudClientConfig.getInstance().sn)
+ .build()
+ CheckApiServiceFactory.getDataApiService(context).loadMonitorDetail(params)
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(object : SubscribeImpl(RequestOptions.create(context)) {
+ override fun onSuccess(o: CheckResultData) {
+ super.onSuccess(o)
+ ThreadUtils.runOnUiThread { callbackFlow?.callBackWithCheckData(o) }
+ }
+
+ override fun onError(message: String, code: Int) {
+ super.onError(message, code)
+ }
+ })
+ }
+
+}
\ 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/view/CheckActivity.java b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckActivity.java
index 8bb7658383..95df8de329 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
@@ -23,6 +23,7 @@ import com.mogo.commons.network.SubscribeImpl;
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.CheckNetWork;
import com.mogo.eagle.core.function.check.net.CheckResultData;
import com.mogo.eagle.core.utilcode.util.ThreadUtils;
import com.mogo.module.common.view.ImageViewClipBounds;
@@ -43,10 +44,8 @@ import io.reactivex.schedulers.Schedulers;
*/
public class CheckActivity extends AppCompatActivity {
- private static final String TAG = "CheckActivity";
private RecyclerView mRecyclerView;
private static CheckResultData sCheckResultData;
- private static NetworkStatusUtil.NetWorkStatus sNetWorkStatus;
private ImageView mImageView;
//车模
private ImageView scanBottomCarImage;
@@ -63,7 +62,7 @@ public class CheckActivity extends AppCompatActivity {
//进度条
private ProgressBar mProgressBar;
private final static long DURATION_TIME = 1000;
- private static CheckAdapter mCheckAdapter;
+ private CheckAdapter mCheckAdapter;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
@@ -76,8 +75,9 @@ public class CheckActivity extends AppCompatActivity {
protected void onStart() {
super.onStart();
animation();
- loadDetail(this.getApplicationContext(), null);
+ checkAction();
}
+
/**
* 列表View初始化
*/
@@ -102,47 +102,22 @@ public class CheckActivity extends AppCompatActivity {
mRecyclerView.setAdapter(mCheckAdapter);
}
- /**
- * 自动驾驶状态下指标监测
- */
- public static void checkMonitor(Context context, ICheckResultCallBack checkResultCallBack) {
- Log.d(TAG, "checkMonitor");
- loadDetail(context.getApplicationContext(), checkResultCallBack);
- }
-
- //网络请求,获取自车检测结果(工控机上报云端)
- 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)) {
+ private void checkAction() {
+ CheckNetWork.INSTANCE.checkNetWork(this.getApplicationContext(), new ICheckResultCallBack() {
+ @Override
+ public void callBackWithCheckData(CheckResultData data) {
+ Log.d("CheckActivity", "车辆自检结果是:" + data.toString());
+ ThreadUtils.runOnUiThread(new Runnable() {
@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);
+ public void run() {
+ if (data != null && mCheckAdapter != null) {
+ mCheckAdapter.mCheckResultData = data;
+ mCheckAdapter.notifyDataSetChanged();
+ }
}
});
-
+ }
+ });
}
/**
@@ -236,7 +211,7 @@ public class CheckActivity extends AppCompatActivity {
@Override
protected void onPause() {
super.onPause();
- if (mCheckAdapter!=null){
+ if (mCheckAdapter != null) {
mCheckAdapter.dismissDialog();
}
}
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 0132954fd9..be0778ee09 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
@@ -4,6 +4,11 @@ import android.content.Context;
import com.alibaba.android.arouter.facade.template.IProvider;
+import org.jetbrains.annotations.NotNull;
+
+import kotlin.Unit;
+import kotlin.jvm.functions.Function0;
+
/**
* 检测接口
*/
diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/statusmanager/IMogoStatusChangedListener.java b/services/mogo-service-api/src/main/java/com/mogo/service/statusmanager/IMogoStatusChangedListener.java
index 908af22c34..57725a5a56 100644
--- a/services/mogo-service-api/src/main/java/com/mogo/service/statusmanager/IMogoStatusChangedListener.java
+++ b/services/mogo-service-api/src/main/java/com/mogo/service/statusmanager/IMogoStatusChangedListener.java
@@ -1,5 +1,10 @@
package com.mogo.service.statusmanager;
+import org.jetbrains.annotations.NotNull;
+
+import kotlin.Unit;
+import kotlin.jvm.functions.Function0;
+
/**
* @author congtaowang
* @since 2020-01-04
@@ -13,4 +18,5 @@ public interface IMogoStatusChangedListener {
* @param isTrue true - accOn、adas ui show、voice ui show、push ui show、v2x ui show
*/
void onStatusChanged( StatusDescriptor descriptor, boolean isTrue );
+
}