From 6276c5778499a6f27f875663d99a08ce021adc7d Mon Sep 17 00:00:00 2001 From: renwj Date: Fri, 9 Sep 2022 17:08:38 +0800 Subject: [PATCH] =?UTF-8?q?[CodeFix]=E4=BC=98=E5=8C=96=E5=B7=A5=E6=8E=A7?= =?UTF-8?q?=E6=9C=BA=E7=8A=B6=E6=80=81=E4=B8=8A=E4=BC=A0=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MoGoAdasMsgConnectStatusListenerImpl.kt | 29 ++++++++++--------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/adapter/MoGoAdasMsgConnectStatusListenerImpl.kt b/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/adapter/MoGoAdasMsgConnectStatusListenerImpl.kt index 52271dd4ab..0029d8a55e 100644 --- a/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/adapter/MoGoAdasMsgConnectStatusListenerImpl.kt +++ b/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/adapter/MoGoAdasMsgConnectStatusListenerImpl.kt @@ -22,11 +22,9 @@ import com.zhidao.support.adas.high.common.Constants import com.zhidao.support.adas.high.common.Constants.ENVIRONMENT.* import com.zhidao.support.adas.high.common.Constants.TERMINAL_ROLE.DRIVER import com.zhidao.support.adas.high.common.Constants.TERMINAL_ROLE.PASSENGER -import io.reactivex.Flowable -import io.reactivex.android.schedulers.AndroidSchedulers -import io.reactivex.schedulers.Schedulers import mogo.telematics.pad.MessagePad -import java.util.concurrent.TimeUnit +import java.util.* +import java.util.concurrent.atomic.* /** * ADAS-SDK与工控机连接状态回调 @@ -43,6 +41,10 @@ class MoGoAdasMsgConnectStatusListenerImpl : OnAdasConnectStatusListener, private var connectStatus = false + private val hasUploadTaskLaunched by lazy { AtomicBoolean(false) } + + private val timer = Timer() + init { CallerCloudListenerManager.registerCloudListener(TAG, this) } @@ -167,15 +169,16 @@ class MoGoAdasMsgConnectStatusListenerImpl : OnAdasConnectStatusListener, */ @SuppressLint("CheckResult") private fun updateDriveStatusTask() { - CallerLogger.d("$M_ADAS_IMPL$TAG", "updateDriveStatusTask") - Flowable.interval(0, 5, TimeUnit.SECONDS) - .subscribeOn(Schedulers.io()) - .unsubscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .subscribe { - AdasServiceModel.getInstance() - .updateDriveStatus(mCurrentAutopilotStatus, mCurrentAutopilotSpeed) - } + if (hasUploadTaskLaunched.compareAndSet(false, true)) { + timer.schedule(object : TimerTask() { + override fun run() { + CallerLogger.d("$M_ADAS_IMPL$TAG", "updateDriveStatusTask") + AdasServiceModel.getInstance() + .updateDriveStatus(mCurrentAutopilotStatus, mCurrentAutopilotSpeed) + } + }, 0, 5000) + } + } override fun tokenGot(sn: String) {