From d5cdbed9fbf4b8e55ad61f13010ea8c5a5fda39e Mon Sep 17 00:00:00 2001 From: chenfufeng Date: Wed, 28 Dec 2022 13:56:40 +0800 Subject: [PATCH] =?UTF-8?q?[Fix]=E8=A7=A3=E5=86=B3lineId=E6=9C=AA=E8=B5=8B?= =?UTF-8?q?=E5=80=BC=E6=97=B6=E4=B8=8D=E8=BF=9B=E8=A1=8C=E8=AF=B7=E6=B1=82?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../function/overview/vm/OverViewModel.kt | 41 ++++++++++++++----- .../function/smp/OverviewMapFragment.java | 13 ++---- 2 files changed, 33 insertions(+), 21 deletions(-) diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/overview/vm/OverViewModel.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/overview/vm/OverViewModel.kt index 8de6cf1fcc..eb67733969 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/overview/vm/OverViewModel.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/overview/vm/OverViewModel.kt @@ -3,6 +3,7 @@ package com.mogo.eagle.core.function.overview.vm import androidx.lifecycle.* import com.mogo.commons.constants.HostConst import com.mogo.eagle.core.data.map.Infrastructure +import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager.getAutoPilotStatusInfo import com.mogo.eagle.core.function.overview.OverviewDao import com.mogo.eagle.core.function.overview.remote.OverViewServiceApi import com.mogo.eagle.core.function.overview.remote.V2XEvent @@ -74,23 +75,29 @@ class OverViewModel( } } - fun getAllV2XEventsByLineId(lineId: String, sn: String) { + fun getAllV2XEventsByLineId(sn: String) { if (disposable != null && !disposable!!.isDisposed) { disposable!!.dispose() } + // 1分钟查询一次 - disposable = Observable.interval(0, 60000, TimeUnit.MILLISECONDS) + disposable = Observable.interval(2000, 60000, TimeUnit.MILLISECONDS) .flatMap { - MoGoRetrofitFactory.getInstance(HostConst.getHost()) - .create(OverViewServiceApi::class.java) - .queryAllV2XEventsByLineId(lineId, sn) - .map { - if (it.code == 200 || it.code == 0) { - return@map it.result?.v2XEventList - } else { - return@map null + val lineId = getLineId() + if (lineId > 0) { + MoGoRetrofitFactory.getInstance(HostConst.getHost()) + .create(OverViewServiceApi::class.java) + .queryAllV2XEventsByLineId(lineId.toString(), sn) + .map { + if (it.code == 200 || it.code == 0) { + return@map it.result?.v2XEventList + } else { + return@map ArrayList() + } } - } + } else { + Observable.just(ArrayList()) + } } .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) @@ -106,4 +113,16 @@ class OverViewModel( fun stopQueryV2XEvents() { disposable?.dispose() } + + private fun getLineId(): Long { + var lineId: Long = -1 + val parameter = getAutoPilotStatusInfo() + .autopilotControlParameters + if (parameter != null) { + if (parameter.autoPilotLine != null) { + lineId = parameter.autoPilotLine!!.lineId + } + } + return lineId + } } \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/OverviewMapFragment.java b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/OverviewMapFragment.java index 12b07a5c10..37ab1567d9 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/OverviewMapFragment.java +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/OverviewMapFragment.java @@ -2,7 +2,6 @@ package com.mogo.eagle.core.function.smp; import android.content.Context; import android.os.Bundle; -import android.os.Looper; import android.view.View; import androidx.annotation.Nullable; @@ -21,7 +20,6 @@ import com.mogo.eagle.core.function.map.R; import com.mogo.eagle.core.function.overview.InfStructureManager; import com.mogo.eagle.core.function.overview.ViewModelExtKt; import com.mogo.eagle.core.function.overview.vm.OverViewModel; -import com.mogo.eagle.core.utilcode.util.UiThreadHandler; import java.util.List; @@ -81,9 +79,8 @@ public class OverviewMapFragment extends BaseFragment @Override public void startQueryV2XEvents() { if (isAdded()) { - long lineId = getLineId(); - if (lineId > 0 && mViewModel != null) { - mViewModel.getAllV2XEventsByLineId("" + lineId, MoGoAiCloudClientConfig.getInstance().getSn()); + if (mViewModel != null) { + mViewModel.getAllV2XEventsByLineId(MoGoAiCloudClientConfig.getInstance().getSn()); } } } @@ -130,11 +127,7 @@ public class OverviewMapFragment extends BaseFragment mViewModel.getV2XEventLiveData().observe(this.getViewLifecycleOwner(), v2XEvents -> { mAMapCustomView.showV2XEventMarkers(v2XEvents); }); - - long lineId = getLineId(); - if (lineId > 0) { - mViewModel.getAllV2XEventsByLineId("" + lineId, MoGoAiCloudClientConfig.getInstance().getSn()); - } + mViewModel.getAllV2XEventsByLineId(MoGoAiCloudClientConfig.getInstance().getSn()); } /**