From 051c859e0ce1fd8dd0f6e5aea3a17221872fd0b0 Mon Sep 17 00:00:00 2001 From: xuxinchao Date: Thu, 5 Sep 2024 10:16:38 +0800 Subject: [PATCH 01/12] =?UTF-8?q?[6.6.0]=E4=BF=AE=E6=94=B9=E6=8E=A5?= =?UTF-8?q?=E7=AE=A1=E8=BD=A6=E8=BE=86=E9=A9=BE=E9=A9=B6=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E7=9B=91=E5=90=ACKey?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zhjt/mogo_core_function_devatools/badcase/BadCaseManager.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/BadCaseManager.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/BadCaseManager.kt index 4889b82e34..e43a5babc0 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/BadCaseManager.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/BadCaseManager.kt @@ -130,7 +130,7 @@ internal object BadCaseManager : LifecycleEventObserver, IMoGoAutopilotRecordLis CallerFsm2024ListenerManager.addListener(TAG,this) CallerAutopilotStatisticsListenerManager.addListener(TAG,this) CallerOrderListenerManager.addListener(TAG,this) - CallerAutoPilotStatusListenerManager.addListener(TAG,this) + CallerAutoPilotStatusListenerManager.addListener("RecordViewManager",this) CallerChassisStatesListenerManager.addListener(TAG,this) } checkDelete(context) From 538e99d02050b0d730f5a9d490b1edd8d7d0e083 Mon Sep 17 00:00:00 2001 From: aibingbing Date: Thu, 5 Sep 2024 14:42:47 +0800 Subject: [PATCH 02/12] =?UTF-8?q?[6.6.0][=E5=85=A8=E5=B1=80=E8=BD=A8?= =?UTF-8?q?=E8=BF=B9]=20fix:=20=E5=85=B3=E9=97=AD=E7=BB=98=E5=88=B6?= =?UTF-8?q?=E6=B8=90=E5=8F=98=EF=BC=8C=E5=A6=82=E6=9E=9C=E8=BD=A8=E8=BF=B9?= =?UTF-8?q?=E6=98=AF=E5=9C=86=E5=BD=A2=E4=BA=A4=E5=8F=89=E9=87=8D=E5=A4=8D?= =?UTF-8?q?=E5=90=8E=E9=97=AA=E7=83=81=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../business/trajectoryoverlay/TrajectoryOverlayDrawer.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/trajectoryoverlay/TrajectoryOverlayDrawer.java b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/trajectoryoverlay/TrajectoryOverlayDrawer.java index 7f7104eab5..853dcf960c 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/trajectoryoverlay/TrajectoryOverlayDrawer.java +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/trajectoryoverlay/TrajectoryOverlayDrawer.java @@ -125,10 +125,10 @@ public class TrajectoryOverlayDrawer { } else { if (colors == null) { ArrayList> temps = new ArrayList<>(); - temps.add(new Pair<>(0, 70)); + temps.add(new Pair<>(0, 100)); temps.add(new Pair<>(2, 100)); temps.add(new Pair<>(98, 100)); - temps.add(new Pair<>(100, 70)); + temps.add(new Pair<>(100, 100)); List alphas = MapTools.INSTANCE.getColorAlpha(temps); if (alphas != null && !alphas.isEmpty()) { colors = new ArrayList<>(); @@ -222,7 +222,7 @@ public class TrajectoryOverlayDrawer { } else { if (colors != null && !colors.isEmpty()) { builder.colors(colors); - builder.setIsGradient(true); + builder.setIsGradient(false); builder.setLightOn(false); //builder.setLightColor(COLOR_LIGHT); //builder.setLightSpeed(0.3f); From 08b00f65db395f2df1940e7bcc09a5bc76781f08 Mon Sep 17 00:00:00 2001 From: renwj Date: Thu, 5 Sep 2024 16:29:12 +0800 Subject: [PATCH 03/12] =?UTF-8?q?[6.6.0][=E8=A7=86=E8=A7=92=E5=88=87?= =?UTF-8?q?=E6=8D=A2]=20=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 --- .../map/switchvisual/VisualViewModel.kt | 4 +- .../taxi/passenger/ui/debug/DebugViewModel.kt | 4 +- .../angle/MoGoVisualAngleChangeProvider.kt | 15 ++-- .../core/function/angle/scenes/CrossRoad.kt | 35 ++++++---- .../core/function/angle/scenes/Default.kt | 34 ++++----- .../core/function/angle/scenes/LongSight.kt | 22 ++---- .../core/function/angle/scenes/RoadEvent.kt | 30 ++++---- .../eagle/core/function/angle/scenes/Roma.kt | 29 ++++---- .../core/function/api/map/angle/Scenes.kt | 69 +++++++++++++++---- 9 files changed, 135 insertions(+), 107 deletions(-) diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/map/switchvisual/VisualViewModel.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/map/switchvisual/VisualViewModel.kt index 8ab46c8ee7..3fd5f7993e 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/map/switchvisual/VisualViewModel.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/map/switchvisual/VisualViewModel.kt @@ -32,8 +32,8 @@ class VisualViewModel : ViewModel(), } override fun onSceneChanged(scene: Scene) { - if (scene.isCanSwitch) {// 可切换 - when (scene.angle) { + if (scene.isCanSwitch()) {// 可切换 + when (scene.getVisualAngleMode()) { VisualAngleMode.MODE_MEDIUM_SIGHT -> { UiThreadHandler.post({ this.viewCallback?.setViewShow(true) diff --git a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/debug/DebugViewModel.kt b/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/debug/DebugViewModel.kt index 74a1a957b9..2c397cef64 100644 --- a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/debug/DebugViewModel.kt +++ b/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/debug/DebugViewModel.kt @@ -33,8 +33,8 @@ class DebugViewModel : ViewModel(), } override fun onSceneChanged(scene: Scene) { - if (scene.isCanSwitch) {// 可切换 - when (scene.angle) { + if (scene.isCanSwitch()) {// 可切换 + when (scene.getVisualAngleMode()) { VisualAngleMode.MODE_MEDIUM_SIGHT -> { UiThreadHandler.post({ this.viewCallback?.setViewShow(true) diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/MoGoVisualAngleChangeProvider.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/MoGoVisualAngleChangeProvider.kt index d904d799ce..0a22da8fa6 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/MoGoVisualAngleChangeProvider.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/MoGoVisualAngleChangeProvider.kt @@ -152,7 +152,7 @@ class MoGoVisualAngleChangeProvider: IMoGoVisualAngleChangeProvider { override fun changeScene(scene: Scene) { prevJob?.safeCancel() scope.launch { - val delay = scene.delay + val delay = scene.getDelay() if (delay > 0) { delay(delay) } @@ -165,8 +165,8 @@ class MoGoVisualAngleChangeProvider: IMoGoVisualAngleChangeProvider { verifyPrior = false } if (verifyPrior) { - val lastPriority = prev?.priority ?: Int.MIN_VALUE - val currentPriority = scene.priority + val lastPriority = prev?.getPriority() ?: Int.MIN_VALUE + val currentPriority = scene.getPriority() if (lastPriority > currentPriority) { return@launch } @@ -182,18 +182,19 @@ class MoGoVisualAngleChangeProvider: IMoGoVisualAngleChangeProvider { } private fun doChangeAngle(target: Scene) { - val angle = target.angle + val angle = target.getVisualAngleMode() CallerMapUIServiceManager.getMapUIController()?.also { Log.d(TAG, "--- doChangeAngle ---: $target") val prev = prevScene.get() try { - if (!target.isCanTouch) { + if (!target.isCanTouch()) { CallerMapUIServiceManager.getMapUIController()?.setAllGesturesEnabled(false) } else { CallerMapUIServiceManager.getMapUIController()?.setAllGesturesEnabled(true) } val screenToOriginDis = target.getScreenToOriginDis() when(screenToOriginDis) { + ScreenToOriginDis.NONE -> {} DEFAULT -> CallerMapUIServiceManager.getMapUIController()?.setScreenToOriginDis(4.0f) UP -> CallerMapUIServiceManager.getMapUIController()?.setScreenToOriginDis(3.0f) DOWN -> CallerMapUIServiceManager.getMapUIController()?.setScreenToOriginDis(5.0f) @@ -206,9 +207,9 @@ class MoGoVisualAngleChangeProvider: IMoGoVisualAngleChangeProvider { notifyChanged(target) } prevScene.set(target) - if (target.displayThreshold > 0) { + if (target.getDisplayThreshold() > 0) { scope.launch { - delay(target.displayThreshold) + delay(target.getDisplayThreshold()) doChangeAngle(Default()) } } diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/scenes/CrossRoad.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/scenes/CrossRoad.kt index 4b4227754f..785c3f12c1 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/scenes/CrossRoad.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/scenes/CrossRoad.kt @@ -1,8 +1,11 @@ package com.mogo.eagle.core.function.angle.scenes +import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.function.api.map.angle.Scene import com.mogo.eagle.core.function.api.map.angle.ScreenToOriginDis import com.mogo.eagle.core.function.api.map.angle.ScreenToOriginDis.DOWN +import com.mogo.eagle.core.function.api.map.angle.ScreenToOriginDis.NONE +import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils import com.mogo.map.uicontroller.VisualAngleMode import com.mogo.map.uicontroller.VisualAngleMode.MAP_STYLE_VR_ANGLE_CROSS_NEW import java.util.concurrent.TimeUnit @@ -10,28 +13,32 @@ import java.util.concurrent.TimeUnit /** * 十字路口 */ -class CrossRoad(private val delayTime: Long = 0, private val unit: TimeUnit = TimeUnit.SECONDS): Scene { - override val angle: VisualAngleMode - get() = MAP_STYLE_VR_ANGLE_CROSS_NEW +class CrossRoad(private val delayTime: Long = 0, unit: TimeUnit = TimeUnit.SECONDS) : + Scene(delayTime, unit) { - override val priority: Int = 0 - override val displayThreshold: Long - get() = -1 + override fun getVisualAngleMode(): VisualAngleMode { + if (AppIdentityModeUtils.isB2(FunctionBuildConfig.appIdentityMode)) { + return VisualAngleMode.MAP_STYLE_VR_ANGLE_CROSS + } + return MAP_STYLE_VR_ANGLE_CROSS_NEW + } - override val delay: Long - get() = unit.toMillis(delayTime) + override fun isCanTouch(): Boolean { + return false + } - override val isCanSwitch: Boolean - get() = false - - override val isCanTouch: Boolean - get() = false + override fun isCanSwitch(): Boolean { + return false + } override fun toString(): String { - return "CrossRoad(delayTime=${delayTime}, priority=${priority}, displayThreshold: ${displayThreshold}, priority=${priority})" + return "CrossRoad(delayTime=${delayTime}, priority=${getPriority()}, displayThreshold: ${getDisplayThreshold()}, priority=${getPriority()})" } override fun getScreenToOriginDis(): ScreenToOriginDis { + if (AppIdentityModeUtils.isB2(FunctionBuildConfig.appIdentityMode)) { + return NONE + } return DOWN } } diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/scenes/Default.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/scenes/Default.kt index f6f16ba578..1d2ce42466 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/scenes/Default.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/scenes/Default.kt @@ -1,37 +1,29 @@ package com.mogo.eagle.core.function.angle.scenes +import android.util.Log +import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.function.api.map.angle.Scene import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager +import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils import com.mogo.map.uicontroller.VisualAngleMode import com.mogo.map.uicontroller.VisualAngleMode.MODE_MEDIUM_SIGHT import java.util.concurrent.TimeUnit /** * 默认视图 - * @param delay: 表示多少稍后,默认值为2 - * @param unit: 时间单位,默认为秒 */ +class Default(val delayTime: Long = 0, val unit: TimeUnit = TimeUnit.SECONDS, val forceClosePrev: Boolean = false): Scene(delayTime, unit) { -class Default(val delayTime: Long = 0, val unit: TimeUnit = TimeUnit.SECONDS, val forceClosePrev: Boolean = false): Scene { - - override val angle: VisualAngleMode - get() = CallerMapUIServiceManager.getMapUIController()?.getVrAngleDefaultMode() ?: MODE_MEDIUM_SIGHT - - override val priority: Int = 0 - - override val displayThreshold: Long - get() = 0 - - override val delay: Long - get() = unit.toMillis(delayTime) - - override val isCanSwitch: Boolean - get() = true - - override val isCanTouch: Boolean - get() = true + override fun getVisualAngleMode(): VisualAngleMode { + Log.d("Default", "---- 1 --------------") + if (AppIdentityModeUtils.isB2(FunctionBuildConfig.appIdentityMode)) { + Log.d("Default", "---- 2 --------------") + return VisualAngleMode.MAP_STYLE_VR_ERHAI_B2 + } + return CallerMapUIServiceManager.getMapUIController()?.getVrAngleDefaultMode() ?: MODE_MEDIUM_SIGHT + } override fun toString(): String { - return "Default(delay=$delay, unit=$unit, angle=$angle, priority=$priority, closePrevious=$forceClosePrev)" + return "Default(delay=${getDelay()}, unit=$unit, angle=${getVisualAngleMode()}, priority=${getPriority()}, closePrevious=$forceClosePrev)" } } \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/scenes/LongSight.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/scenes/LongSight.kt index a26ac58437..3189dcd1e7 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/scenes/LongSight.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/scenes/LongSight.kt @@ -5,21 +5,13 @@ import com.mogo.map.uicontroller.VisualAngleMode import com.mogo.map.uicontroller.VisualAngleMode.MODE_LONG_SIGHT import java.util.concurrent.TimeUnit -class LongSight(private val delayTime: Long = 0, private val unit: TimeUnit = TimeUnit.SECONDS): Scene { +class LongSight(private val delayTime: Long = 0, private val unit: TimeUnit = TimeUnit.SECONDS): Scene(delayTime, unit) { - override val angle: VisualAngleMode - get() = MODE_LONG_SIGHT - override val priority: Int - get() = 0 - override val displayThreshold: Long - get() = -1 + override fun getVisualAngleMode(): VisualAngleMode { + return MODE_LONG_SIGHT + } - override val delay: Long - get() = unit.toMillis(delayTime) - - override val isCanSwitch: Boolean - get() = true - - override val isCanTouch: Boolean - get() = true + override fun toString(): String { + return "LongSight(delayTime=${delayTime}, priority=${getPriority()}, displayThreshold: ${getDisplayThreshold()}, priority=${getPriority()})" + } } \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/scenes/RoadEvent.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/scenes/RoadEvent.kt index 5244428bac..b2b97f9b79 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/scenes/RoadEvent.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/scenes/RoadEvent.kt @@ -1,33 +1,27 @@ package com.mogo.eagle.core.function.angle.scenes +import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.function.api.map.angle.Scene import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager +import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils import com.mogo.map.uicontroller.VisualAngleMode +import com.mogo.map.uicontroller.VisualAngleMode.MAP_STYLE_VR_ERHAI_B2 import com.mogo.map.uicontroller.VisualAngleMode.MODE_MEDIUM_SIGHT import java.util.concurrent.TimeUnit /** * 道路事件 */ -class RoadEvent(private val delayTime: Long, private val unit: TimeUnit): Scene { +class RoadEvent(delayTime: Long, unit: TimeUnit): Scene(delayTime, unit) { - override val angle: VisualAngleMode = CallerMapUIServiceManager.getMapUIController()?.getVrAngleDefaultMode() ?: MODE_MEDIUM_SIGHT - - override val priority: Int = 0 - - override val displayThreshold: Long - get() = -1 - - override val delay: Long - get() = unit.toMillis(delayTime) - - override fun toString(): String { - return "RoadEvent(priority=${priority}, displayThreshold: ${displayThreshold}, priority=${priority}" + override fun getVisualAngleMode(): VisualAngleMode { + if (AppIdentityModeUtils.isB2(FunctionBuildConfig.appIdentityMode)) { + return MAP_STYLE_VR_ERHAI_B2 + } + return CallerMapUIServiceManager.getMapUIController()?.getVrAngleDefaultMode() ?: MODE_MEDIUM_SIGHT } - override val isCanSwitch: Boolean - get() = true - - override val isCanTouch: Boolean - get() = true + override fun toString(): String { + return "RoadEvent(mode: ${getVisualAngleMode()}, priority=${getPriority()}, displayThreshold: ${getDisplayThreshold()}," + } } \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/scenes/Roma.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/scenes/Roma.kt index fa15d5108e..640d5bf2eb 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/scenes/Roma.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/scenes/Roma.kt @@ -8,18 +8,21 @@ import java.util.concurrent.TimeUnit /** * 漫游场景 */ -class Roma(val delayTime: Long = 2, val unit: TimeUnit = TimeUnit.SECONDS): Scene { +class Roma(val delayTime: Long = 2, val unit: TimeUnit = TimeUnit.SECONDS): Scene(delayTime, unit) { - override val angle: VisualAngleMode - get() = MAP_STYLE_VR_ROMA - override val priority: Int - get() = 1 - override val displayThreshold: Long - get() = -1 - override val delay: Long - get() = unit.toMillis(delayTime) - override val isCanSwitch: Boolean - get() = false - override val isCanTouch: Boolean - get() = false + override fun getVisualAngleMode(): VisualAngleMode { + return MAP_STYLE_VR_ROMA + } + + override fun isCanTouch(): Boolean { + return false + } + + override fun isCanSwitch(): Boolean { + return false + } + + override fun getPriority(): Int { + return 1 + } } \ No newline at end of file diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/map/angle/Scenes.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/map/angle/Scenes.kt index 0e616f316f..0221013516 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/map/angle/Scenes.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/map/angle/Scenes.kt @@ -2,23 +2,62 @@ package com.mogo.eagle.core.function.api.map.angle import com.mogo.eagle.core.function.api.map.angle.ScreenToOriginDis.DEFAULT import com.mogo.map.uicontroller.* - -interface IAttach { - val angle: VisualAngleMode - val priority: Int - val displayThreshold: Long //最大展示时长 > 0; 表示最长展示多长时间, -1 表示,一直展示,直到触发默认视角, 0: 默认视角专用值, - val delay: Long // 延迟多长时间切换 - val isCanSwitch: Boolean // 是否可切换 - val isCanTouch: Boolean // 是否响应地图触摸事件 - - fun getScreenToOriginDis(): ScreenToOriginDis = DEFAULT -} +import java.util.concurrent.TimeUnit enum class ScreenToOriginDis { - DEFAULT, - UP, - DOWN + NONE, + DEFAULT, + UP, + DOWN } -interface Scene: IAttach +abstract class Scene(private val delay: Long, private val unit: TimeUnit = TimeUnit.SECONDS) { + + /** + * 获取当前视角场景的视角类型,此返回值要与地图支持的视角类型匹配 + */ + abstract fun getVisualAngleMode(): VisualAngleMode + + /** + * 当前视角场景的优先级,优先级越高,表示可以打断优先级低的视角场景 + */ + open fun getPriority(): Int = 0 + + /** + * 单位:(毫秒) + * 表示多长时间之后切换到当前视角场景 + */ + final fun getDelay(): Long = unit.toMillis(delay) + + /** + * 单位:(毫秒) + * 最大展示时长 > 0; 表示最长展示多长时间, -1 表示,一直展示,直到触发默认视角, 0: 默认视角专用值, + * @return + * 大于0: 此场景对应的视角展示指定时长后,自动切换到默认视角场景 + * 小于0: 一直展示此场景的视角,直到比此场景优先级:[getPriority]更高的场景触发时,才会终止 + */ + open fun getDisplayThreshold(): Long = 0 + + /** + * 用于业务层视角切换按钮的使能状态 + * @return true: 可以切换; false:不可以切换 + */ + open fun isCanSwitch(): Boolean = true + + /** + * 用于控制高精地图控件(MapAutoView)是否禁掉所有手势 + * @return true: 响应地图控件的触摸事件及手势;false:不响应地图控件的触摸事件及手势 + */ + open fun isCanTouch(): Boolean = true + + /** + * 返回自车相对于地图控件的位置 + * @return + * 1. [ScreenToOriginDis.NONE]: 不设置 + * 2. [ScreenToOriginDis.DEFAULT]: 默认的位置 + * 3. [ScreenToOriginDis.UP]: 偏上 + * 4. [ScreenToOriginDis.DOWN]: 偏下 + */ + open fun getScreenToOriginDis(): ScreenToOriginDis = DEFAULT +} From c12d8e54fdc1fc3ad7cc5a552453894e349edcc7 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Thu, 5 Sep 2024 17:27:19 +0800 Subject: [PATCH 04/12] =?UTF-8?q?[6.6.0]=20[fea]=20[driver=20=E4=BA=8B?= =?UTF-8?q?=E4=BB=B6=E5=86=99=E5=85=A5=E6=97=B6=E5=B8=A6=E5=85=A5]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../2.json | 577 ++++++++++++++++++ .../och/weaknet/bean/ShuttleEventRequest.kt | 8 +- .../mogo/och/weaknet/database/MyDataBase.kt | 11 +- .../weaknet/database/bean/EventDataBean.kt | 6 + .../database/repository/EventRepository.kt | 5 + 5 files changed, 599 insertions(+), 8 deletions(-) create mode 100644 OCH/shuttle/driver_weaknet/schemas/com.mogo.och.weaknet.database.MyDataBase/2.json diff --git a/OCH/shuttle/driver_weaknet/schemas/com.mogo.och.weaknet.database.MyDataBase/2.json b/OCH/shuttle/driver_weaknet/schemas/com.mogo.och.weaknet.database.MyDataBase/2.json new file mode 100644 index 0000000000..11a83b0e97 --- /dev/null +++ b/OCH/shuttle/driver_weaknet/schemas/com.mogo.och.weaknet.database.MyDataBase/2.json @@ -0,0 +1,577 @@ +{ + "formatVersion": 1, + "database": { + "version": 2, + "identityHash": "66522c4500a3e7f83bfcabf98096c6bd", + "entities": [ + { + "tableName": "contrail_data_table", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `line_id` INTEGER, `csv_file_url` TEXT, `csv_file_md5` TEXT, `txt_file_url` TEXT, `txt_file_md5` TEXT, `contrail_save_time` INTEGER, `md5` TEXT)", + "fields": [ + { + "fieldPath": "id", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "lineId", + "columnName": "line_id", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "csvFileUrl", + "columnName": "csv_file_url", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "csvFileMd5", + "columnName": "csv_file_md5", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "txtFileUrl", + "columnName": "txt_file_url", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "txtFileMd5", + "columnName": "txt_file_md5", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "contrailSaveTime", + "columnName": "contrail_save_time", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "md5", + "columnName": "md5", + "affinity": "TEXT", + "notNull": false + } + ], + "primaryKey": { + "columnNames": [ + "id" + ], + "autoGenerate": true + }, + "indices": [ + { + "name": "index_contrail_data_table_line_id", + "unique": false, + "columnNames": [ + "line_id" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_contrail_data_table_line_id` ON `${TABLE_NAME}` (`line_id`)" + }, + { + "name": "index_contrail_data_table_md5", + "unique": false, + "columnNames": [ + "md5" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_contrail_data_table_md5` ON `${TABLE_NAME}` (`md5`)" + } + ], + "foreignKeys": [] + }, + { + "tableName": "line_data_table", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `line_id` INTEGER, `line_name` TEXT, `end_station_name` TEXT, `line_get_time` INTEGER NOT NULL)", + "fields": [ + { + "fieldPath": "id", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "lineId", + "columnName": "line_id", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "lineName", + "columnName": "line_name", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "endStationName", + "columnName": "end_station_name", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "linegetTime", + "columnName": "line_get_time", + "affinity": "INTEGER", + "notNull": true + } + ], + "primaryKey": { + "columnNames": [ + "id" + ], + "autoGenerate": true + }, + "indices": [ + { + "name": "index_line_data_table_line_id", + "unique": false, + "columnNames": [ + "line_id" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_line_data_table_line_id` ON `${TABLE_NAME}` (`line_id`)" + } + ], + "foreignKeys": [] + }, + { + "tableName": "site_data_table", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `site_id` INTEGER, `line_id` INTEGER, `name` TEXT, `name_kr` TEXT, `seq` INTEGER, `gcj_lon` REAL, `gcj_lat` REAL, `lon` REAL, `lat` REAL, `introduction` TEXT, `is_play_tts` INTEGER, `md5` TEXT)", + "fields": [ + { + "fieldPath": "id", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "siteId", + "columnName": "site_id", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "lineId", + "columnName": "line_id", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "name", + "columnName": "name", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "nameKr", + "columnName": "name_kr", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "seq", + "columnName": "seq", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "gcjLon", + "columnName": "gcj_lon", + "affinity": "REAL", + "notNull": false + }, + { + "fieldPath": "gcjLat", + "columnName": "gcj_lat", + "affinity": "REAL", + "notNull": false + }, + { + "fieldPath": "lon", + "columnName": "lon", + "affinity": "REAL", + "notNull": false + }, + { + "fieldPath": "lat", + "columnName": "lat", + "affinity": "REAL", + "notNull": false + }, + { + "fieldPath": "introduction", + "columnName": "introduction", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "isPlayTts", + "columnName": "is_play_tts", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "md5", + "columnName": "md5", + "affinity": "TEXT", + "notNull": false + } + ], + "primaryKey": { + "columnNames": [ + "id" + ], + "autoGenerate": true + }, + "indices": [ + { + "name": "index_site_data_table_site_id", + "unique": false, + "columnNames": [ + "site_id" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_site_data_table_site_id` ON `${TABLE_NAME}` (`site_id`)" + }, + { + "name": "index_site_data_table_line_id", + "unique": false, + "columnNames": [ + "line_id" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_site_data_table_line_id` ON `${TABLE_NAME}` (`line_id`)" + } + ], + "foreignKeys": [] + }, + { + "tableName": "task_data_table", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `task_id` INTEGER, `line_id` INTEGER, `task_data` INTEGER, `task_start_time` INTEGER, `start_time` INTEGER, `end_time` INTEGER, `task_get_time` INTEGER NOT NULL, `status` INTEGER)", + "fields": [ + { + "fieldPath": "id", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "taskId", + "columnName": "task_id", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "lineId", + "columnName": "line_id", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "taskDate", + "columnName": "task_data", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "taskStartTime", + "columnName": "task_start_time", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "startTime", + "columnName": "start_time", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "endtime", + "columnName": "end_time", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "taskgetTime", + "columnName": "task_get_time", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "status", + "columnName": "status", + "affinity": "INTEGER", + "notNull": false + } + ], + "primaryKey": { + "columnNames": [ + "id" + ], + "autoGenerate": true + }, + "indices": [ + { + "name": "index_task_data_table_task_id", + "unique": false, + "columnNames": [ + "task_id" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_task_data_table_task_id` ON `${TABLE_NAME}` (`task_id`)" + }, + { + "name": "index_task_data_table_line_id", + "unique": false, + "columnNames": [ + "line_id" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_task_data_table_line_id` ON `${TABLE_NAME}` (`line_id`)" + } + ], + "foreignKeys": [] + }, + { + "tableName": "used_task_data_table", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `task_id` INTEGER, `line_id` INTEGER, `site_id` INTEGER, `line_name` TEXT, `name` TEXT, `name_kr` TEXT, `seq` INTEGER, `gcj_lon` REAL, `gcj_lat` REAL, `lon` REAL, `lat` REAL, `driving_status` INTEGER, `leaving` INTEGER, `arrived_time` INTEGER, `leave_time` INTEGER, `introduction` TEXT, `is_play_tts` INTEGER, `event_save_time` INTEGER NOT NULL)", + "fields": [ + { + "fieldPath": "id", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "taskId", + "columnName": "task_id", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "lineId", + "columnName": "line_id", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "siteId", + "columnName": "site_id", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "lineName", + "columnName": "line_name", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "name", + "columnName": "name", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "nameKr", + "columnName": "name_kr", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "seq", + "columnName": "seq", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "gcjLon", + "columnName": "gcj_lon", + "affinity": "REAL", + "notNull": false + }, + { + "fieldPath": "gcjLat", + "columnName": "gcj_lat", + "affinity": "REAL", + "notNull": false + }, + { + "fieldPath": "lon", + "columnName": "lon", + "affinity": "REAL", + "notNull": false + }, + { + "fieldPath": "lat", + "columnName": "lat", + "affinity": "REAL", + "notNull": false + }, + { + "fieldPath": "drivingStatus", + "columnName": "driving_status", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "leaving", + "columnName": "leaving", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "arrivedTime", + "columnName": "arrived_time", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "leaveTime", + "columnName": "leave_time", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "introduction", + "columnName": "introduction", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "isPlayTts", + "columnName": "is_play_tts", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "eventSaveTime", + "columnName": "event_save_time", + "affinity": "INTEGER", + "notNull": true + } + ], + "primaryKey": { + "columnNames": [ + "id" + ], + "autoGenerate": true + }, + "indices": [], + "foreignKeys": [] + }, + { + "tableName": "event_data_table", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `event_type` TEXT, `lineId` INTEGER, `lineName` TEXT, `task_id` INTEGER, `task_start_time` INTEGER, `business_time` INTEGER, `write_version` INTEGER, `site_id` INTEGER, `seq` INTEGER, `driver_id` INTEGER, `event_save_time` INTEGER NOT NULL, `update_status` INTEGER NOT NULL)", + "fields": [ + { + "fieldPath": "id", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "eventType", + "columnName": "event_type", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "lineId", + "columnName": "lineId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "lineName", + "columnName": "lineName", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "taskId", + "columnName": "task_id", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "taskStartTime", + "columnName": "task_start_time", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "businessTime", + "columnName": "business_time", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "writeVersion", + "columnName": "write_version", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "siteId", + "columnName": "site_id", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "seq", + "columnName": "seq", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "driverId", + "columnName": "driver_id", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "eventSaveTime", + "columnName": "event_save_time", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "updateStatus", + "columnName": "update_status", + "affinity": "INTEGER", + "notNull": true + } + ], + "primaryKey": { + "columnNames": [ + "id" + ], + "autoGenerate": true + }, + "indices": [ + { + "name": "index_event_data_table_event_save_time", + "unique": false, + "columnNames": [ + "event_save_time" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_event_data_table_event_save_time` ON `${TABLE_NAME}` (`event_save_time`)" + } + ], + "foreignKeys": [] + } + ], + "views": [], + "setupQueries": [ + "CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)", + "INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '66522c4500a3e7f83bfcabf98096c6bd')" + ] + } +} \ No newline at end of file diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/bean/ShuttleEventRequest.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/bean/ShuttleEventRequest.kt index fa6106075b..1ea029ba2e 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/bean/ShuttleEventRequest.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/bean/ShuttleEventRequest.kt @@ -18,15 +18,9 @@ data class ShuttleEventRequest(val requestId: String, val sn: String, val busine val md5Hex = DigestUtils.md5Hex(waitUpdateEvent.toString()) val eventList4Request = mutableListOf() var tempEvent:Event?=null - var driverId = 0L - LoginStatusManager.getLoginInfo()?.let { - if(it.driverId>0){ - driverId = it.driverId - } - } waitUpdateEvent.forEach { tempEvent = Event(it.eventType, - EventData(it.taskId,it.businessTime,it.writeVersion,it.siteId,it.seq,driverId) + EventData(it.taskId,it.businessTime,it.writeVersion,it.siteId,it.seq,it.driverId) ) eventList4Request.add(tempEvent!!) } diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/MyDataBase.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/MyDataBase.kt index 7d0635d452..f525b824dc 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/MyDataBase.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/MyDataBase.kt @@ -4,6 +4,8 @@ import android.os.Environment import androidx.room.Database import androidx.room.Room import androidx.room.RoomDatabase +import androidx.room.migration.Migration +import androidx.sqlite.db.SupportSQLiteDatabase import androidx.sqlite.db.SupportSQLiteOpenHelper import com.mogo.commons.AbsMogoApplication import com.mogo.och.weaknet.database.bean.ContrailDataBean @@ -24,7 +26,7 @@ import java.io.File //entities指定该数据库有哪些表,多张表就逗号分隔 //version指定数据库版本号,升级时需要用到 //数据库继承自RoomDatabase -@Database(entities = [ContrailDataBean::class, LineDataBean::class, SiteDataBean::class, TaskDataBean::class, TaskSiteDataBean::class, EventDataBean::class], version = 1) +@Database(entities = [ContrailDataBean::class, LineDataBean::class, SiteDataBean::class, TaskDataBean::class, TaskSiteDataBean::class, EventDataBean::class], version = 2) abstract class MyDataBase : RoomDatabase() { @@ -33,6 +35,7 @@ abstract class MyDataBase : RoomDatabase() { val instance: MyDataBase = Room.databaseBuilder( AbsMogoApplication.getApp()!!.applicationContext, MyDataBase::class.java, ROOT_PATH+DATABASE_NAME ) + .addMigrations(Migration1_2(1,2)) .build() } @@ -56,4 +59,10 @@ abstract class MyDataBase : RoomDatabase() { //结合单例模式完成数据库实例创建 get() = SingleTon.instance } + + class Migration1_2(val startVersion:Int,val endVersion:Int): Migration(startVersion,endVersion) { + override fun migrate(database: SupportSQLiteDatabase) { + database.execSQL("ALTER TABLE ${EventDataBean.evnetDataTable} ADD COLUMN driver_id INTEGER"); + } + } } diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/bean/EventDataBean.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/bean/EventDataBean.kt index 73b42c4b28..74f548ee28 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/bean/EventDataBean.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/bean/EventDataBean.kt @@ -67,6 +67,12 @@ data class EventDataBean( @ColumnInfo(name = "seq", typeAffinity = ColumnInfo.INTEGER) var seq: Int? = null, + /** + * 站点排序 + */ + @ColumnInfo(name = "driver_id", typeAffinity = ColumnInfo.INTEGER) + var driverId: Long? = null, + /** * 存储此条数据时时间戳 */ diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/repository/EventRepository.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/repository/EventRepository.kt index 5b1161917b..a1c26b39f6 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/repository/EventRepository.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/repository/EventRepository.kt @@ -1,5 +1,6 @@ package com.mogo.och.weaknet.database.repository +import com.mogo.och.common.module.biz.login.LoginStatusManager import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager import com.mogo.och.common.module.utils.DateTimeUtil import com.mogo.och.weaknet.database.MyDataBase @@ -27,6 +28,7 @@ object EventRepository { event.taskStartTime = taskStartTime event.businessTime = DateTimeUtil.getCurrentTimeStamp() event.writeVersion = DateTimeUtil.getCurrentTimeStamp() + event.driverId = LoginStatusManager.getLoginInfo()?.driverId?:-1 event.siteId = 0L event.seq = 0 DbThreadUtils.runInIoThread { @@ -52,6 +54,7 @@ object EventRepository { event.businessTime = DateTimeUtil.getCurrentTimeStamp() event.writeVersion = DateTimeUtil.getCurrentTimeStamp() event.siteId = siteId + event.driverId = LoginStatusManager.getLoginInfo()?.driverId?:-1 event.seq = seq DbThreadUtils.runInIoThread { eventDataDao?.insert(event) @@ -75,6 +78,7 @@ object EventRepository { event.lineName = lineName event.businessTime = DateTimeUtil.getCurrentTimeStamp() event.writeVersion = DateTimeUtil.getCurrentTimeStamp() + event.driverId = LoginStatusManager.getLoginInfo()?.driverId?:-1L event.siteId = siteId event.seq = seq DbThreadUtils.runInIoThread { @@ -92,6 +96,7 @@ object EventRepository { event.taskStartTime = taskStartTime event.businessTime = DateTimeUtil.getCurrentTimeStamp() event.writeVersion = DateTimeUtil.getCurrentTimeStamp() + event.driverId = LoginStatusManager.getLoginInfo()?.driverId?:-1L event.siteId = 0L event.seq = 0 DbThreadUtils.runInIoThread { From 73f6f71b49ffa9c3141016b420a6098a83c5be93 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Thu, 5 Sep 2024 17:54:10 +0800 Subject: [PATCH 05/12] =?UTF-8?q?[6.6.0]=20[fix]=20[=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E7=82=B9=E5=87=BB=E4=BA=8B=E4=BB=B6]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogo/och/weaknet/ui/taskrunning/RunningTaskManagerView.kt | 2 -- 1 file changed, 2 deletions(-) diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/taskrunning/RunningTaskManagerView.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/taskrunning/RunningTaskManagerView.kt index 6096141c59..5c94dda2b3 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/taskrunning/RunningTaskManagerView.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/taskrunning/RunningTaskManagerView.kt @@ -54,8 +54,6 @@ class RunningTaskManagerView: WindowRelativeLayout, RunningTastViewModel.Running } private fun initView(){ - clLayout.setOnClickListener { - } //关闭BadCase管理窗口 ivTaskRunningClose.setOnClickListener { clickListener?.onClose() From 68c053ce0142502154d273ad0570e0cdfa153b54 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Thu, 5 Sep 2024 18:21:02 +0800 Subject: [PATCH 06/12] =?UTF-8?q?[fix]=20[=E4=BA=8B=E4=BB=B6=E4=BF=AE?= =?UTF-8?q?=E6=94=B9]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mogo/och/taxi/passenger/ui/debug/DebugViewModel.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/debug/DebugViewModel.kt b/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/debug/DebugViewModel.kt index 2c397cef64..00ca696beb 100644 --- a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/debug/DebugViewModel.kt +++ b/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/debug/DebugViewModel.kt @@ -76,9 +76,9 @@ class DebugViewModel : ViewModel(), CallerVisualAngleManager.getCurrentScene().let { val default = Default() - when (it.angle) { + when (it.getVisualAngleMode()) { VisualAngleMode.MODE_MEDIUM_SIGHT -> { - if(default.angle==VisualAngleMode.MODE_MEDIUM_SIGHT){ + if(default.getVisualAngleMode()==VisualAngleMode.MODE_MEDIUM_SIGHT){ CallerVisualAngleManager.changeScene(LongSight()) } } @@ -87,7 +87,7 @@ class DebugViewModel : ViewModel(), CallerVisualAngleManager.changeScene(Default()) } VisualAngleMode.MAP_STYLE_VR_SKY_BOX -> { - if(default.angle==VisualAngleMode.MAP_STYLE_VR_SKY_BOX){ + if(default.getVisualAngleMode()==VisualAngleMode.MAP_STYLE_VR_SKY_BOX){ CallerVisualAngleManager.changeScene(LongSight()) } } From e9ad27983d821b0cd603336a2dccd1947062d281 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Fri, 6 Sep 2024 13:08:43 +0800 Subject: [PATCH 07/12] =?UTF-8?q?[6.6.0]=20[fea]=20[=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=97=A5=E5=BF=97]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../och/common/module/manager/autopilot/line/LineManager.kt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/line/LineManager.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/line/LineManager.kt index 3e73f29436..5be668b7ac 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/line/LineManager.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/line/LineManager.kt @@ -50,6 +50,7 @@ object LineManager : CallerBase() { function.invoke(start,end) } } + OchChainLogManager.writeChainLog("异常情况","startStation:${startStation}__endStation:${endStation}") } fun getStationsWithContrai(function: (start:BusStationBean,end:BusStationBean,contrai: ContraiInfo) -> Unit){ startStation?.let { start-> @@ -59,6 +60,7 @@ object LineManager : CallerBase() { } } } + OchChainLogManager.writeChainLog("异常情况","startStation:${startStation}__endStation:${endStation}__contraiInfo:${contraiInfo}") } fun getStationsWithLine(function: (start:BusStationBean,end:BusStationBean,lineInfo: LineInfo) -> Unit){ @@ -69,6 +71,7 @@ object LineManager : CallerBase() { } } } + OchChainLogManager.writeChainLog("异常情况","startStation:${startStation}__endStation:${endStation}__lineInfos:${lineInfos}") } fun getStationsWithLineAndContrai(function: (start:BusStationBean,end:BusStationBean,lineInfo: LineInfo,contrai: ContraiInfo) -> Unit){ startStation?.let { start-> @@ -80,12 +83,14 @@ object LineManager : CallerBase() { } } } + OchChainLogManager.writeChainLog("异常情况","startStation:${startStation}__endStation:${endStation}__lineInfos:${lineInfos}__contraiInfo:${contraiInfo}") } fun getStartStation(function: (start:BusStationBean) -> Unit){ startStation?.let { start -> function.invoke(start) } + OchChainLogManager.writeChainLog("异常情况","startStation:${startStation}") } @JvmStatic From 6bec42115379df1ae8b5d74671ab26f04e175663 Mon Sep 17 00:00:00 2001 From: aibingbing Date: Fri, 6 Sep 2024 13:22:28 +0800 Subject: [PATCH 08/12] =?UTF-8?q?[6.6.0][=E5=85=A8=E5=B1=80=E8=BD=A8?= =?UTF-8?q?=E8=BF=B9]=20fix:=20reset=20=E7=9B=B8=E5=85=B3=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../business/trajectoryoverlay/TrajectoryOverlayDrawer.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/trajectoryoverlay/TrajectoryOverlayDrawer.java b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/trajectoryoverlay/TrajectoryOverlayDrawer.java index 853dcf960c..7f7104eab5 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/trajectoryoverlay/TrajectoryOverlayDrawer.java +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/trajectoryoverlay/TrajectoryOverlayDrawer.java @@ -125,10 +125,10 @@ public class TrajectoryOverlayDrawer { } else { if (colors == null) { ArrayList> temps = new ArrayList<>(); - temps.add(new Pair<>(0, 100)); + temps.add(new Pair<>(0, 70)); temps.add(new Pair<>(2, 100)); temps.add(new Pair<>(98, 100)); - temps.add(new Pair<>(100, 100)); + temps.add(new Pair<>(100, 70)); List alphas = MapTools.INSTANCE.getColorAlpha(temps); if (alphas != null && !alphas.isEmpty()) { colors = new ArrayList<>(); @@ -222,7 +222,7 @@ public class TrajectoryOverlayDrawer { } else { if (colors != null && !colors.isEmpty()) { builder.colors(colors); - builder.setIsGradient(false); + builder.setIsGradient(true); builder.setLightOn(false); //builder.setLightColor(COLOR_LIGHT); //builder.setLightSpeed(0.3f); From f3c3d396d0d4ce39a5e7487a26714ba149dfe3f1 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Fri, 6 Sep 2024 14:56:12 +0800 Subject: [PATCH 09/12] =?UTF-8?q?[6.6.0]=20[fix]=20[=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E5=8F=91=E9=80=81=E9=94=99=E8=AF=AF]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mogo/och/weaknet/model/OrderModel.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/OrderModel.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/OrderModel.kt index 09299e9c12..a0ae00d32f 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/OrderModel.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/OrderModel.kt @@ -362,6 +362,7 @@ object OrderModel { */ private fun startAutopilot(isRestart: Boolean) { + val temp = initAutopilotControlParameters() /** * 存在Session */ @@ -767,7 +768,7 @@ object OrderModel { if(parameters==null){ ToastUtils.showShort("未设置起始或终点站点") } - return null + return parameters } fun setTrajectoryStation(isClean:Boolean) { From c1cb5f8adcec691e60e666cc701996a6605bc16f Mon Sep 17 00:00:00 2001 From: yangyakun Date: Fri, 6 Sep 2024 16:34:35 +0800 Subject: [PATCH 10/12] =?UTF-8?q?[6.6.0]=20[fix]=20[=E4=B9=98=E5=AE=A2?= =?UTF-8?q?=E5=B1=8F=E7=8A=B6=E6=80=81=E6=A0=8F=E5=88=87=E6=8D=A2]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mogo/och/facade/route/FacadeProvider.kt | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/OCH/facade/src/main/java/com/mogo/och/facade/route/FacadeProvider.kt b/OCH/facade/src/main/java/com/mogo/och/facade/route/FacadeProvider.kt index a0bd15cc00..150408add5 100644 --- a/OCH/facade/src/main/java/com/mogo/och/facade/route/FacadeProvider.kt +++ b/OCH/facade/src/main/java/com/mogo/och/facade/route/FacadeProvider.kt @@ -58,7 +58,6 @@ abstract class FacadeProvider : IMoGoFunctionProvider, ILoginCallback { private fun showFragment() { val supportFragmentManager: FragmentManager? = activity?.supportFragmentManager - injectStatusBar() val fragment = if (LoginStatusManager.isLogin()) { val fragment = getFragment() LoginStatusManager.resetFragment() @@ -70,6 +69,7 @@ abstract class FacadeProvider : IMoGoFunctionProvider, ILoginCallback { commonService?.resetFragment() LoginStatusManager.getFragment() } + injectStatusBar() d(TAG, "切换 fragment:${fragment}") @@ -199,7 +199,6 @@ abstract class FacadeProvider : IMoGoFunctionProvider, ILoginCallback { } override fun onBusinessChangeDebug(businessEnum: BusinessEnum) { - injectStatusBar() if (businessEnum == BusinessEnum.None) { CallerHmiManager.hideToolsView() ToggleDebugView.toggleDebugView.dismiss() @@ -224,6 +223,7 @@ abstract class FacadeProvider : IMoGoFunctionProvider, ILoginCallback { back.commitAllowingStateLoss() } } + injectStatusBar() } private fun injectStatusBar() { @@ -235,10 +235,16 @@ abstract class FacadeProvider : IMoGoFunctionProvider, ILoginCallback { contentView.fitsSystemWindows = false decorView.clipToPadding = false var statusBarView = decorView.findViewWithTag("status_bar") - if(statusBarView!=null){ - return - } val statusBar = commonService?.getStatusBarView(it) + if(statusBarView==null){ + + }else{ + if(statusBar == statusBarView||statusBar==null){ + return + }else{ + removeStatusBar() + } + } statusBarView = statusBar ?: StatusBarView(it) statusBarView.tag = "status_bar" val statusBarLP = FrameLayout.LayoutParams( From ee30b109f3f957f149ba80ffac126dfee4aa4b09 Mon Sep 17 00:00:00 2001 From: donghongyu-pc Date: Fri, 6 Sep 2024 17:28:33 +0800 Subject: [PATCH 11/12] =?UTF-8?q?[6.6.0]=201=E3=80=81=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E5=9F=8B=E7=82=B9=E4=B8=AD=E4=B8=BB=E7=BA=BF=E7=A8=8B=E8=AE=BF?= =?UTF-8?q?=E9=97=AE=E7=BD=91=E7=BB=9Cbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogo/commons/utils/MogoAnalyticUtils.kt | 52 +++++++++++++++---- 1 file changed, 41 insertions(+), 11 deletions(-) diff --git a/foudations/mogo-commons/src/main/java/com/mogo/commons/utils/MogoAnalyticUtils.kt b/foudations/mogo-commons/src/main/java/com/mogo/commons/utils/MogoAnalyticUtils.kt index 19a163687f..7dea29de89 100644 --- a/foudations/mogo-commons/src/main/java/com/mogo/commons/utils/MogoAnalyticUtils.kt +++ b/foudations/mogo-commons/src/main/java/com/mogo/commons/utils/MogoAnalyticUtils.kt @@ -1,6 +1,9 @@ package com.mogo.commons.utils import android.content.Context +import android.os.Handler +import android.os.Looper +import android.util.Log import androidx.annotation.Keep import androidx.collection.ArrayMap import com.elegant.analytics.Analytics @@ -15,7 +18,10 @@ import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils import com.mogo.eagle.core.utilcode.util.AppUtils import com.mogo.eagle.core.utilcode.util.DateTimeUtils import com.mogo.eagle.core.utilcode.util.NetworkUtils +import com.mogo.eagle.core.utilcode.util.ThreadUtils +import com.mogo.eagle.core.utilcode.util.Utils import org.json.JSONObject +import java.util.TimerTask /** * 埋点&数据统计 管理 @@ -23,6 +29,23 @@ import org.json.JSONObject */ object MogoAnalyticUtils { + var network_is_available = false + + private val handler = Handler(Looper.getMainLooper()) + private val runnable = object : Runnable { + override fun run() { + NetworkUtils.isAvailableByPingAsync("49.233.99.26", object : Utils.Consumer { + override fun accept(isAvailable: Boolean) { + network_is_available = isAvailable + } + }) + // 这里执行你的任务 + // 重新安排下一个任务 + handler.postDelayed(this, 5000) // 每隔5秒执行一次 + } + } + + @Keep fun init(context: Context?, isDebug: Boolean) { // 1 - debug 近实时上报,积累一条埋点上报,或者积累3秒上报一次。 @@ -44,6 +67,9 @@ object MogoAnalyticUtils { } } Analytics.getInstance().start(context) + + // 启动定时任务 + handler.post(runnable) } /** @@ -54,12 +80,24 @@ object MogoAnalyticUtils { */ fun track(event: String?, properties: MutableMap) { try { - properties["network_type"] = NetworkUtils.getNetworkType() + // 自动驾驶工控机相关信息 + properties["plate_number"] = AppConfigInfo.plateNumber + properties["docker_version"] = AppConfigInfo.dockerVersion + properties["ipc_mac_address"] = AppConfigInfo.iPCMacAddress + properties["protocol_version_number"] = AppConfigInfo.protocolVersionNumber + properties["ad_hd_map_version"] = AppConfigInfo.adHdMapVersion + properties["car_type"] = + AppIdentityModeUtils.getCarType(FunctionBuildConfig.appIdentityMode).name + + + // 网络状态监听 + properties["network_address"] = NetworkUtils.getIPAddress(true) + properties["network_type"] = NetworkUtils.getNetworkType().name properties["network_ssid"] = NetworkUtils.getSSID() properties["network_wifi_enabled "] = NetworkUtils.getWifiEnabled() - properties["network_is_available"] = NetworkUtils.isAvailable() - properties["network_is_available_by_ping"] = NetworkUtils.isAvailableByPing("49.233.99.26") + properties["network_is_available"] = network_is_available } catch (e: Exception) { + e.printStackTrace() properties["network_type"] = "获取设备网络状态错误" } Analytics.getInstance().track(event, properties) @@ -106,14 +144,6 @@ object MogoAnalyticUtils { AppIdentityModeUtils.getProduct(FunctionBuildConfig.appIdentityMode).name map["time"] = DateTimeUtils.getTimeText(DateTimeUtils.yyyy_MM_dd_HH_mm_ss_SSS) - // 自动驾驶工控机相关信息 - map["plate_number"] = AppConfigInfo.plateNumber - map["docker_version"] = AppConfigInfo.dockerVersion - map["ipc_mac_address"] = AppConfigInfo.iPCMacAddress - map["protocol_version_number"] = AppConfigInfo.protocolVersionNumber - map["ad_hd_map_version"] = AppConfigInfo.adHdMapVersion - map["car_type"] = AppIdentityModeUtils.getCarType(FunctionBuildConfig.appIdentityMode).name - return map } } \ No newline at end of file From 53553fddad257bf4638f8cad1ebffa6655a5b8fc Mon Sep 17 00:00:00 2001 From: EmArrow Date: Mon, 9 Sep 2024 11:28:52 +0800 Subject: [PATCH 12/12] [6.6.0] update cache map --- .../main/java/com/mogo/map/utils/HDMapUtils.kt | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/utils/HDMapUtils.kt b/libraries/mogo-map/src/main/java/com/mogo/map/utils/HDMapUtils.kt index bda1551898..5cb804f9ad 100644 --- a/libraries/mogo-map/src/main/java/com/mogo/map/utils/HDMapUtils.kt +++ b/libraries/mogo-map/src/main/java/com/mogo/map/utils/HDMapUtils.kt @@ -21,7 +21,7 @@ object HDMapUtils { // map["0335"] = 1303 //秦皇岛市 // map["0310"] = 1304 //邯郸市 // map["0319"] = 1305 //邢台市 -// map["0312"] = 1306 //保定市 + map["0312"] = 1306 //保定市 // map["0313"] = 1307 //张家口市 // map["0314"] = 1308 //承德市 // map["0317"] = 1309 //沧州市 @@ -124,7 +124,7 @@ object HDMapUtils { // map["0578"] = 3311 //丽水市 //安徽 -// map["0551"] = 3401 //合肥市 + map["0551"] = 3401 //合肥市 // map["0553"] = 3402 //芜湖市 // map["0552"] = 3403 //蚌埠市 // map["0554"] = 3404 //淮南市 @@ -166,7 +166,7 @@ object HDMapUtils { // map["0793"] = 3611 //上饶市 //山东 -// map["0531"] = 3701 //济南市 + map["0531"] = 3701 //济南市 // map["0532"] = 3702 //青岛市 // map["0533"] = 3703 //淄博市 // map["0632"] = 3704 //枣庄市 @@ -204,7 +204,7 @@ object HDMapUtils { //湖北 // map["0714"] = 4202 //黄石市 -// map["0719"] = 4203 //十堰市 + map["0719"] = 4203 //十堰市 // map["0717"] = 4205 //宜昌市 // map["0710"] = 4206 //襄阳市 map["0711"] = 4207 //鄂州市 @@ -217,7 +217,7 @@ object HDMapUtils { // map["0718"] = 4228 //恩施土家族苗族自治州 //湖南 -// map["0731"] = 4301 //长沙市 + map["0731"] = 4301 //长沙市 map["0733"] = 4302 //株洲市 // map["0732"] = 4303 //湘潭市 map["0734"] = 4304 //衡阳市 @@ -256,7 +256,7 @@ object HDMapUtils { //广西 map["0771"] = 4501 //南宁市 -// map["0772"] = 4502 //柳州市 + map["0772"] = 4502 //柳州市 // map["0773"] = 4503 //桂林市 // map["0774"] = 4504 //梧州市 // map["0779"] = 4505 //北海市 @@ -271,8 +271,8 @@ object HDMapUtils { // map["1771"] = 4514 //崇左市 //海南 -// map["0898"] = 4601 //海口市 -// map["0899"] = 4602 //三亚市 + map["0898"] = 4601 //海口市 + map["0899"] = 4602 //三亚市 // map["2898"] = 4603 //三沙市 // map["0805"] = 4604 //儋州市 @@ -356,6 +356,7 @@ object HDMapUtils { //青海 map["0971"] = 6301 //西宁市 + map["0974"] = 6325 //海南藏族自治州 // map["0972"] = 6302 //海东市 //宁夏