From 4fdbe43caeea2215a2285c4d551a9277aaddb3e1 Mon Sep 17 00:00:00 2001 From: renwj Date: Tue, 14 Mar 2023 23:12:09 +0800 Subject: [PATCH 01/20] =?UTF-8?q?[dev=5Farch=5Fopt=5F3.0]=20=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E9=80=BB=E8=BE=91=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 5 +-- .../launcher/lancet/ObjectHashCodeProxy.java | 38 ------------------- .../launcher/lancet/TextViewSetTextOpt.java | 4 +- .../utilcode/util/ObjectHashCodeUtils.java | 28 ++++++++++++++ .../eagle/core/utilcode/util/ThreadUtils.java | 4 +- .../core/utilcode/util/UiThreadHandler.java | 6 +-- 6 files changed, 36 insertions(+), 49 deletions(-) delete mode 100644 app/src/main/java/com/mogo/launcher/lancet/ObjectHashCodeProxy.java create mode 100644 core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/ObjectHashCodeUtils.java diff --git a/app/build.gradle b/app/build.gradle index 7015ee7a02..fc132b3b79 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -64,10 +64,7 @@ if (!isAndroidTestBuild()) { memory_leak { enable true } - object_hashcode { - enable true - } - TextView_setTextProxy { + textview_opt { enable true } } diff --git a/app/src/main/java/com/mogo/launcher/lancet/ObjectHashCodeProxy.java b/app/src/main/java/com/mogo/launcher/lancet/ObjectHashCodeProxy.java deleted file mode 100644 index 428a52158a..0000000000 --- a/app/src/main/java/com/mogo/launcher/lancet/ObjectHashCodeProxy.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.mogo.launcher.lancet; - -import androidx.annotation.Keep; -import com.knightboost.lancet.api.Scope; -import com.knightboost.lancet.api.annotations.Group; -import com.knightboost.lancet.api.annotations.ImplementedInterface; -import com.knightboost.lancet.api.annotations.NameRegex; -import com.knightboost.lancet.api.annotations.ReplaceInvoke; -import com.knightboost.lancet.api.annotations.TargetClass; -import com.knightboost.lancet.api.annotations.TargetMethod; -import com.knightboost.lancet.api.annotations.Weaver; -import java.util.concurrent.ConcurrentHashMap; - -@Weaver -@Group("object_hashcode") -@Keep -public class ObjectHashCodeProxy { - - public static final ConcurrentHashMap hashCodes = new ConcurrentHashMap<>(); - - @NameRegex("(com\\.mogo\\.eagle\\.core\\.utilcode\\.util\\.ThreadUtils|com\\.mogo\\.eagle\\.core\\.utilcode\\.util\\.UiThreadHandler)") - @TargetClass(value = "java.lang.Object",scope = Scope.SELF) - @TargetMethod(methodName = "hashCode") - @ReplaceInvoke - public static int hashCodeProxy(Object r) { - Class clazz = r.getClass(); - String className = clazz.getName(); - if (hashCodes.containsKey(className)) { - Integer value = hashCodes.get(className); - if (value != null) { - return value; - } - } - int hashCode = System.identityHashCode(r); - hashCodes.put(className, hashCode); - return hashCode; - } -} diff --git a/app/src/main/java/com/mogo/launcher/lancet/TextViewSetTextOpt.java b/app/src/main/java/com/mogo/launcher/lancet/TextViewSetTextOpt.java index 0a0ed2611f..ad11c130cd 100644 --- a/app/src/main/java/com/mogo/launcher/lancet/TextViewSetTextOpt.java +++ b/app/src/main/java/com/mogo/launcher/lancet/TextViewSetTextOpt.java @@ -3,7 +3,6 @@ package com.mogo.launcher.lancet; import android.os.Looper; import android.util.Log; import android.widget.TextView; - import com.knightboost.lancet.api.Scope; import com.knightboost.lancet.api.annotations.Group; import com.knightboost.lancet.api.annotations.NameRegex; @@ -13,7 +12,7 @@ import com.knightboost.lancet.api.annotations.TargetMethod; import com.knightboost.lancet.api.annotations.Weaver; @Weaver -@Group("TextView_setTextProxy") +@Group("textview_opt") public class TextViewSetTextOpt { @NameRegex("(com\\.mogo|com\\.zhidao|com\\.elegant|com\\.zhidaoauto|com\\.zhjt).*") @@ -31,6 +30,7 @@ public class TextViewSetTextOpt { sb.setLength(sb.length() - 1); } Log.e("ALERT", sb.toString()); + return; } CharSequence old = view.getText(); if (old != null && !old.equals(text)) { diff --git a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/ObjectHashCodeUtils.java b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/ObjectHashCodeUtils.java new file mode 100644 index 0000000000..026c8fcef2 --- /dev/null +++ b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/ObjectHashCodeUtils.java @@ -0,0 +1,28 @@ +package com.mogo.eagle.core.utilcode.util; + +import java.util.concurrent.ConcurrentHashMap; + +/** + * 根据对象的类名,返回一致的hashCode + * 如果缓存中不存在,则创建hashCode并存入缓存 + * 如果缓存中存在,直接用缓存数据 + */ +public class ObjectHashCodeUtils { + + private static final ConcurrentHashMap hashCodes = new ConcurrentHashMap<>(); + + + public static int getHashCodeIfNeed(Object obj) { + if (obj == null) { + return -1; + } + String name = obj.getClass().getName(); + Integer value = hashCodes.get(name); + if (value != null) { + return value; + } + int hashCode = System.identityHashCode(obj); + hashCodes.put(name, hashCode); + return hashCode; + } +} diff --git a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/ThreadUtils.java b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/ThreadUtils.java index 40bc4cc367..42044644ee 100644 --- a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/ThreadUtils.java +++ b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/ThreadUtils.java @@ -66,7 +66,7 @@ public final class ThreadUtils { if (Looper.myLooper() == Looper.getMainLooper()) { r.run(); } else { - int what = r.hashCode(); + int what = ObjectHashCodeUtils.getHashCodeIfNeed(r); HANDLER.removeMessages(what); Message msg = Message.obtain(HANDLER, r); msg.what = what; @@ -75,7 +75,7 @@ public final class ThreadUtils { } public static void runOnUiThreadDelayed(final Runnable r, long delayMillis) { - int what = r.hashCode(); + int what = ObjectHashCodeUtils.getHashCodeIfNeed(r); HANDLER.removeMessages(what); Message msg = Message.obtain(HANDLER, r); msg.what = what; diff --git a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/UiThreadHandler.java b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/UiThreadHandler.java index b3a65e4f68..a8fc918cda 100644 --- a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/UiThreadHandler.java +++ b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/UiThreadHandler.java @@ -11,7 +11,7 @@ public class UiThreadHandler { private UiThreadHandler() { } public static boolean post( Runnable r ) { - int what = r.hashCode(); + int what = ObjectHashCodeUtils.getHashCodeIfNeed(r); sUiHandler.removeMessages(what); Message msg = Message.obtain(sUiHandler, r); msg.what = what; @@ -19,7 +19,7 @@ public class UiThreadHandler { } public static boolean postDelayed( Runnable r, long delayMillis ) { - int what = r.hashCode(); + int what = ObjectHashCodeUtils.getHashCodeIfNeed(r); sUiHandler.removeMessages(what); Message msg = Message.obtain(sUiHandler, r); msg.what = what; @@ -27,7 +27,7 @@ public class UiThreadHandler { } public static void removeCallbacks( Runnable r ) { - int what = r.hashCode(); + int what = ObjectHashCodeUtils.getHashCodeIfNeed(r); sUiHandler.removeMessages(what); } } \ No newline at end of file From cfb68aab8d563aac1d0fe9bc1c35865abe395e88 Mon Sep 17 00:00:00 2001 From: wangmingjun Date: Wed, 15 Mar 2023 13:57:49 +0800 Subject: [PATCH 02/20] =?UTF-8?q?[M2]=20=E5=8E=BB=E9=99=A4=E5=A4=9A?= =?UTF-8?q?=E4=BD=99=E8=A7=86=E9=A2=91=E5=B0=81=E9=9D=A2=E6=98=BE=E7=A4=BA?= =?UTF-8?q?/=E9=9A=90=E8=97=8F=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../passenger/ui/widget/video/AdvancePagerAdapter.kt | 12 ++++++------ .../passenger/ui/widget/video/AdvanceVideoView.kt | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvancePagerAdapter.kt b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvancePagerAdapter.kt index 241e37b44b..ebe522c6e0 100644 --- a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvancePagerAdapter.kt +++ b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvancePagerAdapter.kt @@ -148,12 +148,12 @@ class AdvancePagerAdapter(context: Context, viewPager: ViewPager) : PagerAdapter override fun onPrepared(url: String?, vararg objects: Any?) { Logger.d(ImageAndVideoRotation.TAG, "onPrepared--$url") - if (viewList[mViewPager.currentItem] is AdvanceVideoView){ - val videoView = (viewList[mViewPager.currentItem] as AdvanceVideoView) - UiThreadHandler.postDelayed(Runnable { - videoView.setCacheImageViewGone() - },1000) - } +// if (viewList[mViewPager.currentItem] is AdvanceVideoView){ +// val videoView = (viewList[mViewPager.currentItem] as AdvanceVideoView) +// UiThreadHandler.postDelayed(Runnable { +// videoView.setCacheImageViewGone() +// },1000) +// } } override fun onAutoComplete(url: String?, vararg objects: Any?) { diff --git a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvanceVideoView.kt b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvanceVideoView.kt index 1ea3cad537..92701d437f 100644 --- a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvanceVideoView.kt +++ b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvanceVideoView.kt @@ -103,7 +103,7 @@ class AdvanceVideoView @JvmOverloads constructor( // .into(it) // } videoViewPlayer?.thumbImageView = cacheImage - setCacheImageViewVisible() +// setCacheImageViewVisible() // } // } } From 5420019ecd30f5c55a8749f05b0691d9131834f2 Mon Sep 17 00:00:00 2001 From: chenfufeng Date: Wed, 15 Mar 2023 14:17:15 +0800 Subject: [PATCH 03/20] =?UTF-8?q?[m2][fix]=E5=A2=9E=E5=8A=A0=E7=94=BB?= =?UTF-8?q?=E7=BA=BF=E5=92=8C=E6=8E=A5=E6=94=B6=E5=AE=9A=E4=BD=8D=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E7=9A=84=E9=A2=91=E7=8E=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mogo/eagle/core/function/smp/MarkerDrawerManager.kt | 2 +- .../main/java/com/mogo/eagle/core/function/view/OverMapView.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/MarkerDrawerManager.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/MarkerDrawerManager.kt index 44d265137d..2ee7841930 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/MarkerDrawerManager.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/MarkerDrawerManager.kt @@ -39,7 +39,7 @@ object MarkerDrawerManager { fun startLoopCalCarLocation() { routeWipeDisposable = CompositeDisposable() - getLoopCalCarObservable().delay(1000L, TimeUnit.MILLISECONDS, true) + getLoopCalCarObservable().delay(500L, TimeUnit.MILLISECONDS, true) .subscribeOn(Schedulers.io()) .repeat() .retry() diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/OverMapView.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/OverMapView.kt index 3cef39a6a1..e3fb3283e0 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/OverMapView.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/OverMapView.kt @@ -261,7 +261,7 @@ class OverMapView @JvmOverloads constructor( CallerPlanningRottingListenerManager.addListener(TAG, this) initAMapView(context) // 注册定位监听 - CallerChassisLocationGCJ02ListenerManager.addListener(TAG, this) + CallerChassisLocationGCJ02ListenerManager.addListener(TAG, 20, this) //设置全览模式 overLayerView?.setOnClickListener { displayCustomOverView() } overLayerView?.let { From af8b173b683dda26211549b77d53fb99a24c8626 Mon Sep 17 00:00:00 2001 From: zhongchao Date: Wed, 15 Mar 2023 14:39:40 +0800 Subject: [PATCH 04/20] [2.13.0-arch-opt] fix bug of debugsettingview of sp is null --- .../mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt index b784faaac9..ca5137082f 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt @@ -1597,7 +1597,7 @@ internal class DebugSettingView @JvmOverloads constructor( tvAutopilotInfo.text = autopilotJson tvIpcInfo.text = autopilotJson tvIpcInfoKey.text = autopilotJson - tvCmdbCarInfoContent.text = SharedPrefsMgr.getInstance(context).getString(SharedPrefsConstants.CAR_INFO) + tvCmdbCarInfoContent.text = SharedPrefsMgr.getInstance(context).getString(SharedPrefsConstants.CAR_INFO)?:"" tvCarInfo.text = "GPS时间:${(mGnssInfo?.satelliteTime?.times(1000))?.toLong()}\n" + From af0faba1a792e3533d0e4cf2a138b7eb165539cf Mon Sep 17 00:00:00 2001 From: wangmingjun Date: Wed, 15 Mar 2023 15:27:10 +0800 Subject: [PATCH 05/20] =?UTF-8?q?[M2]=20=E8=A7=A3=E5=86=B3=E8=A7=86?= =?UTF-8?q?=E9=A2=91=E5=81=B6=E7=8E=B0=E6=9A=82=E5=81=9C=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ui/widget/video/AdvanceGSYVideoPlayer.kt | 3 ++- .../module/wigets/video/VideoPlayerView.kt | 16 ++++++++-------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvanceGSYVideoPlayer.kt b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvanceGSYVideoPlayer.kt index c8ab7939aa..d3244e8f7b 100644 --- a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvanceGSYVideoPlayer.kt +++ b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvanceGSYVideoPlayer.kt @@ -45,7 +45,8 @@ class AdvanceGSYVideoPlayer: StandardGSYVideoPlayer { override fun changeUiToPauseShow() { Logger.d(ImageAndVideoRotation.TAG, "changeUiToPauseShow-hide") - hideWidget() + startPlayLogic() +// hideWidget() } override fun changeUiToCompleteShow() { diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/wigets/video/VideoPlayerView.kt b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/wigets/video/VideoPlayerView.kt index 76346ec988..a09649ff3d 100644 --- a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/wigets/video/VideoPlayerView.kt +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/wigets/video/VideoPlayerView.kt @@ -93,7 +93,7 @@ class AdvanceVideoView @JvmOverloads constructor( private fun loadCacheImg() { videoViewPlayer?.thumbImageView = cacheImage cacheImage?.setImageResource(R.drawable.video_holder) - setCacheImageViewVisible() +// setCacheImageViewVisible() Logger.d(ImageVideoRotationView.TAG, "setVideoPath") cacheImage?.let { Glide.with(context).asBitmap().load(cacheImageUrl) @@ -385,12 +385,12 @@ class AdvancePagerAdapter(context: Context, viewPager: ViewPager) : PagerAdapter override fun onPrepared(url: String?, vararg objects: Any?) { Logger.d(ImageVideoRotationView.TAG, "onPrepared") - if (viewList[mViewPager.currentItem] is AdvanceVideoView) { - val videoView = (viewList[mViewPager.currentItem] as AdvanceVideoView) - UiThreadHandler.postDelayed(Runnable { - videoView.setCacheImageViewGone() - }, 1000) - } +// if (viewList[mViewPager.currentItem] is AdvanceVideoView) { +// val videoView = (viewList[mViewPager.currentItem] as AdvanceVideoView) +// UiThreadHandler.postDelayed(Runnable { +// videoView.setCacheImageViewGone() +// }, 1000) +// } } override fun onAutoComplete(url: String?, vararg objects: Any?) { @@ -523,7 +523,7 @@ class AdvanceGSYVideoPlayer : StandardGSYVideoPlayer { override fun changeUiToPauseShow() { Logger.d("ImageAndVideoRotation", "changeUiToPauseShow-hide") - hideWidget() + startPlayLogic() } override fun changeUiToCompleteShow() { From cf45177f66a0d757ebef5fa490044f104d5afb41 Mon Sep 17 00:00:00 2001 From: xinfengkun Date: Wed, 15 Mar 2023 15:27:21 +0800 Subject: [PATCH 06/20] =?UTF-8?q?[opt3.0]=E6=B7=BB=E5=8A=A0OBU=E7=B3=BB?= =?UTF-8?q?=E7=BB=9F=E7=8A=B6=E6=80=81=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/zhidao/adas/client/ObuTest.java | 6 ++++++ config.gradle | 2 +- .../function/datacenter/obu/MogoPrivateObuNewManager.kt | 9 +++++++++ .../datacenter/obu/adapter/MoGoObuListenerImpl.kt | 9 +++++++++ .../main/java/com/zhidao/support/obu/OnObuListener.java | 7 +++++++ 5 files changed, 32 insertions(+), 1 deletion(-) diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ObuTest.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ObuTest.java index 8a43063ab6..6f470a39a4 100644 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ObuTest.java +++ b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ObuTest.java @@ -13,6 +13,7 @@ import com.mogo.support.obu.model.MogoObuRsiWarningData; import com.mogo.support.obu.model.MogoObuRsmWarningData; import com.mogo.support.obu.model.MogoObuRvWarningData; import com.mogo.support.obu.model.MogoObuSpatWarningData; +import com.mogo.support.obu.model.MogoObuSystemStatusData; import com.mogo.support.obu.model.advance.AccFourAxes; import com.mogo.support.obu.model.advance.DateTime; import com.mogo.support.obu.model.advance.NodeId; @@ -293,6 +294,11 @@ public class ObuTest { } + @Override + public void onObuSystemStatus(MogoObuSystemStatusData data) { + + } + @Override public void onGnssInfo(MessagePad.GnssInfo gnssInfo) { Log.i("ddddd", "onGnssInfo=\n" + TextFormat.printer().escapingNonAscii(false).printToString(gnssInfo)); diff --git a/config.gradle b/config.gradle index c0e098760b..aa0cfc053e 100644 --- a/config.gradle +++ b/config.gradle @@ -93,7 +93,7 @@ ext { // obu sdk obusdk : "com.zhidao.enterprise.smartv2x:smartv2x:1.0.0.3", - mogoobu : 'com.mogo.support.obu:mogo-obu:1.1.0_beta3', + mogoobu : 'com.mogo.support.obu:mogo-obu:1.1.0_beta4', // google googlezxing : "com.google.zxing:core:3.3.3", diff --git a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/obu/MogoPrivateObuNewManager.kt b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/obu/MogoPrivateObuNewManager.kt index 5f182177b6..6046849510 100644 --- a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/obu/MogoPrivateObuNewManager.kt +++ b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/obu/MogoPrivateObuNewManager.kt @@ -194,6 +194,15 @@ class MogoPrivateObuNewManager private constructor() : OnUpgradeListener { } } + /** + * OBU 系统状态 + * + * @param data 系统状态 + */ + override fun onObuSystemStatus(data: MogoObuSystemStatusData?) { + + } + /** * HV车辆基础信息 gnssInfo */ diff --git a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/obu/adapter/MoGoObuListenerImpl.kt b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/obu/adapter/MoGoObuListenerImpl.kt index 17e01071e0..1f3e178188 100644 --- a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/obu/adapter/MoGoObuListenerImpl.kt +++ b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/obu/adapter/MoGoObuListenerImpl.kt @@ -31,6 +31,15 @@ object MoGoObuListenerImpl : OnObuListener { CallerObuConnectListenerManager.invokeObuConnectListener() } + /** + * OBU 系统状态 + * + * @param data 系统状态 + */ + override fun onObuSystemStatus(data: MogoObuSystemStatusData?) { + + } + /** * HV车辆基础信息 diff --git a/libraries/mogo-obu/src/main/java/com/zhidao/support/obu/OnObuListener.java b/libraries/mogo-obu/src/main/java/com/zhidao/support/obu/OnObuListener.java index cfb3cc76e1..d7401f7a7d 100644 --- a/libraries/mogo-obu/src/main/java/com/zhidao/support/obu/OnObuListener.java +++ b/libraries/mogo-obu/src/main/java/com/zhidao/support/obu/OnObuListener.java @@ -2,6 +2,7 @@ package com.zhidao.support.obu; import com.mogo.support.obu.ObuScene; import com.mogo.support.obu.constants.Define; +import com.mogo.support.obu.model.MogoObuSystemStatusData; import mogo.telematics.pad.MessagePad; @@ -15,6 +16,12 @@ public interface OnObuListener { */ void onConnectStatus(@Define.ConnectStatus int connectStatus); + /** + * OBU 系统状态 + * + * @param data 系统状态 + */ + void onObuSystemStatus(MogoObuSystemStatusData data); /** * HV车辆基础信息 From c720701746f373ef2a8272f018e873c49d3e0db8 Mon Sep 17 00:00:00 2001 From: renwj Date: Wed, 15 Mar 2023 15:29:12 +0800 Subject: [PATCH 07/20] =?UTF-8?q?[dev=5Farch=5Fopt=5F3.0]=20=E8=A7=A3?= =?UTF-8?q?=E5=86=B3=E5=90=8E=E5=8F=B0=E5=90=AF=E5=8A=A8=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E5=B4=A9=E6=BA=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/mogo/launcher/lancet/CrashFix.kt | 34 +++++++++++-------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/com/mogo/launcher/lancet/CrashFix.kt b/app/src/main/java/com/mogo/launcher/lancet/CrashFix.kt index 73d69c4931..64b5d9e7ae 100644 --- a/app/src/main/java/com/mogo/launcher/lancet/CrashFix.kt +++ b/app/src/main/java/com/mogo/launcher/lancet/CrashFix.kt @@ -14,23 +14,29 @@ import com.knightboost.lancet.api.annotations.* @Group("crash_fix") class CrashFix { - /** - * 修正Android8.0及之后,后台启动Service引起的崩溃 - * java.lang.IllegalStateException: Not allowed to start service Intent { - * act=com.zhidao.cosupload.service.UPLOAD_ACTION cmp=com.mogo.launcher.f/com.zhidao.cosupload.service.UploadService }: app is in background uid UidRecord{6443b7b u0a404 LAST bg:+1m15s362ms idle change:idle procs:1 seq(0,0,0)} - */ - @Insert(mayCreateSuper = true) - @TargetClass("android.content.Context", scope = LEAF) - @TargetMethod(methodName = "startService") - fun fixStartServiceCrash(intent: Intent): ComponentName? { - return try { - Origin.call() as ComponentName? - } catch (t: Throwable) { - t.printStackTrace() - null + + companion object { + + /** + * 修正Android8.0及之后,后台启动Service引起的崩溃 + * java.lang.IllegalStateException: Not allowed to start service Intent { + * act=com.zhidao.cosupload.service.UPLOAD_ACTION cmp=com.mogo.launcher.f/com.zhidao.cosupload.service.UploadService }: app is in background uid UidRecord{6443b7b u0a404 LAST bg:+1m15s362ms idle change:idle procs:1 seq(0,0,0)} + */ + @JvmStatic + @TargetClass("android.content.Context", scope = ALL) + @TargetMethod(methodName = "startService") + @ReplaceInvoke + fun fixStartServiceCrash(context: Context, intent: Intent): ComponentName? { + return try { + return context.startService(intent) + } catch (t: Throwable) { + t.printStackTrace() + null + } } } + /** * https://console.volcengine.com/apmplus/app/crash/detail/java/bb387ccd9c1a3c6ad2ede4e6f501a5e7?aid=302368&date=%7B%22granularity%22%3A%221h%22%2C%22duration%22%3A%22recently%22%2C%22range%22%3A%221w%22%7D&filters=%7B%22type%22%3A%22and%22%2C%22sub_conditions%22%3A%5B%7B%22dimension%22%3A%22os%22%2C%22op%22%3A%22in%22%2C%22type%22%3A%22expression%22%2C%22values%22%3A%5B%22Android%22%5D%7D%5D%7D&org_id=2100068151&os=Android&page_number=6&status=%5B%22pending%22%2C%22processing%22%2C%22solved%22%2C%22reopen%22%5D * java.lang.IllegalArgumentException: Invalid audio buffer size. From 16388def88d39fb2e55017f75c60cf58a05ca494 Mon Sep 17 00:00:00 2001 From: renwj Date: Wed, 15 Mar 2023 15:37:03 +0800 Subject: [PATCH 08/20] =?UTF-8?q?[dev=5Farch=5Fopt=5F3.0]=20=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E9=80=BB=E8=BE=91=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/java/com/mogo/launcher/lancet/CrashFix.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/com/mogo/launcher/lancet/CrashFix.kt b/app/src/main/java/com/mogo/launcher/lancet/CrashFix.kt index 64b5d9e7ae..a3a8a614f4 100644 --- a/app/src/main/java/com/mogo/launcher/lancet/CrashFix.kt +++ b/app/src/main/java/com/mogo/launcher/lancet/CrashFix.kt @@ -28,7 +28,7 @@ class CrashFix { @ReplaceInvoke fun fixStartServiceCrash(context: Context, intent: Intent): ComponentName? { return try { - return context.startService(intent) + context.startService(intent) } catch (t: Throwable) { t.printStackTrace() null From e28a2d8e25edc928dce6b148cd1d63c5708f0ffb Mon Sep 17 00:00:00 2001 From: renwj Date: Wed, 15 Mar 2023 15:37:03 +0800 Subject: [PATCH 09/20] =?UTF-8?q?[dev=5Farch=5Fopt=5F3.0]=20=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E9=80=BB=E8=BE=91=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/java/com/mogo/launcher/lancet/CrashFix.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/com/mogo/launcher/lancet/CrashFix.kt b/app/src/main/java/com/mogo/launcher/lancet/CrashFix.kt index 64b5d9e7ae..a3a8a614f4 100644 --- a/app/src/main/java/com/mogo/launcher/lancet/CrashFix.kt +++ b/app/src/main/java/com/mogo/launcher/lancet/CrashFix.kt @@ -28,7 +28,7 @@ class CrashFix { @ReplaceInvoke fun fixStartServiceCrash(context: Context, intent: Intent): ComponentName? { return try { - return context.startService(intent) + context.startService(intent) } catch (t: Throwable) { t.printStackTrace() null From 961b06f9a233c81dc3370a0ea9b2a1c1fa29ee80 Mon Sep 17 00:00:00 2001 From: lixiaopeng Date: Wed, 15 Mar 2023 15:46:15 +0800 Subject: [PATCH 10/20] =?UTF-8?q?[dev=5Farch=5Fopt=5F3.0]=20=E4=BC=98?= =?UTF-8?q?=E5=8C=96obu=E4=BF=A1=E6=81=AF=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hmi/ui/setting/DebugSettingView.kt | 6 +- .../main/res/layout/view_debug_setting.xml | 62 +++++++++---------- 2 files changed, 32 insertions(+), 36 deletions(-) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt index b784faaac9..bdac5fc95c 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt @@ -564,7 +564,7 @@ internal class DebugSettingView @JvmOverloads constructor( setLogCheckedChangeListener() //OBU配置信息 - tvObuInfo.text = CallerObuConnectListenerManager.getObuStatusInfoJsonString() +// tvObuInfo.text = CallerObuConnectListenerManager.getObuStatusInfoJsonString() //工控机配置信息 tvAutopilotInfo.text = @@ -1637,7 +1637,7 @@ internal class DebugSettingView @JvmOverloads constructor( //obu TODO 后面会添加很多os那边需要显示的内容 obuVersionNameTv.text = Html.fromHtml( - "OBU版本号:$mObuVersionName" + "OBU信息:$mObuVersionName" ) obuConnectStatusTv.text = Html.fromHtml( @@ -1657,7 +1657,7 @@ internal class DebugSettingView @JvmOverloads constructor( */ override fun onConnectStatus(obuStatusInfo: ObuStatusInfo) { lifecycleOwner.lifecycleScope.launch { - tvObuInfo.text = GsonUtils.toJson(obuStatusInfo) +// tvObuInfo.text = GsonUtils.toJson(obuStatusInfo) AppConfigInfo.obuSdkVersion = obuStatusInfo.obuSdkVersion AppConfigInfo.isConnectObu = obuStatusInfo.obuStatus diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_debug_setting.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_debug_setting.xml index 0ab7cf9f74..d044cb3c01 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_debug_setting.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_debug_setting.xml @@ -1085,16 +1085,16 @@ android:background="#F0F0F0" app:layout_constraintTop_toBottomOf="@id/btnSetObuIP" /> - + + + + + + + + + + - - - - - - - - + + + + From 2f7ba56064eeaf24ff249605760e4cba7cd2b296 Mon Sep 17 00:00:00 2001 From: donghongyu Date: Wed, 15 Mar 2023 16:16:55 +0800 Subject: [PATCH 11/20] =?UTF-8?q?[dev=5Farch=5Fopt=5F3.0]=20[Change]=20[?= =?UTF-8?q?=201=E3=80=81=E5=8D=87=E7=BA=A7AiCloudSDK=EF=BC=8C=E6=97=A5?= =?UTF-8?q?=E5=BF=97=E6=89=93=E5=8D=B0=E6=94=B9=E4=B8=BA=E5=8E=9F=E7=94=9F?= =?UTF-8?q?=202=E3=80=81=E9=AB=98=E5=BE=B7=E5=AE=9A=E4=BD=8D=E5=9B=9E?= =?UTF-8?q?=E8=B0=83=E6=9C=AC=E5=9C=B0=E8=AE=B0=E5=BD=95=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E5=88=A4=E6=96=AD=E6=9D=A1=E4=BB=B6=203=E3=80=81=E5=8D=87?= =?UTF-8?q?=E7=BA=A7APM=E7=89=88=E6=9C=AC=EF=BC=8C=E5=B9=B6=E5=AF=B9crash?= =?UTF-8?q?=E6=97=A5=E5=BF=97=E9=87=87=E9=9B=86=E4=BF=A1=E6=81=AF=E9=87=8D?= =?UTF-8?q?=E6=96=B0=E6=95=B4=E7=90=86=EF=BC=8C=E8=AE=A9=E7=8E=B0=E5=9C=BA?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=9B=B4=E5=8A=A0=E4=B8=B0=E5=AF=8C=E8=BE=85?= =?UTF-8?q?=E5=8A=A9=E6=8E=92=E6=9F=A5=E9=97=AE=E9=A2=98=204=E3=80=81?= =?UTF-8?q?=E5=85=B3=E9=97=AD=E4=BA=86IjkPlayer=E6=97=A5=E5=BF=97=20]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: donghongyu --- .../mogo/launcher/startup/ConfigStartUp.kt | 5 + config.gradle | 4 +- .../business/identify/TrackManager.java | 2 +- gradle.properties | 18 +- .../com/mogo/map/location/GDLocationClient.kt | 26 +- test/crashreport-apmbyte/build.gradle | 4 + .../apm/ApmCrashReportProvider.java | 236 ++++++++++++------ 7 files changed, 196 insertions(+), 99 deletions(-) diff --git a/app/src/main/java/com/mogo/launcher/startup/ConfigStartUp.kt b/app/src/main/java/com/mogo/launcher/startup/ConfigStartUp.kt index 58d9d51187..b1b49757f4 100644 --- a/app/src/main/java/com/mogo/launcher/startup/ConfigStartUp.kt +++ b/app/src/main/java/com/mogo/launcher/startup/ConfigStartUp.kt @@ -12,10 +12,12 @@ import com.mogo.eagle.core.utilcode.util.GsonUtils import com.mogo.launcher.BuildConfig import com.mogo.launcher.R import com.mogo.test.crashreport.CrashReportConstants +import com.shuyu.gsyvideoplayer.player.IjkPlayerManager import com.zhidaoauto.map.sdk.open.HDTypes import com.zhidaoauto.map.sdk.open.MapAutoApi import com.zhidaoauto.map.sdk.open.MapParams import com.zhjt.mogo_core_function_devatools.env.EnvChangeManager +import tv.danmaku.ijk.media.player.IjkMediaPlayer object ConfigStartUp { @@ -27,6 +29,9 @@ object ConfigStartUp { } private fun initBuildConfig() { + //ijk关闭log + IjkPlayerManager.setLogLevel(IjkMediaPlayer.IJK_LOG_SILENT); + // 初始化构建APP的时候的分支及提交HASH,用于辅助定位问题 AppConfigInfo.workingBranchName = BuildConfig.WORKING_BRANCH_NAME AppConfigInfo.workingBranchHash = BuildConfig.WORKING_BRANCH_HASH diff --git a/config.gradle b/config.gradle index c0e098760b..35460986eb 100644 --- a/config.gradle +++ b/config.gradle @@ -132,8 +132,8 @@ ext { crashreport : "com.mogo.test:crashreport:${CRASHREPORT_VERSION}", crashreportapmbyte : "com.mogo.test:crashreport-apmbyte:${CRASHREPORT_APMBYTE_VERSION}", crashreportnoop : "com.mogo.test:crashreport-noop:${CRASHREPORT_NOOP_VERSION}", - apm_insight : 'com.volcengine:apm_insight:1.4.9.cn-rc.5', - apm_insight_crash : 'com.volcengine:apm_insight_crash:1.4.6-rc.14', + apm_insight : 'com.volcengine:apm_insight:1.4.10.cn-rc.0', + apm_insight_crash : 'com.volcengine:apm_insight_crash:1.4.6-rc.17', cicle_indicator : 'me.relex:circleindicator:2.1.6', //========================= TTS语音 Maven 版本管理 ========================= diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/identify/TrackManager.java b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/identify/TrackManager.java index cd011c9c6d..363bae8ae8 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/identify/TrackManager.java +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/identify/TrackManager.java @@ -125,7 +125,7 @@ public class TrackManager { cellIdCaches.forcePut(uuid, trackObj.getCellIdPos()); mMarkersCaches.put(uuid, trackObj); trafficDataUuid.add(uuid); - Log.i("costTime","" + (System.currentTimeMillis() - cost)); + //Log.i("costTime","" + (System.currentTimeMillis() - cost)); } return mFilterTrafficData; } diff --git a/gradle.properties b/gradle.properties index e482fd6b80..fe06686df3 100644 --- a/gradle.properties +++ b/gradle.properties @@ -66,23 +66,23 @@ SERVICE_BIZ_VERSION=1.2.4 LOGLIB_VERSION=1.5.11 ######## MogoAiCloudSDK Version ######## # 网络请求LOGLIB_VERSION -MOGO_NETWORK_VERSION=1.4.5.7 +MOGO_NETWORK_VERSION=1.4.5.10 # 鉴权 -MOGO_PASSPORT_VERSION=1.4.5.7 +MOGO_PASSPORT_VERSION=1.4.5.10 # 常链接 -MOGO_SOCKET_VERSION=1.4.5.7 +MOGO_SOCKET_VERSION=1.4.5.10 # 数据采集 -MOGO_REALTIME_VERSION=1.4.5.7 +MOGO_REALTIME_VERSION=1.4.5.10 # 探路,道路事件发布,获取 -MOGO_TANLU_VERSION=1.4.5.7 +MOGO_TANLU_VERSION=1.4.5.10 # 直播推流 -MOGO_LIVE_VERSION=1.4.5.7 +MOGO_LIVE_VERSION=1.4.5.10 # 直播拉流 -MOGO_TRAFFICLIVE_VERSION=1.4.5.7 +MOGO_TRAFFICLIVE_VERSION=1.4.5.10 # 定位服务 -MOGO_LOCATION_VERSION=1.4.5.7 +MOGO_LOCATION_VERSION=1.4.5.10 # 远程通讯模块 -MOGO_TELEMATIC_VERSION=1.4.5.7 +MOGO_TELEMATIC_VERSION=1.4.5.10 ######## MogoAiCloudSDK Version ######## # 自研地图 MAP_SDK_VERSION=2.10.0.9 diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/location/GDLocationClient.kt b/libraries/mogo-map/src/main/java/com/mogo/map/location/GDLocationClient.kt index 6edc26bd3c..a9f26b224c 100644 --- a/libraries/mogo-map/src/main/java/com/mogo/map/location/GDLocationClient.kt +++ b/libraries/mogo-map/src/main/java/com/mogo/map/location/GDLocationClient.kt @@ -77,7 +77,7 @@ class GDLocationClient private constructor(context: Context) : AMapLocationListe lastGaoDeLocation.lastReceiveTime = TimeUtils.getNowMills() // 将高德中的一些用于业务的数据进行融合,例如:CityCode、address等 - mapLocation?.let { + aMapLocation.let { // 转换 GCJ02-->WGS84 坐标 val wgs84Location = CoordinateTransform.GCJ02ToWGS84(it.longitude, it.latitude) @@ -112,17 +112,17 @@ class GDLocationClient private constructor(context: Context) : AMapLocationListe lastGaoDeLocation.errorInfo = it.errorInfo } - // 回掉给监听者 - CallerGaoDeMapLocationListenerManager.invokeMoGoLocationChanged(lastGaoDeLocation) - - mapLocation = aMapLocation - // 本地SP缓存城市Code - val cityCode = aMapLocation.cityCode - if (cityCode != null && cityCode.isNotEmpty()) { - mCityCode = aMapLocation.cityCode - SharedPrefsMgr.getInstance(AbsMogoApplication.getApp()) - .putString(SharedPrefsConstants.LOCATION_CITY_CODE, cityCode) + try { + mapLocation = aMapLocation + // 本地SP缓存城市Code + val cityCode = aMapLocation.cityCode + if (cityCode != null && cityCode.isNotEmpty()) { + mCityCode = aMapLocation.cityCode + SharedPrefsMgr.getInstance(AbsMogoApplication.getApp()) + .putString(SharedPrefsConstants.LOCATION_CITY_CODE, cityCode) + } + // 缓存经纬度 SharedPrefsMgr.getInstance(AbsMogoApplication.getApp()) .putString( SharedPrefsConstants.LOCATION_LATITUDE, @@ -133,7 +133,11 @@ class GDLocationClient private constructor(context: Context) : AMapLocationListe SharedPrefsConstants.LOCATION_LONGITUDE, aMapLocation.longitude.toString() ) + } catch (e: Exception) { + e.printStackTrace() } + // 回掉给监听者 + CallerGaoDeMapLocationListenerManager.invokeMoGoLocationChanged(lastGaoDeLocation) } } diff --git a/test/crashreport-apmbyte/build.gradle b/test/crashreport-apmbyte/build.gradle index eeab9e0aa8..65f85c0980 100644 --- a/test/crashreport-apmbyte/build.gradle +++ b/test/crashreport-apmbyte/build.gradle @@ -39,6 +39,10 @@ android { proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } } dependencies { diff --git a/test/crashreport-apmbyte/src/main/java/com/mogo/test/crashreport/apm/ApmCrashReportProvider.java b/test/crashreport-apmbyte/src/main/java/com/mogo/test/crashreport/apm/ApmCrashReportProvider.java index 30588f1161..0f953a63cf 100644 --- a/test/crashreport-apmbyte/src/main/java/com/mogo/test/crashreport/apm/ApmCrashReportProvider.java +++ b/test/crashreport-apmbyte/src/main/java/com/mogo/test/crashreport/apm/ApmCrashReportProvider.java @@ -3,8 +3,6 @@ package com.mogo.test.crashreport.apm; import android.content.Context; import com.alibaba.android.arouter.facade.annotation.Route; -import com.apm.insight.AttachUserData; -import com.apm.insight.CrashType; import com.apm.insight.MonitorCrash; import com.apm.insight.log.VLog; import com.bytedance.apm.insight.ApmInsight; @@ -12,8 +10,9 @@ import com.bytedance.apm.insight.ApmInsightAgent; import com.bytedance.apm.insight.ApmInsightInitConfig; import com.mogo.commons.constants.SharedPrefsConstants; import com.mogo.commons.debug.DebugConfig; -import com.mogo.eagle.core.data.deva.bindingcar.CarInfo; +import com.mogo.eagle.core.data.app.AppConfigInfo; import com.mogo.eagle.core.data.config.FunctionBuildConfig; +import com.mogo.eagle.core.data.deva.bindingcar.CarInfo; import com.mogo.eagle.core.function.api.devatools.apm.IApmEnvProvider; import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager; import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils; @@ -22,11 +21,11 @@ import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr; import com.mogo.eagle.core.utilcode.util.CommonUtils; import com.mogo.eagle.core.utilcode.util.DeviceUtils; import com.mogo.eagle.core.utilcode.util.GsonUtils; +import com.mogo.eagle.core.utilcode.util.MetaDataUtils; import com.mogo.test.crashreport.CrashReportConstants; import com.mogo.test.crashreport.ITestCrashReportProvider; import java.util.HashMap; -import java.util.Map; /** @@ -38,7 +37,9 @@ import java.util.Map; @Route(path = CrashReportConstants.PATH) public class ApmCrashReportProvider implements ITestCrashReportProvider { private static final String BYTEAMP_APPID = "302368"; + private static final String BYTEAMP_AppToken = "de428a1a8b204c82ac60088aaf9205a3"; private static final String BYTEAMP_APPID_DEV = "379950"; + private static final String BYTEAMP_AppToken_DEV = "3a78191bc18842118c5b4515ec9bfefc"; private static final String TAG = "ApmCrashReportProvider"; private static final String MAP_SDK_VERSION = "MAP_SDK_VERSION"; @@ -49,11 +50,6 @@ public class ApmCrashReportProvider implements ITestCrashReportProvider { @Override public void init(Context context) { - initCrash(context); - initApmInsight(context); - } - - private void initCrash(final Context context) { IApmEnvProvider provider = CallerDevaToolsManager.INSTANCE.apmEnvProvider(); boolean isDebug = DebugConfig.isDebug(); if (provider != null) { @@ -62,85 +58,167 @@ public class ApmCrashReportProvider implements ITestCrashReportProvider { isDebug = enabled; } } - MonitorCrash crash = MonitorCrash.init(context, isDebug ? BYTEAMP_APPID_DEV : BYTEAMP_APPID, CommonUtils.getVersionCode(context), CommonUtils.getVersionName(context)) - .setCustomDataCallback(new AttachUserData() { - @Override - public Map getUserData(CrashType type) { - HashMap map = new HashMap<>(); - //车辆信息 - String carInfoString = SharedPrefsMgr.getInstance(context).getString(SharedPrefsConstants.CAR_INFO); + initCrash(context, isDebug); + initApmInsight(context, isDebug); + } - if (carInfoString != null && !carInfoString.isEmpty()) { - mInfo = GsonUtils.fromJson(carInfoString, CarInfo.class); - } + private void initCrash(final Context context, boolean isDebug) { + MonitorCrash.Config config = + MonitorCrash.Config + .app(isDebug ? BYTEAMP_APPID_DEV : BYTEAMP_APPID) + .token(isDebug ? BYTEAMP_AppToken_DEV : BYTEAMP_AppToken)// 设置鉴权token,可从平台应用信息处获取,token错误无法上报数据 + .versionCode(CommonUtils.getVersionCode(context))// 可选,默认取PackageInfo中的versionCode + .versionName(CommonUtils.getVersionName(context))// 可选,默认取PackageInfo中的versionName + .channel(MetaDataUtils.getMetaDataInApp("BUGLY_APP_CHANNEL"))// 可选,设置App发布渠道,在平台可以筛选 + // .url("www.xxx.com")// 默认不需要,私有化部署才配置上报地址 + //可选,可以设置自定义 did,不设置会使用内部默认的 + .dynamicParams(new MonitorCrash.Config.IDynamicParams() { + @Override + public String getDid() {//返回空会使用内部默认的did + String sn = SharedPrefsMgr.getInstance(context).getString("sn"); + if (sn != null && !sn.isEmpty()) { + return sn; + } else { + return DeviceUtils.getDeviceSN().isEmpty() ? null : DeviceUtils.getDeviceSN(); + } + } - //车辆所在位置 - mCityCode = SharedPrefsMgr.getInstance(context).getString(SharedPrefsConstants.LOCATION_CITY_CODE); - mLat = SharedPrefsMgr.getInstance(context).getString(SharedPrefsConstants.LOCATION_LATITUDE); - mLogt = SharedPrefsMgr.getInstance(context).getString(SharedPrefsConstants.LOCATION_LONGITUDE); - //地图版本 - String mapSDKVersion = DebugConfig.getMapVersion(); - map.put("MAP_SDK_VERSION", mapSDKVersion); - map.put("CITYCODE", mCityCode); - map.put("LATITUDE", mLat); - map.put("LONGITUTE", mLogt); + @Override + public String getUserId() { + return DeviceUtils.getDeviceSN(); + } + }) + //应用崩溃后会执行这里,可选,添加业务自定义数据,在崩溃详情页->现场数据展示->自定义数据 + .customData(crashType -> { + //车辆所在位置 + mCityCode = SharedPrefsMgr.getInstance(context).getString(SharedPrefsConstants.LOCATION_CITY_CODE); + mLat = SharedPrefsMgr.getInstance(context).getString(SharedPrefsConstants.LOCATION_LATITUDE); + mLogt = SharedPrefsMgr.getInstance(context).getString(SharedPrefsConstants.LOCATION_LONGITUDE); + //车辆信息 + String carInfoString = SharedPrefsMgr.getInstance(context).getString(SharedPrefsConstants.CAR_INFO); + if (carInfoString != null && !carInfoString.isEmpty()) { + mInfo = GsonUtils.fromJson(carInfoString, CarInfo.class); + } - if (mInfo != null) { - CallerLogger.INSTANCE.d(TAG, "nuber = " + mInfo.getNumber_plate() + "--brand = " + mInfo.getBrand() + "--modle = " + mInfo.getModel()); - map.put("PLATE_NUMBER", mInfo.getNumber_plate()); - map.put("BRAND", mInfo.getBrand()); - map.put("MODEL", mInfo.getModel()); - } - return map; - } - }); - String mapSDKVersion = DebugConfig.getMapVersion(); - crash.config().setChannel("MAP_SDK_VERSION:" + mapSDKVersion); - //可选,可以设置自定义did,不设置会使用内部默认的 - String sn = SharedPrefsMgr.getInstance(context).getString("sn"); - if (sn != null && !sn.isEmpty()) { - crash.config().setDeviceId(sn); - } else { - crash.config().setDeviceId(DeviceUtils.getDeviceSN()); - } - crash.addTags(MAP_SDK_VERSION, mapSDKVersion); - crash.addTags("CITYCODE", mCityCode); - crash.addTags("LATITUDE", mLat); - crash.addTags("LONGITUTE", mLogt); - crash.addTags("CAR_TYPE", AppIdentityModeUtils.INSTANCE.getBuildCarType(FunctionBuildConfig.appIdentityMode)); + //======================================== 自定义维度值 begin======================================== + HashMap dimension = new HashMap<>(); + // dimension.put("Devices_SN_DeviceId", sn + "__" + DeviceUtils.getDeviceSN()); + // dimension.put("Devices_SN_WidevineID_MD5", sn + "__" + DeviceIdUtils.getWidevineIDWithMd5(context)); + // dimension.put("Devices_SN_WidevineID", sn + "__" + DeviceIdUtils.getWidevineID(context)); + //************************************* APP构建的信息 *********************************************** + // Git版本信息 + dimension.put("GIT_BRANCH", AppConfigInfo.INSTANCE.getWorkingBranchName()); + dimension.put("GIT_HASH", AppConfigInfo.INSTANCE.getWorkingBranchHash()); + // 地图版本 + dimension.put("APP_MAP_SDK_VERSION", DebugConfig.getMapVersion()); + // 渠道信息 + dimension.put("APP_CHANNEL", MetaDataUtils.getMetaDataInApp("BUGLY_APP_CHANNEL")); + // 车辆类型 + dimension.put("APP_CAR_TYPE", AppIdentityModeUtils.INSTANCE.getBuildCarType(FunctionBuildConfig.appIdentityMode)); + //************************************* APP构建的信息 *********************************************** -// crash.setReportUrl("www.xxx.com"); // 私有化部署:私有化部署才配置上报地址 -// crash.addTags("key", "value"); // 自定义筛选tag, 按需添加、可多次覆盖 + //************************************* 与车辆连接的 IPC(工控机)、OBU 等信息 *********************************************** + // 连接的OBU 状态 + dimension.put("OBU_CONNECT_STATUS", "" + AppConfigInfo.INSTANCE.isConnectObu()); + // 车牌号,从工控机获取的数据 + dimension.put("IPC_PLATE_NUMBER", AppConfigInfo.INSTANCE.getPlateNumber()); + // 连接的工控机 状态 + dimension.put("IPC_CONNECT_STATUS", "" + AppConfigInfo.INSTANCE.isConnectAutopilot()); + // 连接的工控机 MAC地址 + dimension.put("IPC_MAC", AppConfigInfo.INSTANCE.getIPCMacAddress()); + // 连接的工控机 Docker版本 + dimension.put("IPC_MAP_VERSION", AppConfigInfo.INSTANCE.getDockerVersion()); + // 连接的工控机 Protocol版本 + dimension.put("IPC_MAP_PROTOCOL_VERSION", "" + AppConfigInfo.INSTANCE.getProtocolVersionNumber()); + //************************************* 与车辆连接的 IPC(工控机)、OBU 等信息 *********************************************** - HashMap dimension = new HashMap<>(); - //维度值 - dimension.put("Devices_SN_DeviceId", sn + "__" + DeviceUtils.getDeviceSN()); -// dimension.put("Devices_SN_WidevineID_MD5", sn + "__" + DeviceIdUtils.getWidevineIDWithMd5(context)); -// dimension.put("Devices_SN_WidevineID", sn + "__" + DeviceIdUtils.getWidevineID(context)); - dimension.put(MAP_SDK_VERSION, mapSDKVersion); - dimension.put("CITYCODE", mCityCode); - dimension.put("LATITUDE", mLat); - dimension.put("LONGITUTE", mLogt); - if (mInfo != null) { - dimension.put("PLATE_NUMBER", mInfo.getNumber_plate()); - dimension.put("BRAND", mInfo.getBrand()); - dimension.put("MODEL", mInfo.getModel()); - } + //************************************* 位置信息 *********************************************** + // 城市信息 + dimension.put("LOCATION_CITY_CODE", mCityCode); + dimension.put("LOCATION_LATITUDE", mLat); + dimension.put("LOCATION_LONGITUTE", mLogt); + //************************************* 位置信息 *********************************************** - HashMap metric = new HashMap<>(); - //指标值 - //metric.put("Devices_ID_metric", (double) 100); - ApmInsightAgent.monitorEvent("Devices_ID_EVENT", dimension, metric); + //************************************* CMDB绑定的信息 *********************************************** + if (mInfo != null) { + dimension.put("CMDB_PLATE_NUMBER", mInfo.getNumber_plate()); + dimension.put("CMDB_BRAND", mInfo.getBrand()); + dimension.put("CMDB_MODEL", mInfo.getModel()); + } + //************************************* CMDB绑定的信息 *********************************************** + + HashMap metric = new HashMap<>(); + //指标值 + //metric.put("Devices_ID_metric", (double) 100); + ApmInsightAgent.monitorEvent("Devices_ID_EVENT", dimension, metric); + //======================================== 自定义维度值 end======================================== + + + //===================================== 自定义收集一些信息,在崩溃详情页->现场数据展示->自定义数据 begin======================================== + HashMap map = new HashMap<>(); + + //************************************* APP构建的信息 *********************************************** + // Git版本信息 + map.put("GIT_BRANCH", AppConfigInfo.INSTANCE.getWorkingBranchName()); + map.put("GIT_HASH", AppConfigInfo.INSTANCE.getWorkingBranchHash()); + // 地图版本 + map.put("APP_MAP_SDK_VERSION", DebugConfig.getMapVersion()); + // 渠道信息 + map.put("APP_CHANNEL", MetaDataUtils.getMetaDataInApp("BUGLY_APP_CHANNEL")); + // 车辆类型 + map.put("APP_CAR_TYPE", AppIdentityModeUtils.INSTANCE.getBuildCarType(FunctionBuildConfig.appIdentityMode)); + //************************************* APP构建的信息 *********************************************** + + //************************************* 与车辆连接的 IPC(工控机)、OBU 等信息 *********************************************** + // 连接的OBU 状态 + map.put("OBU_CONNECT_STATUS", "" + AppConfigInfo.INSTANCE.isConnectObu()); + // 车牌号,从工控机获取的数据 + map.put("IPC_PLATE_NUMBER", AppConfigInfo.INSTANCE.getPlateNumber()); + // 连接的工控机 状态 + map.put("IPC_CONNECT_STATUS", "" + AppConfigInfo.INSTANCE.isConnectAutopilot()); + // 连接的工控机 MAC地址 + map.put("IPC_MAC", AppConfigInfo.INSTANCE.getIPCMacAddress()); + // 连接的工控机 Docker版本 + map.put("IPC_MAP_VERSION", AppConfigInfo.INSTANCE.getDockerVersion()); + // 连接的工控机 Protocol版本 + map.put("IPC_MAP_PROTOCOL_VERSION", "" + AppConfigInfo.INSTANCE.getProtocolVersionNumber()); + //************************************* 与车辆连接的 IPC(工控机)、OBU 等信息 *********************************************** + + //************************************* 位置信息 *********************************************** + // 城市信息 + map.put("LOCATION_CITY_CODE", mCityCode); + map.put("LOCATION_LATITUDE", mLat); + map.put("LOCATION_LONGITUTE", mLogt); + //************************************* 位置信息 *********************************************** + + + //************************************* CMDB绑定的信息 *********************************************** + if (mInfo != null) { + CallerLogger.INSTANCE.d(TAG, "nuber = " + mInfo.getNumber_plate() + "--brand = " + mInfo.getBrand() + "--modle = " + mInfo.getModel()); + map.put("CMDB_PLATE_NUMBER", mInfo.getNumber_plate()); + map.put("CMDB_BRAND", mInfo.getBrand()); + map.put("CMDB_MODEL", mInfo.getModel()); + } + //************************************* CMDB绑定的信息 *********************************************** + + return map; + //===================================== 自定义收集一些信息,在崩溃详情页->现场数据展示->自定义数据 end======================================== + }) + // 可选,添加pv事件的自定义tag,可以用来筛选崩溃率计算的分母数据 + //.pageViewTags(<>>) + .build(); + MonitorCrash monitorCrash = MonitorCrash.init(context, config); } /** * ApmInsight性能监控初始化 */ - private void initApmInsight(Context context) { - + private void initApmInsight(Context context, boolean isDebug) { ApmInsightInitConfig.Builder builder = ApmInsightInitConfig.builder(); //设置分配的appid - builder.aid(BYTEAMP_APPID); + builder.aid(isDebug ? BYTEAMP_APPID_DEV : BYTEAMP_APPID); + //设置分配的AppToken + builder.token(isDebug ? BYTEAMP_AppToken_DEV : BYTEAMP_AppToken); //是否开启卡顿功能 builder.blockDetect(true); //是否开启严重卡顿功能 @@ -153,6 +231,12 @@ public class ApmCrashReportProvider implements ITestCrashReportProvider { builder.memoryMonitor(true); //控制是否打开电量监控 builder.batteryMonitor(true); + //控制是否打开CPU监控 + builder.cpuMonitor(true); + //控制是否打开磁盘监控 + builder.diskMonitor(true); + //控制是否打开流量监控 + builder.trafficMonitor(true); //是否打印日志,注:线上release版本要配置为false builder.debugMode(true); //支持用户自定义user_id把平台数据和自己用户关联起来,可以不配置 @@ -160,7 +244,7 @@ public class ApmCrashReportProvider implements ITestCrashReportProvider { //私有化部署:配置数据上报的域名 (私有化部署才需要配置,内部有默认域名),测试支持设置http://www.xxx.com 默认是https协议 // builder.defaultReportDomain("www.xxx.com"); //设置渠道。1.3.16版本增加接口 - builder.channel("local"); + builder.channel(MetaDataUtils.getMetaDataInApp("BUGLY_APP_CHANNEL")); //打开自定义日志回捞能力,1.4.1版本新增接口 builder.enableLogRecovery(true); //设置数据和Rangers Applog数据打通,设备标识did必填。1.3.16版本增加接口 From d7080a4cb709bff95a19707eea9327faa1ac6606 Mon Sep 17 00:00:00 2001 From: wangmingjun Date: Wed, 15 Mar 2023 16:43:09 +0800 Subject: [PATCH 12/20] =?UTF-8?q?[M1]=20=E4=B9=98=E5=AE=A2=E5=B1=8F?= =?UTF-8?q?=E5=87=BA=E7=AB=99=E4=BC=A0=E9=80=92=E7=BB=99=E5=89=8D=E5=90=8E?= =?UTF-8?q?=E5=B1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bus/passenger/bean/response/OrderInfoResponse.kt | 2 ++ .../och/bus/passenger/model/CharterPassengerModel.kt | 10 ++++++++++ .../presenter/BusPassengerFunctionDevicePresenter.kt | 1 + .../com/magic/mogo/och/charter/model/DriverM1Model.kt | 8 ++++---- .../module}/manager/CharterSendTripInfoManager.kt | 2 +- 5 files changed, 18 insertions(+), 5 deletions(-) rename OCH/{mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter => mogo-och-common-module/src/main/java/com/mogo/och/common/module}/manager/CharterSendTripInfoManager.kt (97%) diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/bean/response/OrderInfoResponse.kt b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/bean/response/OrderInfoResponse.kt index f384ac23e6..2aaeba7225 100644 --- a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/bean/response/OrderInfoResponse.kt +++ b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/bean/response/OrderInfoResponse.kt @@ -12,6 +12,8 @@ data class OrderInfoResponse(val data: OrderInfo?) : BaseData() { val productType: Int?,//车辆类型 val lineId: Long?,//线路id val lineName: String?,//线路名称 + var startSiteId: Int?, + var startSiteName: String?, val siteId: Long?,//站点id val siteName: String?,//站点名称 val wgs84Lat: Double?, diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/model/CharterPassengerModel.kt b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/model/CharterPassengerModel.kt index 2c877e78c9..069d3c0f7c 100644 --- a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/model/CharterPassengerModel.kt +++ b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/model/CharterPassengerModel.kt @@ -39,6 +39,8 @@ import com.mogo.och.common.module.biz.common.socketmessage.OCHSocketMessageManag import com.mogo.och.common.module.biz.constant.LoginStatusManager import com.mogo.och.common.module.biz.constant.TaxiLoginStatusEnum import com.mogo.och.common.module.biz.network.OchCommonServiceCallback +import com.mogo.och.common.module.manager.CharterSendTripInfoManager +import com.mogo.och.common.module.manager.CharterSendTripInfoManager.LEAVE_STATION import com.mogo.och.common.module.manager.OCHAdasAbilityManager import com.mogo.och.common.module.utils.CoordinateCalculateRouteUtil import com.mogo.och.common.module.utils.DateTimeUtil @@ -887,4 +889,12 @@ object CharterPassengerModel { } return parameters } + + fun sendTripInfo() { + //发送前后屏出站消息 3:代表出站 + orderInfo?.let { + CharterSendTripInfoManager.sendCharterTripInfo(LEAVE_STATION, + it.lineName!!,it.startSiteName!!,it.siteName!!,false) + } + } } \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionDevicePresenter.kt b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionDevicePresenter.kt index d025dd0382..384f7758d8 100644 --- a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionDevicePresenter.kt +++ b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionDevicePresenter.kt @@ -125,6 +125,7 @@ class BusPassengerFunctionDevicePresenter(view: M1DeviceFragment?) : CallerAutoPilotControlManager.sendPlanningCmd(2) CharterPassengerModel.startAutopilot() CharterPassengerModel.leaveStation() + CharterPassengerModel.sendTripInfo() } IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING -> { // 重新起步 diff --git a/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/model/DriverM1Model.kt b/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/model/DriverM1Model.kt index 2a2c92ca72..55e296f75e 100644 --- a/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/model/DriverM1Model.kt +++ b/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/model/DriverM1Model.kt @@ -16,10 +16,10 @@ import com.magic.mogo.och.charter.callback.DriverM1OrderCallback import com.magic.mogo.och.charter.callback.IDriverM1ControllerStatusCallback import com.magic.mogo.och.charter.constant.CharterConst import com.magic.mogo.och.charter.manager.CharterAnalyticsManager -import com.magic.mogo.och.charter.manager.CharterSendTripInfoManager -import com.magic.mogo.och.charter.manager.CharterSendTripInfoManager.ARRIVE_STATION -import com.magic.mogo.och.charter.manager.CharterSendTripInfoManager.END_TRIP -import com.magic.mogo.och.charter.manager.CharterSendTripInfoManager.START_TRIP +import com.mogo.och.common.module.manager.CharterSendTripInfoManager +import com.mogo.och.common.module.manager.CharterSendTripInfoManager.ARRIVE_STATION +import com.mogo.och.common.module.manager.CharterSendTripInfoManager.END_TRIP +import com.mogo.och.common.module.manager.CharterSendTripInfoManager.START_TRIP import com.magic.mogo.och.charter.manager.CharterTrajectoryManager import com.magic.mogo.och.charter.net.DriverM1ServiceManager import com.mogo.aicloud.services.socket.IMogoOnMessageListener diff --git a/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/manager/CharterSendTripInfoManager.kt b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/CharterSendTripInfoManager.kt similarity index 97% rename from OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/manager/CharterSendTripInfoManager.kt rename to OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/CharterSendTripInfoManager.kt index a3efae98a1..baf9fa9afb 100644 --- a/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/manager/CharterSendTripInfoManager.kt +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/CharterSendTripInfoManager.kt @@ -1,4 +1,4 @@ -package com.magic.mogo.och.charter.manager +package com.mogo.och.common.module.manager import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d From fdbc224adcddfc80fca15c267e18d1df5eb3ce27 Mon Sep 17 00:00:00 2001 From: lixiaopeng Date: Wed, 15 Mar 2023 17:19:43 +0800 Subject: [PATCH 13/20] =?UTF-8?q?[dev=5Farch=5Fopt=5F3.0]=20=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0obu=E4=BF=A1=E6=81=AF=E5=B1=95=E7=A4=BA=EF=BC=8C?= =?UTF-8?q?=E5=BE=85=E8=81=94=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../obu/MogoPrivateObuNewManager.kt | 3 +-- .../hmi/ui/setting/DebugSettingView.kt | 19 +++++-------------- .../main/res/layout/view_debug_setting.xml | 8 +++++++- .../datacenter/obu/IMoGoObuInfoListener.kt | 10 ++-------- .../call/obu/CallerObuInfoListenerManager.kt | 17 ++--------------- 5 files changed, 17 insertions(+), 40 deletions(-) diff --git a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/obu/MogoPrivateObuNewManager.kt b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/obu/MogoPrivateObuNewManager.kt index 6046849510..ec4ff4a718 100644 --- a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/obu/MogoPrivateObuNewManager.kt +++ b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/obu/MogoPrivateObuNewManager.kt @@ -109,7 +109,6 @@ class MogoPrivateObuNewManager private constructor() : OnUpgradeListener { override fun onCurrentVersion(version: MogoObuSystemBConfigData) { CallerLogger.d("$M_OBU${MogoObuConst.TAG_UPGRADE_OBU}", "onCurrentVersion version = ${version.version}") if (!version.version.isNullOrEmpty()) { - CallerObuInfoListenerManager.invokeObuVersionName(version.version) CallerDevaToolsManager.queryObuUpgrade(version.version) } } @@ -200,7 +199,7 @@ class MogoPrivateObuNewManager private constructor() : OnUpgradeListener { * @param data 系统状态 */ override fun onObuSystemStatus(data: MogoObuSystemStatusData?) { - + CallerObuInfoListenerManager.invokeGetObuInfo(data.toString()) } /** diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt index 238937f3a7..eba7451134 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt @@ -152,8 +152,7 @@ internal class DebugSettingView @JvmOverloads constructor( //OBU连接状态 private var obuConnectStatus: Boolean = false - private var mObuVersionName: String = "" - private var mObuDeviceId: String = "" + private var mObuInfoStr: String = "" //渠道包标签 private var onlineSelected: Boolean = true @@ -1527,7 +1526,6 @@ internal class DebugSettingView @JvmOverloads constructor( }" ) - tvServerSocketStatus.text = Html.fromHtml( "服务器Socket状态:${ if (MogoStatusManager.getInstance().isSocketOnLine) { @@ -1635,10 +1633,8 @@ internal class DebugSettingView @JvmOverloads constructor( tbIsDemoMode.text = "开启美化模式" } - //obu TODO 后面会添加很多os那边需要显示的内容 - obuVersionNameTv.text = Html.fromHtml( - "OBU信息:$mObuVersionName" - ) + //obu信息,排查obu相关问题使用 + tvObuInfoContent.text = mObuInfoStr obuConnectStatusTv.text = Html.fromHtml( "OBU连接状态:${ @@ -2048,12 +2044,7 @@ internal class DebugSettingView @JvmOverloads constructor( setLogCheckedChangeListener() } - override fun onGetObuVersionName(obuVersionName: String) { - mObuVersionName = obuVersionName + override fun onGetObuInfo(obuInfoStr: String) { + mObuInfoStr = obuInfoStr } - - override fun onObuDeviceId(obuDeviceId: String) { - mObuDeviceId = obuDeviceId - } - } \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_debug_setting.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_debug_setting.xml index d044cb3c01..20f98d2738 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_debug_setting.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_debug_setting.xml @@ -1117,13 +1117,19 @@ - + diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/datacenter/obu/IMoGoObuInfoListener.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/datacenter/obu/IMoGoObuInfoListener.kt index 82703fba36..f4c9d0dcfd 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/datacenter/obu/IMoGoObuInfoListener.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/datacenter/obu/IMoGoObuInfoListener.kt @@ -9,14 +9,8 @@ package com.mogo.eagle.core.function.api.datacenter.obu interface IMoGoObuInfoListener { /** - * @param obuVersionName OBU硬件版本 + * @param obuInfoStr OBU信息 */ - fun onGetObuVersionName(obuVersionName: String) - - /** - * obuDeviceId - */ - fun onObuDeviceId(obuDeviceId: String) - + fun onGetObuInfo(obuInfoStr: String) } \ No newline at end of file diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/obu/CallerObuInfoListenerManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/obu/CallerObuInfoListenerManager.kt index de793b087d..b93cf4932e 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/obu/CallerObuInfoListenerManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/obu/CallerObuInfoListenerManager.kt @@ -9,25 +9,12 @@ import com.mogo.eagle.core.function.call.base.CallerBase */ object CallerObuInfoListenerManager : CallerBase() { - fun invokeObuVersionName(obuVersionName: String) { + fun invokeGetObuInfo(obuInfoStr: String) { M_LISTENERS.forEach { val listener = it.value - listener.onGetObuVersionName(obuVersionName) + listener.onGetObuInfo(obuInfoStr) } } - fun invokeObuDeviceId(obuDeviceId: String) { - M_LISTENERS.forEach { - val listener = it.value - listener.onObuDeviceId(obuDeviceId) - } - } - -// fun invokeQueryContainersResponse(dockerList: List) { -// M_LISTENERS.forEach { -// val listener = it.value -// //TODO -// } -// } } \ No newline at end of file From 21d4a59062174dc61b32122052e78e5ad8fb8414 Mon Sep 17 00:00:00 2001 From: renwj Date: Wed, 15 Mar 2023 17:43:45 +0800 Subject: [PATCH 14/20] =?UTF-8?q?[m2]=20=E7=A7=BB=E9=99=A4=E5=85=B6?= =?UTF-8?q?=E5=AE=83application=E7=9A=84=E7=BC=96=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- settings.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/settings.gradle b/settings.gradle index d910a5cf11..9e4ae32d03 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,7 +1,7 @@ rootProject.name = 'MoGoEagleEye' include ':app' -include ':app_ipc_monitoring' -include ':app_mogo_magic_ring' +//include ':app_ipc_monitoring' +//include ':app_mogo_magic_ring' // 核心模块 From 90acff0056f313f149d8474165b7e5c73b571e66 Mon Sep 17 00:00:00 2001 From: renwj Date: Wed, 15 Mar 2023 17:44:27 +0800 Subject: [PATCH 15/20] =?UTF-8?q?[m2]=20=E4=BF=AE=E6=AD=A3=E7=94=B5?= =?UTF-8?q?=E9=87=8F=E8=BF=9B=E5=BA=A6=E5=8F=AF=E6=8B=96=E5=8A=A8=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/m2/res/layout/p_m2_view_status_bar.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/OCH/mogo-och-bus-passenger/src/m2/res/layout/p_m2_view_status_bar.xml b/OCH/mogo-och-bus-passenger/src/m2/res/layout/p_m2_view_status_bar.xml index 15a1c12b4f..20461e6c5a 100644 --- a/OCH/mogo-och-bus-passenger/src/m2/res/layout/p_m2_view_status_bar.xml +++ b/OCH/mogo-och-bus-passenger/src/m2/res/layout/p_m2_view_status_bar.xml @@ -30,8 +30,9 @@ android:layout_gravity="center" android:layout_marginStart="@dimen/dp_32" /> - + android:background="@null" + android:progressDrawable="@drawable/m2_power_seekbar_style" /> Date: Wed, 15 Mar 2023 17:45:23 +0800 Subject: [PATCH 16/20] =?UTF-8?q?[m2]=20=E4=BC=98=E5=8C=96=E7=94=B5?= =?UTF-8?q?=E9=87=8F=E5=9B=9E=E8=B0=83=E5=A4=84=E7=90=86=E9=80=BB=E8=BE=91?= =?UTF-8?q?=EF=BC=8C=E5=87=8F=E5=B0=91=E9=A2=91=E7=B9=81=E5=88=87=E6=8D=A2?= =?UTF-8?q?=E4=B8=BB=E7=BA=BF=E7=A8=8B=E7=9A=84=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../passenger/ui/widget/M2StatusBarView.kt | 44 +++++++++++++------ 1 file changed, 30 insertions(+), 14 deletions(-) diff --git a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/M2StatusBarView.kt b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/M2StatusBarView.kt index b3ca14611a..23e6a22f54 100644 --- a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/M2StatusBarView.kt +++ b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/M2StatusBarView.kt @@ -1,5 +1,6 @@ package com.mogo.och.bus.passenger.ui.widget +import android.annotation.* import android.content.Context import android.graphics.Color import android.util.AttributeSet @@ -14,9 +15,10 @@ import com.mogo.eagle.core.function.call.autopilot.CallerBatteryManagementSystem import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager import com.mogo.eagle.core.function.call.hmi.CallerHmiViewControlListenerManager import com.mogo.eagle.core.function.call.setting.CallerSkinModeListenerManager -import com.mogo.eagle.core.utilcode.util.ThreadUtils +import com.mogo.eagle.core.utilcode.kotlin.* import com.mogo.och.bus.passenger.R import kotlinx.android.synthetic.m2.p_m2_view_status_bar.view.* +import kotlinx.coroutines.* import me.jessyan.autosize.utils.AutoSizeUtils /** @@ -32,11 +34,16 @@ class M2StatusBarView @JvmOverloads constructor( const val TAG = "M2StatusBarView" } + @Volatile + private var oldBmsSoc: Float = -1.0f + init { LayoutInflater.from(context).inflate(R.layout.p_m2_view_status_bar, this, true) setBackgroundColor(Color.parseColor("#80FFFFFF")) } + + @SuppressLint("ClickableViewAccessibility") override fun onAttachedToWindow() { super.onAttachedToWindow() post { @@ -51,8 +58,12 @@ class M2StatusBarView @JvmOverloads constructor( //电量 CallerBatteryManagementSystemListenerManager.addListener(TAG,this) - progress.progress = 50 - tv_power_cos.text = "50%" + progress?.also { + it.progress = 50 + } + tv_power_cos?.also { + it.text = "50%" + } } override fun onSkinModeChange(skinMode: Int) { @@ -69,19 +80,24 @@ class M2StatusBarView @JvmOverloads constructor( CallerDevaToolsManager.hideStatusBar() } + @SuppressLint("SetTextI18n") override fun onBatteryManagementSystemStates(states: ChassisStatesOuterClass.BMSSystemStates) { - ThreadUtils.runOnUiThread { - val bmsSoc = states.bmsSoc - if(bmsSoc >1){ - progress.progress = bmsSoc.toInt() - tv_power_cos.text = "${bmsSoc.toInt()}%" - }else{ - val currenPower = (bmsSoc * 100).toInt() - progress.progress = currenPower - tv_power_cos.text = "$currenPower%" + val bmsSoc = states.bmsSoc + try { + if (oldBmsSoc != bmsSoc ) { + scope.launch { + if(bmsSoc >1){ + progress?.also { it.progress = bmsSoc.toInt() } + tv_power_cos?.also { it.text = "${bmsSoc.toInt()}%" } + }else{ + val power = (bmsSoc * 100).toInt() + progress?.also { it.progress = power } + tv_power_cos?.also {it.text = "$power%" } + } + } } + } finally { + oldBmsSoc = bmsSoc } } - - } \ No newline at end of file From 4f76f607585d34484a1935aabb43bf1da8435684 Mon Sep 17 00:00:00 2001 From: renwj Date: Wed, 15 Mar 2023 17:47:44 +0800 Subject: [PATCH 17/20] =?UTF-8?q?[m2]=20=E4=BF=AE=E6=AD=A3=E9=94=81?= =?UTF-8?q?=E8=BD=A6=E6=A8=A1=E5=BC=8F=E5=86=99=E6=AD=BB=E4=B8=BAtrue,=20?= =?UTF-8?q?=E5=BC=95=E8=B5=B7=E6=89=8B=E5=8A=A8=E5=88=87=E6=8D=A2=E8=A7=86?= =?UTF-8?q?=E8=A7=92=E4=B8=8D=E8=87=AA=E5=8A=A8=E5=9B=9E=E5=88=B0=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=E8=A7=86=E8=A7=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/mogo/map/AMapViewWrapper.java | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/AMapViewWrapper.java b/libraries/mogo-map/src/main/java/com/mogo/map/AMapViewWrapper.java index 81685eb25c..b682990656 100644 --- a/libraries/mogo-map/src/main/java/com/mogo/map/AMapViewWrapper.java +++ b/libraries/mogo-map/src/main/java/com/mogo/map/AMapViewWrapper.java @@ -982,21 +982,30 @@ public class AMapViewWrapper implements IMogoMapView, @Override public void setLockMode(boolean isLock) { if (checkAMapView()) { - mMapView.getMapAutoViewHelper().setLockMode(true); + MapAutoViewHelper mapAutoViewHelper = mMapView.getMapAutoViewHelper(); + if (mapAutoViewHelper != null) { + mapAutoViewHelper.setLockMode(isLock); + } } } @Override public void setScrollGesturesEnable(boolean isEnable) { if (checkAMapView()) { - mMapView.getMapAutoViewHelper().setScrollGesturesEnabled(isEnable); + MapAutoViewHelper mapAutoViewHelper = mMapView.getMapAutoViewHelper(); + if (mapAutoViewHelper != null) { + mapAutoViewHelper.setScrollGesturesEnabled(isEnable); + } } } @Override public void setAllGesturesEnabled(boolean isEnable) { if (checkAMapView()) { - mMapView.getMapAutoViewHelper().setAllGesturesEnabled(isEnable); + MapAutoViewHelper mapAutoViewHelper = mMapView.getMapAutoViewHelper(); + if (mapAutoViewHelper != null) { + mapAutoViewHelper.setAllGesturesEnabled(isEnable); + } } } From aac230fecbe45ccb3de66cc37248cc1e59626c29 Mon Sep 17 00:00:00 2001 From: renwj Date: Wed, 15 Mar 2023 17:43:45 +0800 Subject: [PATCH 18/20] =?UTF-8?q?[m2]=20=E7=A7=BB=E9=99=A4=E5=85=B6?= =?UTF-8?q?=E5=AE=83application=E7=9A=84=E7=BC=96=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- settings.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/settings.gradle b/settings.gradle index 253517d62f..da0519ef75 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,7 +1,7 @@ rootProject.name = 'MoGoEagleEye' include ':app' -include ':app_ipc_monitoring' -include ':app_mogo_magic_ring' +//include ':app_ipc_monitoring' +//include ':app_mogo_magic_ring' // 核心模块 From fae152908b9ea45433b9b0b8e63957e6addd9f01 Mon Sep 17 00:00:00 2001 From: renwj Date: Wed, 15 Mar 2023 18:14:24 +0800 Subject: [PATCH 19/20] =?UTF-8?q?[m2]=20=E6=BB=91=E5=8A=A8=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E6=A0=8F=EF=BC=8C=E4=B8=8D=E5=BA=94=E8=AF=A5=E8=A7=A6?= =?UTF-8?q?=E5=8F=91=E5=9C=B0=E5=9B=BE=E6=BB=91=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mogo/och/bus/passenger/ui/widget/M2StatusBarView.kt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/M2StatusBarView.kt b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/M2StatusBarView.kt index 23e6a22f54..7db3fc7eff 100644 --- a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/M2StatusBarView.kt +++ b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/M2StatusBarView.kt @@ -40,6 +40,8 @@ class M2StatusBarView @JvmOverloads constructor( init { LayoutInflater.from(context).inflate(R.layout.p_m2_view_status_bar, this, true) setBackgroundColor(Color.parseColor("#80FFFFFF")) + isClickable = true + isFocusable = true } From 94b29fe5d63a8f3f235c9e2a9f17cd81fdf71346 Mon Sep 17 00:00:00 2001 From: chenfufeng Date: Wed, 15 Mar 2023 19:28:49 +0800 Subject: [PATCH 20/20] =?UTF-8?q?[Opt3.0]=E8=A7=A3=E5=86=B3=E5=81=B6?= =?UTF-8?q?=E7=8E=B0=E9=AB=98=E7=B2=BE=E5=9C=B0=E5=9B=BE=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E7=9A=84ANR=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/mogo/map/AMapViewWrapper.java | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/AMapViewWrapper.java b/libraries/mogo-map/src/main/java/com/mogo/map/AMapViewWrapper.java index 81685eb25c..a355f8089c 100644 --- a/libraries/mogo-map/src/main/java/com/mogo/map/AMapViewWrapper.java +++ b/libraries/mogo-map/src/main/java/com/mogo/map/AMapViewWrapper.java @@ -4,7 +4,6 @@ import static com.mogo.eagle.core.data.deva.chain.ChainConstant.CHAIN_ALIAS_CODE import static com.mogo.eagle.core.data.deva.chain.ChainConstant.CHAIN_ALIAS_CODE_INIT_ON_MAP_LOADED; import static com.mogo.eagle.core.data.deva.chain.ChainConstant.CHAIN_LINK_INIT; import static com.mogo.eagle.core.data.deva.chain.ChainConstant.CHAIN_LINK_LOG_CONNECT_STATUS; -import static com.mogo.eagle.core.utilcode.mogo.logger.Logger.d; import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_MAP; import static com.mogo.map.uicontroller.VisualAngleMode.MAP_STYLE_VR_ANGLE_300; import static com.mogo.map.uicontroller.VisualAngleMode.MAP_STYLE_VR_ANGLE_CROSS; @@ -41,8 +40,8 @@ import com.mogo.eagle.core.function.call.map.CallerMapDevaListenerManager; import com.mogo.eagle.core.function.call.map.CallerMapRoadListenerManager; import com.mogo.eagle.core.function.call.map.CallerMapStyleListenerManager; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; -import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant; import com.mogo.eagle.core.utilcode.mogo.toast.TipToast; +import com.mogo.eagle.core.utilcode.util.ThreadUtils; import com.mogo.eagle.core.utilcode.util.UiThreadHandler; import com.mogo.map.hdcache.IHdCacheListener; import com.mogo.map.listener.MogoMapListenerHandler; @@ -168,17 +167,19 @@ public class AMapViewWrapper implements IMogoMapView, return; } MapAutoViewHelper options = mMapView.getMapAutoViewHelper(); - if (options != null) { - //设置手势是否可以缩放 isCanZoom true 可缩放 false 不可缩放 - options.setZoomGesturesEnabled(true); - options.setScaleVRMode(true); + ThreadUtils.getIoPool().submit(() -> { + if (options != null) { + //设置手势是否可以缩放 isCanZoom true 可缩放 false 不可缩放 + options.setZoomGesturesEnabled(true); + options.setScaleVRMode(true); // options.setAllGesturesEnabled(false); //禁止全部手势 - if (options.getMyLocationStyle() != null) { - options.getMyLocationStyle().setDisplayAnimEnable(true); + if (options.getMyLocationStyle() != null) { + options.getMyLocationStyle().setDisplayAnimEnable(true); + } + //修改自车模型,未来需区分车的类型 + options.setMyLocationStyle(options.getMyLocationStyle().myLocationIcon(HdMapBuildConfig.currentCarVrIconRes, true)); } - //修改自车模型,未来需区分车的类型 - options.setMyLocationStyle(options.getMyLocationStyle().myLocationIcon(HdMapBuildConfig.currentCarVrIconRes, true)); - } + }); } private void initListeners() {