diff --git a/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/constant/BusPassengerConst.kt b/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/constant/BusPassengerConst.kt index 38f614a10b..8d8bc5d97f 100644 --- a/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/constant/BusPassengerConst.kt +++ b/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/constant/BusPassengerConst.kt @@ -44,5 +44,7 @@ class BusPassengerConst { // 订单总里程 const val BUS_SP_KEY_ORDER_SUM_DIS = "BUS_SP_KEY_ORDER_SUM_DIS" + + const val QUERY_BUS_P_STATION_DELAY = 5 * 1000L } } \ No newline at end of file diff --git a/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/model/BusPassengerModel.java b/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/model/BusPassengerModel.java index 64830672fe..9a5fe1584f 100644 --- a/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/model/BusPassengerModel.java +++ b/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/model/BusPassengerModel.java @@ -4,6 +4,8 @@ import android.content.Context; import android.content.Intent; import android.location.Location; import android.net.ConnectivityManager; +import android.os.Handler; +import android.os.Message; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -56,6 +58,7 @@ import mogo_msg.MogoReportMsg; import system_master.SystemStatusInfo; import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_BUS_P; +import static com.mogo.och.bus.passenger.constant.BusPassengerConst.QUERY_BUS_P_STATION_DELAY; import static com.mogo.och.bus.passenger.constant.BusPassengerConst.STATION_STATUS_STOPPED; /** @@ -88,6 +91,18 @@ public class BusPassengerModel { private int mNextStationIndex = 0;// 要到达站的index private List mTwoStationsRouts = new ArrayList<>(); + private static final int MSG_QUERY_BUS_P_STATION = 1001; + private final Handler handler = new Handler(new Handler.Callback() { + @Override + public boolean handleMessage(Message msg) { + if ( msg.what == MSG_QUERY_BUS_P_STATION ) { + queryDriverOperationStatus(); + return true; + } + return false; + } + }); + private BusPassengerModel() { } @@ -106,6 +121,10 @@ public class BusPassengerModel { this.mRouteLineInfoCallback = callback; } + private void queryDriverOperationDelay() { + handler.sendEmptyMessageDelayed( MSG_QUERY_BUS_P_STATION, QUERY_BUS_P_STATION_DELAY ); + } + private void queryDriverOperationStatus() { BusPassengerServiceManager.getInstance().queryDriverOperationStatus(mContext , new BusPassengerServiceCallback() { @@ -121,7 +140,8 @@ public class BusPassengerModel { @Override public void onFail(int code, String msg) { - queryDriverOperationStatus(); + //延迟3s再次查询 + queryDriverOperationDelay(); } }); } diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/utils/AnimatorDrawableUtil.java b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/utils/AnimatorDrawableUtil.java index bbf9d779eb..513bfa6c34 100644 --- a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/utils/AnimatorDrawableUtil.java +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/utils/AnimatorDrawableUtil.java @@ -35,7 +35,7 @@ public class AnimatorDrawableUtil { //图片资源的ID列表 private List mResourceIdList = null; //定时任务器 - private Timer mTimer = null; + private final Timer mTimer = new Timer(); //定时任务 private AnimTimerTask mTimeTask = null; //记录播放位置 @@ -44,7 +44,7 @@ public class AnimatorDrawableUtil { private boolean isLooping = false; public AnimatorDrawableUtil() { - mTimer = new Timer(); +// mTimer = new Timer(); } /** @@ -139,18 +139,25 @@ public class AnimatorDrawableUtil { */ public void start(boolean loop, int duration, AnimationLisenter lisenter) { this.lisenter = lisenter; - stop(); +// stop(); if (mResourceIdList == null || mResourceIdList.size() == 0) { return; } - if (mTimer == null) { - mTimer = new Timer(); +// if (mTimer == null) { +// mTimer = new Timer(); +// } + try { + isLooping = loop; + mFrameIndex = 0; + mState = STATE_RUNNING; + if (mTimeTask != null){ + return; + } + mTimeTask = new AnimTimerTask(); + mTimer.schedule(mTimeTask, 0, duration); + }catch (Exception e){ + e.printStackTrace(); } - isLooping = loop; - mFrameIndex = 0; - mState = STATE_RUNNING; - mTimeTask = new AnimTimerTask(); - mTimer.schedule(mTimeTask, 0, duration); if (lisenter != null){ lisenter.startAnimation(); } @@ -163,7 +170,7 @@ public class AnimatorDrawableUtil { if (mTimer != null) { mTimer.purge(); mTimer.cancel(); - mTimer = null; +// mTimer = null; } if (mTimeTask != null) { mFrameIndex = 0; diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.java index 06ce8ec0f4..c3070eb0ba 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.java +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.java @@ -67,7 +67,10 @@ import java.util.Collections; import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.TimeUnit; +import io.reactivex.Observable; +import io.reactivex.disposables.Disposable; import io.reactivex.exceptions.UndeliverableException; import io.reactivex.functions.Consumer; import io.reactivex.plugins.RxJavaPlugins; @@ -108,6 +111,9 @@ public class TaxiPassengerModel implements IOCHTaxiPassengerNaviChangedCallback private ITaxiPassengerVeloctityCallback mVeloctityCallback;//道路限速返回 + private Disposable subscribe; + private int delayTime = 2; + private double mLongitude, mLatitude; private List mLocationsModels = new ArrayList<>(); @@ -209,6 +215,9 @@ public class TaxiPassengerModel implements IOCHTaxiPassengerNaviChangedCallback startOrStopOrderLoop(false); startOrStopQueryOrderRemaining(false); releaseListeners(); + if(subscribe!=null&&!subscribe.isDisposed()){ + subscribe.dispose(); + } } private void initListeners() { @@ -720,13 +729,17 @@ public class TaxiPassengerModel implements IOCHTaxiPassengerNaviChangedCallback startOrStopRouteAndWipe(true); } }else { - queryOrderRouteList(); + subscribe = Observable.timer(delayTime, TimeUnit.SECONDS).subscribe(aLong -> { + queryOrderRouteList(); + }); } } @Override public void onFail(int code, String msg) { - queryOrderRouteList(); + subscribe = Observable.timer(delayTime, TimeUnit.SECONDS).subscribe(aLong -> { + queryOrderRouteList(); + }); } }); } diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/TaxiPassengerServingOrderPresenter.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/TaxiPassengerServingOrderPresenter.java index 48cb45f36e..089dee2fc9 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/TaxiPassengerServingOrderPresenter.java +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/TaxiPassengerServingOrderPresenter.java @@ -24,11 +24,8 @@ import com.mogo.och.taxi.passenger.model.TaxiPassengerGeocodeSearchModel; import com.mogo.och.taxi.passenger.model.TaxiPassengerModel; import com.mogo.och.taxi.passenger.ui.TaxiPassengerServingOrderFragment; -import java.util.ArrayList; import java.util.List; -import mogo.telematics.pad.MessagePad; - import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI_P; /** @@ -54,9 +51,11 @@ public class TaxiPassengerServingOrderPresenter extends Presenter mView.onCarLocationChanged(location)); + long currentTimeMillis = System.currentTimeMillis(); + if(currentTimeMillis-startTime implements ITaxiADASS private static final String TAG = TaxiPresenter.class.getSimpleName(); private boolean isFirstShow = true; + private int preAutopilotStatus = 0; public TaxiPresenter(TaxiFragment view) { super(view); @@ -191,24 +192,30 @@ public class TaxiPresenter extends Presenter implements ITaxiADASS public void onAutopilotEnable() { runOnUIThread(() -> mView.updateAutopilotStatus( IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_ENABLE)); + preAutopilotStatus = IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_ENABLE; } @Override public void onAutopilotDisable() { runOnUIThread(() -> mView.updateAutopilotStatus( IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE)); + preAutopilotStatus = IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE; } @Override public void onAutopilotRunning() { - runOnUIThread(() -> mView.updateAutopilotStatus( - IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING)); + if (preAutopilotStatus != IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING){ + runOnUIThread(() -> mView.updateAutopilotStatus( + IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING)); + } + preAutopilotStatus = IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING; } @Override public void onManMachineCoDriving() { runOnUIThread(() -> mView.onManMachineCoDriving(IMoGoAutopilotStatusListener.STATUS_PARALLEL_DRIVING)); + preAutopilotStatus = IMoGoAutopilotStatusListener.STATUS_PARALLEL_DRIVING; } @Override diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/TaxiFragment.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/TaxiFragment.java index 319bcc9533..305a7372c8 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/TaxiFragment.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/TaxiFragment.java @@ -396,8 +396,8 @@ public class TaxiFragment extends BaseTaxiTabFragment { - mPresenter.queryLoginStatus(); taxiLoginDialogFragment.clear(); + mPresenter.queryLoginStatus(); }); } } diff --git a/app/build.gradle b/app/build.gradle index ba5a04b45f..ec88716351 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -16,6 +16,11 @@ if (!isAndroidTestBuild()) { logLevel "DEBUG" } } + +if (!isAndroidTestBuild()) { + apply plugin: 'bytex.notsticky.service' +} + if (!isAndroidTestBuild()) { apply plugin: 'chain.log.hook' hooklog{ @@ -34,7 +39,6 @@ if (!isAndroidTestBuild()) { enable true enableInDebug true logLevel "DEBUG" - threadNameMaxLength 1000 //白名单中的类不进行替换 white_list = [ 'leakcanary.*', diff --git a/build.gradle b/build.gradle index 92779969b6..e65d1be81d 100644 --- a/build.gradle +++ b/build.gradle @@ -32,9 +32,10 @@ buildscript { classpath "com.bytedance.android.byteX:base-plugin:0.3.0" classpath "com.mogo.cloud:hook:${HOOK_LOG_VERSION}" classpath 'com.volcengine:apm_insight_plugin:1.4.1' - classpath 'com.mogo.thread.opt:plg:2.1.3' + classpath 'com.mogo.thread.opt:plg:2.1.6' classpath 'com.mogo.cloud:systrace:1.0.1' classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.18' + classpath 'com.mogo.sticky:service:1.0.8' // classpath ("com.tencent.matrix:matrix-gradle-plugin:0.6.6") { changing = true } } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/tools/AutoPilotAndCheckView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/tools/AutoPilotAndCheckView.kt index 88e1bf6b31..2dc8c466e2 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/tools/AutoPilotAndCheckView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/tools/AutoPilotAndCheckView.kt @@ -2,10 +2,11 @@ package com.mogo.eagle.core.function.hmi.ui.tools import android.annotation.SuppressLint import android.content.Context +import android.content.Intent import android.graphics.Color import android.graphics.drawable.ColorDrawable +import android.os.Process import android.util.AttributeSet -import android.util.Log import android.view.LayoutInflater import android.view.View import android.widget.FrameLayout @@ -29,6 +30,7 @@ import com.mogo.eagle.core.utilcode.util.UiThreadHandler import kotlinx.android.synthetic.main.view_auto_pilot_check.view.* import mogo.telematics.pad.MessagePad import org.greenrobot.eventbus.EventBus +import kotlin.system.exitProcess /** * @author ChenFufeng @@ -97,6 +99,9 @@ class AutoPilotAndCheckView @JvmOverloads constructor( ivCloseIcon.setOnClickListener { clickListener?.onClose(it) } + rlKillLayout.setOnClickListener { + killApp() + } viewCheckStatus.setOnClickListener { clickListener?.go2CheckPage() } @@ -170,6 +175,16 @@ class AutoPilotAndCheckView @JvmOverloads constructor( } } + private fun killApp() { + Intent(Intent.ACTION_MAIN).apply { + addCategory(Intent.CATEGORY_HOME) + flags = Intent.FLAG_ACTIVITY_NEW_TASK + context.startActivity(this) + Process.killProcess(Process.myPid()) + exitProcess(0) + } + } + fun setClickListener(clickListener: ClickListener) { this.clickListener = clickListener } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/service/MogoMainService.java b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/service/MogoMainService.java index 3e9ac110d3..c8c2bd0bad 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/service/MogoMainService.java +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/service/MogoMainService.java @@ -67,7 +67,7 @@ class MogoMainService extends Service implements IMogoLocationListener { @Override public int onStartCommand(Intent intent, int flags, int startId) { - return START_STICKY; + return START_NOT_STICKY; } private void initAndStartLocation() { diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xxhdpi/close_nor.png b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xxhdpi/close_nor.png new file mode 100644 index 0000000000..2e2017cb27 Binary files /dev/null and b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xxhdpi/close_nor.png differ diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_auto_pilot_check.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_auto_pilot_check.xml index 1173d0e572..88f719956b 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_auto_pilot_check.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_auto_pilot_check.xml @@ -107,6 +107,31 @@ android:textSize="32px" /> + + + + + + + 3) { + for (index in 0 until 3) { + dockerVersionCode += + when (index) { + 0 -> { + it[index].substring(it[index].lastIndex) + } + it.size - 1 -> { + it[index].substring(0, 1) + } + else -> { + it[index] + } + } + } + } + } + val dockerVersion = + if (dockerVersionCode.isNotEmpty()) { + dockerVersionCode.toInt() + } else { + 0 + } + + if (dockerVersion >= 260) { + return true + } + return false + } + + fun getPrettyNumber(number: String): String { return BigDecimal.valueOf(number.toDouble()) .stripTrailingZeros().toPlainString() diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotPointCloudListener.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotPointCloudListener.kt index 8c4e0776a0..2cc349f35a 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotPointCloudListener.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotPointCloudListener.kt @@ -18,9 +18,4 @@ interface IMoGoAutopilotPointCloudListener { */ fun onAutopilotPointCloudDataUpdate(pointCloud: ByteArray?) - /** - * - */ - fun onAutopilotPointCloudDataUpdate(header: MessagePad.Header?, pointCloud: MogoPointCloudOuterClass.MogoPointCloud?) - } \ No newline at end of file diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutopilotPointCloudListenerManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutopilotPointCloudListenerManager.kt index 798aba4b33..d95ada7645 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutopilotPointCloudListenerManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutopilotPointCloudListenerManager.kt @@ -68,16 +68,4 @@ object CallerAutopilotPointCloudListenerManager : CallerBase() { } } - /** - * 点云数据 回调 - */ - @Synchronized - fun invokeAutopilotPointCloudDataUpdate(header: MessagePad.Header?, pointCloud: MogoPointCloudOuterClass.MogoPointCloud?) { - M_POINT_CLOUD_LISTENERS.forEach { - val tag = it.key - val listener = it.value - listener.onAutopilotPointCloudDataUpdate(header, pointCloud) - } - } - } \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index bc471979c6..a0f811cf43 100644 --- a/gradle.properties +++ b/gradle.properties @@ -63,23 +63,23 @@ SERVICE_CHAIN_VERSION=1.1.0 LOGLIB_VERSION=1.3.38 ######## MogoAiCloudSDK Version ######## # 网络请求LOGLIB_VERSION -MOGO_NETWORK_VERSION=1.4.3.23 +MOGO_NETWORK_VERSION=1.4.3.26 # 鉴权 -MOGO_PASSPORT_VERSION=1.4.3.23 +MOGO_PASSPORT_VERSION=1.4.3.26 # 常链接 -MOGO_SOCKET_VERSION=1.4.3.23 +MOGO_SOCKET_VERSION=1.4.3.26 # 数据采集 -MOGO_REALTIME_VERSION=1.4.3.23 +MOGO_REALTIME_VERSION=1.4.3.26 # 探路,道路事件发布,获取 -MOGO_TANLU_VERSION=1.4.3.23 +MOGO_TANLU_VERSION=1.4.3.26 # 直播推流 -MOGO_LIVE_VERSION=1.4.3.23 +MOGO_LIVE_VERSION=1.4.3.26 # 直播拉流 -MOGO_TRAFFICLIVE_VERSION=1.4.3.23 +MOGO_TRAFFICLIVE_VERSION=1.4.3.26 # 定位服务 -MOGO_LOCATION_VERSION=1.4.3.23 +MOGO_LOCATION_VERSION=1.4.3.26 # 远程通讯模块 -MOGO_TELEMATIC_VERSION=1.4.3.23 +MOGO_TELEMATIC_VERSION=1.4.3.26 ######## MogoAiCloudSDK Version ######## # 自研地图 MAP_SDK_VERSION=2.4.2.3