From 94313da4bbc0da9b79715a0683bdde7c026eb636 Mon Sep 17 00:00:00 2001 From: zhongchao Date: Mon, 5 Jul 2021 22:45:41 +0800 Subject: [PATCH] fix bug --- .../mogo/module/adas/AdasEventManager.java | 31 +++++++++---------- .../com/mogo/module/adas/AdasProvider.java | 7 +++-- .../module/adas/IAdasProviderBizListener.java | 6 ++++ ...Listener.java => IAdasStatusListener.java} | 2 +- .../service/impl/adas/MogoADASController.java | 11 ++----- 5 files changed, 28 insertions(+), 29 deletions(-) create mode 100644 modules/mogo-module-adas/src/main/java/com/mogo/module/adas/IAdasProviderBizListener.java rename modules/mogo-module-adas/src/main/java/com/mogo/module/adas/{AdasStatusListener.java => IAdasStatusListener.java} (78%) diff --git a/modules/mogo-module-adas/src/main/java/com/mogo/module/adas/AdasEventManager.java b/modules/mogo-module-adas/src/main/java/com/mogo/module/adas/AdasEventManager.java index aada7b2ae4..434c6a5579 100644 --- a/modules/mogo-module-adas/src/main/java/com/mogo/module/adas/AdasEventManager.java +++ b/modules/mogo-module-adas/src/main/java/com/mogo/module/adas/AdasEventManager.java @@ -1,6 +1,5 @@ package com.mogo.module.adas; -import com.alibaba.android.arouter.launcher.ARouter; import com.google.gson.Gson; import com.mogo.cloud.passport.MoGoAiCloudClientConfig; import com.mogo.commons.data.BaseData; @@ -33,9 +32,7 @@ import java.util.concurrent.TimeUnit; import io.reactivex.Flowable; import io.reactivex.android.schedulers.AndroidSchedulers; -import io.reactivex.annotations.NonNull; import io.reactivex.disposables.Disposable; -import io.reactivex.functions.Consumer; import io.reactivex.schedulers.Schedulers; import okhttp3.MediaType; import okhttp3.RequestBody; @@ -55,9 +52,8 @@ public class AdasEventManager implements OnAdasListener, OnAdasMsgConnectStatusL private final Gson gson; private final ArrayList iAdasEventListeners = new ArrayList<>(); - private final ArrayList iAdasStatusListeners = new ArrayList<>(); + private final ArrayList iAdasStatusListeners = new ArrayList<>(); private final IAdasApiService mAdasApiService; - //private final AdasProvider adasProvider; private Disposable uploadAutopilotStatus; //自动驾驶状态 private int mCurrentAutopilotStatus = -1; @@ -67,10 +63,11 @@ public class AdasEventManager implements OnAdasListener, OnAdasMsgConnectStatusL //自动驾驶状态 private AutopilotStatus.ValuesBean mAutopilotValuesStatus = null; + private IAdasProviderBizListener providerBizListener; + private AdasEventManager() { gson = GsonUtil.getGson(); mAdasApiService = MogoApisHandler.getInstance().getApis().getNetworkApi().create(IAdasApiService.class, getBaseUrl()); - //adasProvider = ARouter.getInstance().navigation(AdasProvider.class); } public static AdasEventManager getInstance() { @@ -97,7 +94,7 @@ public class AdasEventManager implements OnAdasListener, OnAdasMsgConnectStatusL iAdasEventListeners.remove(listener); } - public void addStatusListener(AdasStatusListener listener) { + public void addStatusListener(IAdasStatusListener listener) { Logger.d(TAG, "添加adas状态事件监听"); if (iAdasStatusListeners.contains(listener)) { return; @@ -105,7 +102,7 @@ public class AdasEventManager implements OnAdasListener, OnAdasMsgConnectStatusL iAdasStatusListeners.add(listener); } - public void removeStatusListener(AdasStatusListener listener) { + public void removeStatusListener(IAdasStatusListener listener) { Logger.d(TAG, "注销adas状态事件监听"); iAdasStatusListeners.remove(listener); } @@ -252,17 +249,17 @@ public class AdasEventManager implements OnAdasListener, OnAdasMsgConnectStatusL @Override public void onAutopilotSNRequest() { -// if (adasProvider != null) { -// adasProvider.setBasicInfo(); -// } else { -// Logger.e(TAG, "onAutopilotSNRequest adasProvider is null"); -// } + if (providerBizListener != null) { + providerBizListener.getDeviceSn(); + } else { + Logger.e(TAG, "onAutopilotSNRequest providerBizListener is null"); + } } @Override public void onWebSocketConnectSuccess() { Logger.d(TAG, "webSocket 连接成功"); - for (AdasStatusListener listener : iAdasStatusListeners) { + for (IAdasStatusListener listener : iAdasStatusListeners) { listener.onServiceConnected(); } updateDriveStatusTask(); @@ -271,7 +268,7 @@ public class AdasEventManager implements OnAdasListener, OnAdasMsgConnectStatusL @Override public void onWebSocketConnectFailed() { Logger.d(TAG, "webSocket 连接失败"); - for (AdasStatusListener listener : iAdasStatusListeners) { + for (IAdasStatusListener listener : iAdasStatusListeners) { listener.onServiceDisconnected(); } } @@ -349,5 +346,7 @@ public class AdasEventManager implements OnAdasListener, OnAdasMsgConnectStatusL return adasAIDLAutopilotStateModel; } - + public void setProviderBizListener(IAdasProviderBizListener listener){ + providerBizListener = listener; + } } diff --git a/modules/mogo-module-adas/src/main/java/com/mogo/module/adas/AdasProvider.java b/modules/mogo-module-adas/src/main/java/com/mogo/module/adas/AdasProvider.java index 29f6e441a5..7f1837a0b1 100644 --- a/modules/mogo-module-adas/src/main/java/com/mogo/module/adas/AdasProvider.java +++ b/modules/mogo-module-adas/src/main/java/com/mogo/module/adas/AdasProvider.java @@ -31,7 +31,7 @@ public class AdasProvider implements IProvider { initAdas(context, adasEventManager); initAutoPilotBusiness(context); - addAdasStatusListener(new AdasStatusListener() { + addAdasStatusListener(new IAdasStatusListener() { @Override public void onServiceConnected() { Logger.d(TAG, "adas statusListener connected & send sn"); @@ -49,6 +49,7 @@ public class AdasProvider implements IProvider { AdasManager.getInstance().create(context); AdasManager.getInstance().setOnAdasListener(adasEventManager); AdasManager.getInstance().setOnAdasConnectStatusListener(adasEventManager); + adasEventManager.setProviderBizListener(this::setBasicInfo); } private void initAutoPilotBusiness(Context context) { @@ -73,11 +74,11 @@ public class AdasProvider implements IProvider { adasEventManager.removeEventListener(listener); } - public void addAdasStatusListener(AdasStatusListener listener) { + public void addAdasStatusListener(IAdasStatusListener listener) { adasEventManager.addStatusListener(listener); } - public void removeAdasStatusListener(AdasStatusListener listener) { + public void removeAdasStatusListener(IAdasStatusListener listener) { adasEventManager.removeStatusListener(listener); } diff --git a/modules/mogo-module-adas/src/main/java/com/mogo/module/adas/IAdasProviderBizListener.java b/modules/mogo-module-adas/src/main/java/com/mogo/module/adas/IAdasProviderBizListener.java new file mode 100644 index 0000000000..5d27ff7454 --- /dev/null +++ b/modules/mogo-module-adas/src/main/java/com/mogo/module/adas/IAdasProviderBizListener.java @@ -0,0 +1,6 @@ +package com.mogo.module.adas; + +public interface IAdasProviderBizListener { + + void getDeviceSn(); +} diff --git a/modules/mogo-module-adas/src/main/java/com/mogo/module/adas/AdasStatusListener.java b/modules/mogo-module-adas/src/main/java/com/mogo/module/adas/IAdasStatusListener.java similarity index 78% rename from modules/mogo-module-adas/src/main/java/com/mogo/module/adas/AdasStatusListener.java rename to modules/mogo-module-adas/src/main/java/com/mogo/module/adas/IAdasStatusListener.java index 801f9be509..06d3c91dd0 100644 --- a/modules/mogo-module-adas/src/main/java/com/mogo/module/adas/AdasStatusListener.java +++ b/modules/mogo-module-adas/src/main/java/com/mogo/module/adas/IAdasStatusListener.java @@ -3,7 +3,7 @@ package com.mogo.module.adas; /** * Created by XuYong on 4/28/21 16:19 */ -public interface AdasStatusListener { +public interface IAdasStatusListener { void onServiceConnected(); diff --git a/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java b/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java index 09a944955c..f13512500b 100644 --- a/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java +++ b/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java @@ -7,7 +7,6 @@ import android.os.Handler; import android.os.Message; import android.text.TextUtils; import android.util.Log; -import android.widget.Toast; import com.alibaba.android.arouter.facade.annotation.Route; import com.alibaba.android.arouter.launcher.ARouter; @@ -18,7 +17,7 @@ import com.mogo.commons.network.SubscribeImpl; import com.mogo.map.MogoLatLng; import com.mogo.map.uicontroller.EnumMapUI; import com.mogo.module.adas.AdasProvider; -import com.mogo.module.adas.AdasStatusListener; +import com.mogo.module.adas.IAdasStatusListener; import com.mogo.module.adas.IAdasDataListener; import com.mogo.service.MogoServicePaths; import com.mogo.service.adas.IMogoADASController; @@ -67,14 +66,8 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.concurrent.CopyOnWriteArrayList; -import java.util.concurrent.TimeUnit; -import io.reactivex.Observable; -import io.reactivex.disposables.Disposable; import io.reactivex.schedulers.Schedulers; -import rx.android.schedulers.AndroidSchedulers; - -import static rx.android.schedulers.AndroidSchedulers.mainThread; /** * @author congtaowang @@ -338,7 +331,7 @@ public class MogoADASController implements IMogoADASController { // } Logger.d(TAG, Log.getStackTraceString(new Throwable())); init(AbsMogoApplication.getApp()); - adasProvider.addAdasStatusListener(new AdasStatusListener() { + adasProvider.addAdasStatusListener(new IAdasStatusListener() { @Override public void onServiceConnected() { Logger.d(TAG, "adas statusListener connected");