diff --git a/OCH/mogo-och-bus-passenger/src/main/assets/map_style.data b/OCH/mogo-och-bus-passenger/src/main/assets/map_style.data old mode 100755 new mode 100644 index 4deed98e6a..ab077f9849 Binary files a/OCH/mogo-och-bus-passenger/src/main/assets/map_style.data and b/OCH/mogo-och-bus-passenger/src/main/assets/map_style.data differ diff --git a/OCH/mogo-och-bus-passenger/src/main/assets/map_style_extra.data b/OCH/mogo-och-bus-passenger/src/main/assets/map_style_extra.data old mode 100755 new mode 100644 index a3c0811e86..01f7f2116e Binary files a/OCH/mogo-och-bus-passenger/src/main/assets/map_style_extra.data and b/OCH/mogo-och-bus-passenger/src/main/assets/map_style_extra.data differ diff --git a/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/utils/BusPassengerMapAssetStyleUtil.java b/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/utils/BusPassengerMapAssetStyleUtil.java index fb012b4143..edab28cb78 100644 --- a/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/utils/BusPassengerMapAssetStyleUtil.java +++ b/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/utils/BusPassengerMapAssetStyleUtil.java @@ -16,7 +16,7 @@ public class BusPassengerMapAssetStyleUtil { byte[] buffer1 = null; InputStream is1 = null; try { - is1 = context.getResources().getAssets().open(fileName); //eg. small_map_style.data + is1 = context.getResources().getAssets().open(fileName); //eg. over_view_style.data int lenght1 = is1.available(); buffer1 = new byte[lenght1]; is1.read(buffer1); @@ -39,7 +39,7 @@ public class BusPassengerMapAssetStyleUtil { byte[] buffer1 = null; InputStream is1 = null; try { - is1 = context.getResources().getAssets().open(fileName); //eg. small_map_style_extra.data + is1 = context.getResources().getAssets().open(fileName); //eg. over_view_style_extra.data int lenght1 = is1.available(); buffer1 = new byte[lenght1]; is1.read(buffer1); diff --git a/OCH/mogo-och-taxi-passenger/src/main/assets/map_style.data b/OCH/mogo-och-taxi-passenger/src/main/assets/map_style.data old mode 100755 new mode 100644 index 0e9e36690e..b200669659 Binary files a/OCH/mogo-och-taxi-passenger/src/main/assets/map_style.data and b/OCH/mogo-och-taxi-passenger/src/main/assets/map_style.data differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/assets/map_style_extra.data b/OCH/mogo-och-taxi-passenger/src/main/assets/map_style_extra.data old mode 100755 new mode 100644 diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/utils/TaxiPassengerMapAssetStyleUtil.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/utils/TaxiPassengerMapAssetStyleUtil.java index 6605ec413a..9c3eea52f9 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/utils/TaxiPassengerMapAssetStyleUtil.java +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/utils/TaxiPassengerMapAssetStyleUtil.java @@ -16,7 +16,7 @@ public class TaxiPassengerMapAssetStyleUtil { byte[] buffer1 = null; InputStream is1 = null; try { - is1 = context.getResources().getAssets().open(fileName); //eg. small_map_style.data + is1 = context.getResources().getAssets().open(fileName); //eg. over_view_style.data int lenght1 = is1.available(); buffer1 = new byte[lenght1]; is1.read(buffer1); @@ -39,7 +39,7 @@ public class TaxiPassengerMapAssetStyleUtil { byte[] buffer1 = null; InputStream is1 = null; try { - is1 = context.getResources().getAssets().open(fileName); //eg. small_map_style_extra.data + is1 = context.getResources().getAssets().open(fileName); //eg. over_view_style_extra.data int lenght1 = is1.available(); buffer1 = new byte[lenght1]; is1.read(buffer1); diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/TaxiNaviFragment.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/TaxiNaviFragment.java index 4038351737..35438d42a4 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/TaxiNaviFragment.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/TaxiNaviFragment.java @@ -81,8 +81,8 @@ public class TaxiNaviFragment extends BaseTaxiUIFragment implements AMapNaviView aMap.setCustomMapStyle( new CustomMapStyleOptions() .setEnable(true) - .setStyleData(MapAssetStyleUtils.getAssetsStyle(getContext(), "small_map_style.data")) - .setStyleExtraData(MapAssetStyleUtils.getAssetsExtraStyle(getContext(), "small_map_style_extra.data")) + .setStyleData(MapAssetStyleUtils.getAssetsStyle(getContext(), "over_view_style.data")) + .setStyleExtraData(MapAssetStyleUtils.getAssetsExtraStyle(getContext(), "over_view_style_extra.data")) ); //设置希望展示的地图缩放级别 diff --git a/config.gradle b/config.gradle index 7a7963b54e..16a1600dfe 100644 --- a/config.gradle +++ b/config.gradle @@ -38,7 +38,7 @@ ext { // amapnavi3dmap : "com.amap.api:navi-3dmap:8.0.1_3dmap8.0.1", // amapsearch : "com.amap.api:search:7.9.0", // amaplocation : "com.amap.api:location:5.5.0", - amapnavi3dmap : "com.amap.api:navi-3dmap:7.7.0_3dmap7.7.0", + amapnavi3dmap : "com.amap.api:navi-3dmap:8.0.1_3dmap8.0.1", amapsearch : "com.amap.api:search:7.1.0", amaplocation : "com.amap.api:location:5.3.1", // json 转换 diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/StatusManager.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/StatusManager.kt index f9cd867849..eef5162c46 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/StatusManager.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/StatusManager.kt @@ -11,6 +11,7 @@ import androidx.lifecycle.Lifecycle.Event.ON_DESTROY import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener import com.mogo.eagle.core.function.call.autopilot.* import com.mogo.eagle.core.utilcode.kotlin.* +import com.mogo.eagle.core.utilcode.mogo.logger.* import com.mogo.eagle.core.utilcode.util.* import com.zhjt.mogo_core_function_devatools.status.entity.CanStatus import com.zhjt.mogo_core_function_devatools.status.entity.GpsStatus @@ -39,21 +40,18 @@ object StatusManager { private const val TAG = "StatusManager" private lateinit var model: StatusModel - private var timer: Job? = null - - private var hasInit = false - private val listeners by lazy { CopyOnWriteArrayList() } - private val listener = object : IMoGoAutopilotStatusListener { override fun onAutopilotGuardian(guardianInfo: MogoReportMsg.MogoReportMessage?) { super.onAutopilotGuardian(guardianInfo) guardianInfo?.code?.takeIf { - it.contains("RTK_STATUS", true) || it.contains("CAN", true) + Logger.d(TAG, "-- onAutopilotGuardian ---: code: $it") + it.contains("RTK_STATUS", true) || it.contains("CAN", true) || it == "ILCT_RTK_OR_SLAM_CHANGE" }?.run { + Logger.d(TAG, "-- onAutopilotGuardian trigger req ---: code: $this") req() } } @@ -176,7 +174,6 @@ object StatusManager { } interface IStatusListener { - fun onStatusChanged(data: List, hasException: Boolean) } } \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/entity/Status.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/entity/Status.kt index ff949723fb..b7bb0f8082 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/entity/Status.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/entity/Status.kt @@ -1,9 +1,18 @@ package com.zhjt.mogo_core_function_devatools.status.entity +import com.mogo.eagle.core.function.api.autopilot.* +import com.mogo.eagle.core.function.call.autopilot.* import com.zhjt.mogo_core_function_devatools.status.entity.TracingStatus.Tracing import com.zhjt.mogo_core_function_devatools.status.entity.TracingStatus.Tracing.* -sealed class Status +sealed class Status { + + abstract fun isException(): Boolean + + abstract override fun equals(other: Any?): Boolean + + abstract override fun hashCode(): Int +} /** * 工控机 @@ -24,15 +33,11 @@ class IpcStatus(val enabled: Boolean = false): Status() { override fun toString(): String { return "IpcStatus(enabled=$enabled)" } + + override fun isException(): Boolean = !enabled } -class NetStatus(val enabled: Boolean = false, var name: String? = null, val speed: Speed? = null): Status() { - class Speed(val tx: Int, val rx: Int) { - - override fun toString(): String { - return "Speed(tx=$tx, rx=$rx)" - } - } +class NetStatus(val enabled: Boolean = false, var name: String? = null): Status() { override fun equals(other: Any?): Boolean { if (javaClass != other?.javaClass) return false @@ -49,8 +54,10 @@ class NetStatus(val enabled: Boolean = false, var name: String? = null, val spee } override fun toString(): String { - return "NetStatus(enabled=$enabled, name=$name, speed=$speed)" + return "NetStatus(enabled=$enabled, name=$name)" } + + override fun isException(): Boolean = !enabled } /** @@ -76,27 +83,38 @@ class GpsStatus(val enabled: Boolean = false, val isGranted: Boolean = false): S override fun toString(): String { return "GpsStatus(enabled=$enabled, isGranted=$isGranted)" } + + override fun isException(): Boolean = !enabled || !isGranted } /** * RTK/GNSS定位状态 */ -class RTKStatus(var enabled: Boolean = false, var desc: String = "RTK"): Status() { +class RTKStatus(var desc: String = "", var state: Int): Status() { override fun equals(other: Any?): Boolean { if (javaClass != other?.javaClass) return false other as RTKStatus - if (enabled != other.enabled) return false - if (desc != other.desc) { return false } + if (state != other.state) { + return false + } return true } override fun hashCode(): Int { - return enabled.hashCode() + var result = desc.hashCode() + result = 31 * result + state + return result } + + override fun toString(): String { + return "RTKStatus(desc='$desc', state=$state)" + } + + override fun isException(): Boolean = desc.isEmpty() || (desc == "RTK") && state != 0 } /** @@ -119,7 +137,7 @@ class CanStatus(var enabled: Boolean = false): Status() { return "CanStatus(enabled=$enabled)" } - + override fun isException(): Boolean = !enabled } /** @@ -163,9 +181,13 @@ class TracingStatus(var state: Tracing = UNKNOWN): Status() { */ UNKNOWN; - fun isException(): Boolean = when (this) { - TRACK_FINDED, TRACK_NOT_EXIST, TRACK_LOAD_FAIL, ROUTE_FAILED, UNKNOWN -> true - else -> false + fun isException(): Boolean { + val c1 = when (this) { + TRACK_FINDED, TRACK_NOT_EXIST, TRACK_LOAD_FAIL, ROUTE_FAILED, UNKNOWN -> true + else -> false + } + val c2 = CallerAutoPilotStatusListenerManager.getAutoPilotStatusInfo().state != IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE + return c1 and c2 } } @@ -186,6 +208,8 @@ class TracingStatus(var state: Tracing = UNKNOWN): Status() { override fun hashCode(): Int { return state.hashCode() } + + override fun isException(): Boolean = state.isException() } fun String.toState(): Tracing? { diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/nets/NetsImpl.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/nets/NetsImpl.kt index a4e67dcff1..0e15261740 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/nets/NetsImpl.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/nets/NetsImpl.kt @@ -7,13 +7,11 @@ import android.net.* import android.net.wifi.* import android.os.Build.VERSION import android.os.Build.VERSION_CODES -import android.util.* import androidx.core.location.* import com.mogo.eagle.core.utilcode.kotlin.* import com.mogo.eagle.core.utilcode.util.* import com.zhjt.mogo_core_function_devatools.status.flow.IFlow import com.zhjt.mogo_core_function_devatools.status.entity.NetStatus -import com.zhjt.mogo_core_function_devatools.status.entity.NetStatus.Speed import kotlinx.coroutines.* import java.util.concurrent.atomic.* @@ -62,10 +60,6 @@ internal class NetsImpl(ctx: Context): IFlow(ctx) { override fun onLinkPropertiesChanged(network: Network, linkProperties: LinkProperties) { super.onLinkPropertiesChanged(network, linkProperties) } - - override fun onBlockedStatusChanged(network: Network, blocked: Boolean) { - super.onBlockedStatusChanged(network, blocked) - } } @@ -89,16 +83,7 @@ internal class NetsImpl(ctx: Context): IFlow(ctx) { val name = if (isLocationEnabled()) connectionInfo.ssid?.replace(Regex("[\\W]"), "") else "WI-FI" loopCheckAndSendJob?.safeCancel() launch(Dispatchers.Default) { delay(1000); checkAndSend() }.also { loopCheckAndSendJob = it } - var tr = 0 - if (VERSION.SDK_INT >= VERSION_CODES.Q) { - tr = connectionInfo.txLinkSpeedMbps - } - var sr = 0 - if (VERSION.SDK_INT >= VERSION_CODES.Q) { - sr = connectionInfo.rxLinkSpeedMbps - } - val speed = Speed(tr, sr) - send(enabled, name, speed) + send(enabled, name) } private fun isLocationEnabled() = @@ -114,8 +99,8 @@ internal class NetsImpl(ctx: Context): IFlow(ctx) { activeNetworkInfo != null && activeNetworkInfo.isConnected } - private fun send(enabled: Boolean, name: String?, speed: Speed? = null) { - send(NetStatus(enabled, name, speed)) + private fun send(enabled: Boolean, name: String?) { + send(NetStatus(enabled, name)) } override fun onDestroy() { diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/rtk/RTKImpl.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/rtk/RTKImpl.kt index e6a49fe44a..7164563e3e 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/rtk/RTKImpl.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/rtk/RTKImpl.kt @@ -4,83 +4,57 @@ import android.content.* import android.util.* import com.mogo.eagle.core.function.api.autopilot.* import com.mogo.eagle.core.function.call.autopilot.* -import com.mogo.eagle.core.utilcode.kotlin.* +import com.mogo.eagle.core.utilcode.mogo.logger.* import com.zhjt.mogo_core_function_devatools.status.entity.RTKStatus import com.zhjt.mogo_core_function_devatools.status.flow.IFlow -import kotlinx.coroutines.* -import mogo.telematics.pad.MessagePad.GnssInfo import system_master.SystemStatusInfo.HealthInfo import system_master.SystemStatusInfo.StatusInfo import java.util.concurrent.atomic.* -internal class RTKImpl(ctx: Context): IFlow(ctx), IMoGoAutopilotCarStateListener, IMoGoAutopilotStatusListener { +internal class RTKImpl(ctx: Context): IFlow(ctx), IMoGoAutopilotStatusListener { companion object { const val TAG = "RTKImpl" } - private var job: Job? = null - private val healthInfo by lazy { AtomicReference(null) } override fun onCreate() { - send(RTKStatus(isRTKEnabled())) - Log.d(TAG, "-- onCreate --") - CallerAutopilotCarStatusListenerManager.addListener(TAG, this) + send(RTKStatus(getDesc(), getCode())) + Logger.d(TAG, "-- onCreate --") CallerAutoPilotStatusListenerManager.addListener(TAG, this) } - private fun isRTKEnabled(): Boolean { - val code = CallerAutoPilotStatusListenerManager.getAutoPilotReportMessageCode() - val gnssInfo = CallerAutopilotCarStatusListenerManager.getCurrentGnssInfo() - val status = healthInfo.get() - return CallerAutoPilotManager.isConnected() && ( - code != "EHW_RTK" && - code != "EHW_GNSS" && - code != "ESYS_RTK_STATUS_FAULT" && - code != "ELCT_RTK_STATUS_FAULT" && - code != "ELCT_RTK_STATUS_UNKNOWN") && gnssInfo != null && (status == null || status.state?.ordinal == 0) - } - - override fun onAutopilotCarStateData(gnssInfo: GnssInfo?) { - send(RTKStatus(isRTKEnabled(), getDesc())) - timeOutCheck() - } - - override fun onAutopilotIpcConnectStatusChanged(status: Int, reason: String?) { - super.onAutopilotIpcConnectStatusChanged(status, reason) - send(RTKStatus(isRTKEnabled(), getDesc())) - } - override fun onAutopilotStatusRespByQuery(status: StatusInfo) { val info = status.healthInfoList?.find { "localization".equals(it.name, true) } Log.d(TAG, "info: $info") if (info != null) { healthInfo.set(info) + send(RTKStatus(getDesc(), getCode())) + } + } + + override fun onAutopilotIpcConnectStatusChanged(status: Int, reason: String?) { + super.onAutopilotIpcConnectStatusChanged(status, reason) + if (!CallerAutoPilotManager.isConnected()) { + Logger.d(TAG, "工控机断开了....") + healthInfo.set(null) + send(RTKStatus("", -1)) } } private fun getDesc(): String { - return healthInfo.get()?.desc?.uppercase() ?: "RTK" + return healthInfo.get()?.desc?.uppercase() ?: "" } - private fun timeOutCheck() { - job?.safeCancel() - launch(Dispatchers.Default) { - delay(4000) - send(RTKStatus(isRTKEnabled(), getDesc())) - }.also { job = it } + private fun getCode(): Int { + return healthInfo.get()?.state?.ordinal ?: -1 } override fun onDestroy() { super.onDestroy() - Log.d(TAG, "-- onDestroy --") - try { - CallerAutopilotCarStatusListenerManager.removeListener(TAG) - CallerAutoPilotStatusListenerManager.removeListener(TAG) - } finally { - job?.safeCancel() - } + Logger.d(TAG, "-- onDestroy --") + CallerAutoPilotStatusListenerManager.removeListener(TAG) } } \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/trace/TracingImpl.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/trace/TracingImpl.kt index b328d286c6..e50518423c 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/trace/TracingImpl.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/trace/TracingImpl.kt @@ -37,11 +37,18 @@ internal class TracingImpl(ctx: Context): IFlow(ctx), IMoGoAutopi } } + override fun onAutopilotIpcConnectStatusChanged(status: Int, reason: String?) { + super.onAutopilotIpcConnectStatusChanged(status, reason) + if (!CallerAutoPilotManager.isConnected()) { + send(TracingStatus(UNKNOWN)) + } + } override fun onAutopilotStatusResponse(autoPilotStatusInfo: AutopilotStatusInfo) { super.onAutopilotStatusResponse(autoPilotStatusInfo) if (autoPilotStatusInfo.state == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE) { send(TracingStatus(UNKNOWN)) + return } if (old.isException() && autoPilotStatusInfo.state == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING) { send(TracingStatus(TRACK_LOADED)) diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/model/StatusModel.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/model/StatusModel.kt index 3052cc89cb..3e0d728e81 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/model/StatusModel.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/model/StatusModel.kt @@ -1,8 +1,6 @@ package com.zhjt.mogo_core_function_devatools.status.model -import android.util.* import androidx.lifecycle.* -import com.mogo.eagle.core.function.api.autopilot.* import com.mogo.eagle.core.function.call.autopilot.* import com.zhjt.mogo_core_function_devatools.status.entity.CanStatus import com.zhjt.mogo_core_function_devatools.status.entity.GpsStatus @@ -25,7 +23,7 @@ internal class StatusModel : ViewModel() { it += NetStatus(false) it += CanStatus(false) it += TracingStatus(UNKNOWN) - it += RTKStatus(false) + it += RTKStatus("", -1) it += GpsStatus(enabled = false, isGranted = false) }) } @@ -50,60 +48,7 @@ internal class StatusModel : ViewModel() { } private fun getExceptionStatus(l: ArrayList): Status? { - var ret: Status? = null - for (s in l) { - ret = when(s) { - is IpcStatus -> { - if (!s.enabled) { - s - } else { - null - } - } - is CanStatus -> { - if (CallerAutoPilotManager.isConnected() && !s.enabled) { - s - } else { - null - } - } - is NetStatus -> { - if (!s.enabled) { - s - } else { - null - } - } - is GpsStatus -> { - if (!s.enabled) { - s - } else { - null - } - } - is TracingStatus -> { - val c1 = CallerAutoPilotStatusListenerManager.getAutoPilotStatusInfo().state != IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE - val c2 = s.state.isException() - if (c1 && c2) { - s - } else { - null - } - } - is RTKStatus -> { - if (!s.enabled) { - s - } else { - null - } - } - } - - if (ret != null) { - break - } - } - return ret + return l.find { it.isException() } } private fun ArrayList.updateOrInsert(s: Status) { diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/ui/adapter/StatusAdapter.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/ui/adapter/StatusAdapter.kt index c502a25195..98c35d7892 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/ui/adapter/StatusAdapter.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/ui/adapter/StatusAdapter.kt @@ -15,6 +15,7 @@ import com.zhjt.mogo_core_function_devatools.status.entity.IpcStatus import com.zhjt.mogo_core_function_devatools.status.entity.Status import com.zhjt.mogo_core_function_devatools.status.entity.TracingStatus.Tracing.* import com.zhjt.mogo_core_function_devatools.status.ui.adapter.StatusAdapter.StatusViewHolder +import kotlinx.coroutines.* internal class StatusAdapter(val ctx: Context, var data: ArrayList): RecyclerView.Adapter() { @@ -80,10 +81,18 @@ internal class StatusAdapter(val ctx: Context, var data: ArrayList): Rec } } is RTKStatus -> { - if (status.enabled) { - iv.background = ContextCompat.getDrawable(itemView.context, drawable.icon_dev_status_rtk_enable) - } else { - iv.background = ContextCompat.getDrawable(itemView.context, drawable.icon_dev_status_rtk_disable) + when(status.desc) { + "RTK" -> + when(status.state) { + 0 -> iv.background = ContextCompat.getDrawable(itemView.context, drawable.icon_dev_status_rtk_good) + 1 -> iv.background = ContextCompat.getDrawable(itemView.context, drawable.icon_dev_status_rtk_not_credible) + 2 -> iv.background = ContextCompat.getDrawable(itemView.context, drawable.icon_dev_status_rtk_inaccurate) + else -> iv.background = ContextCompat.getDrawable(itemView.context, drawable.icon_dev_status_rtk_error) + } + "SLAM" -> + iv.background = ContextCompat.getDrawable(itemView.context, drawable.icon_dev_status_slam_good) + else -> + iv.background = ContextCompat.getDrawable(itemView.context, drawable.icon_dev_status_rtk_unknow) } } } @@ -94,7 +103,19 @@ internal class StatusAdapter(val ctx: Context, var data: ArrayList): Rec is GpsStatus -> "GPS:${ if (status.enabled) "状态正常" else "非正常连接" }" is IpcStatus -> "工控机:${ if (status.enabled) "状态正常" else "非正常连接" }" is NetStatus -> "WIFI:${ if (status.enabled) "${status.name}" else "非正常连接" }" - is RTKStatus -> "${status.desc.uppercase()}:${ if (status.enabled) "状态正常" else "非正常连接" }" + is RTKStatus -> when(status.desc) { + "RTK" -> + when(status.state) { + 0 -> "RTK定位,状态良好" + 1 -> "RTK定位,定位不可信" + 2 -> "RTK定位,误差增大到米级" + else -> "RTK定位,状态异常" + } + "SLAM" -> + "SLAM定位,状态良好" + else -> + "定位异常" + } is TracingStatus -> "轨迹类型:${ if (status.state == TRACK_LOADED) "循迹" else if (status.state == ROUTE_LOADED) "自主算路" else "暂无轨迹" }" } } diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xxhdpi/icon_dev_status_rtk_disable.png b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xxhdpi/icon_dev_status_rtk_disable.png deleted file mode 100644 index 8c73649eda..0000000000 Binary files a/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xxhdpi/icon_dev_status_rtk_disable.png and /dev/null differ diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xxhdpi/icon_dev_status_rtk_enable.png b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xxhdpi/icon_dev_status_rtk_enable.png deleted file mode 100644 index bfea1399fd..0000000000 Binary files a/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xxhdpi/icon_dev_status_rtk_enable.png and /dev/null differ diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xxhdpi/icon_dev_status_rtk_error.png b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xxhdpi/icon_dev_status_rtk_error.png new file mode 100644 index 0000000000..99c4bb9294 Binary files /dev/null and b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xxhdpi/icon_dev_status_rtk_error.png differ diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xxhdpi/icon_dev_status_rtk_good.png b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xxhdpi/icon_dev_status_rtk_good.png new file mode 100644 index 0000000000..5518d41356 Binary files /dev/null and b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xxhdpi/icon_dev_status_rtk_good.png differ diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xxhdpi/icon_dev_status_rtk_inaccurate.png b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xxhdpi/icon_dev_status_rtk_inaccurate.png new file mode 100644 index 0000000000..e48a945624 Binary files /dev/null and b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xxhdpi/icon_dev_status_rtk_inaccurate.png differ diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xxhdpi/icon_dev_status_rtk_not_credible.png b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xxhdpi/icon_dev_status_rtk_not_credible.png new file mode 100644 index 0000000000..a2e8c4c842 Binary files /dev/null and b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xxhdpi/icon_dev_status_rtk_not_credible.png differ diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xxhdpi/icon_dev_status_rtk_unknow.png b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xxhdpi/icon_dev_status_rtk_unknow.png new file mode 100644 index 0000000000..457675bc89 Binary files /dev/null and b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xxhdpi/icon_dev_status_rtk_unknow.png differ diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xxhdpi/icon_dev_status_slam_good.png b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xxhdpi/icon_dev_status_slam_good.png new file mode 100644 index 0000000000..6d056911a9 Binary files /dev/null and b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xxhdpi/icon_dev_status_slam_good.png differ diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/AMapCustomView.java b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/AMapCustomView.java index e72ef33969..71aa82ba9d 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/AMapCustomView.java +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/AMapCustomView.java @@ -17,7 +17,7 @@ import androidx.annotation.Nullable; import com.amap.api.maps.AMap; import com.amap.api.maps.CameraUpdate; import com.amap.api.maps.CameraUpdateFactory; -import com.amap.api.maps.TextureMapView; +import com.amap.api.maps.MapView; import com.amap.api.maps.UiSettings; import com.amap.api.maps.model.BitmapDescriptor; import com.amap.api.maps.model.BitmapDescriptorFactory; @@ -65,7 +65,7 @@ public class AMapCustomView extends RelativeLayout implements IMoGoMapLocationListener { public static final String TAG = "AMapCustomView"; - private TextureMapView mAMapView; + private MapView mAMapView; private AMap mAMap; private int zoomLevel = 15; private CameraUpdate mCameraUpdate; @@ -94,6 +94,7 @@ public class AMapCustomView private MogoLocation mLocation; private boolean isFirstLocation = true; + CustomMapStyleOptions mCustomMapStyleOptions; public AMapCustomView(Context context) { this(context, null); @@ -140,20 +141,22 @@ public class AMapCustomView Log.d(TAG, "initAMapView"); mCameraUpdate = CameraUpdateFactory.zoomTo(zoomLevel); mAMap = mAMapView.getMap(); + mCustomMapStyleOptions = new CustomMapStyleOptions(); + if (AppIdentityModeUtils.isTaxi(FunctionBuildConfig.appIdentityMode)) { + mCustomMapStyleOptions.setStyleData(MapAssetStyleUtils.getAssetsStyle(getContext(), "over_view_style.data")); + mCustomMapStyleOptions.setStyleExtraData(MapAssetStyleUtils.getAssetsExtraStyle(getContext(), "over_view_style_extra.data")); + } else { + mCustomMapStyleOptions.setStyleData(MapAssetStyleUtils.getAssetsStyle(getContext(), "over_view_style_bus.data")); + mCustomMapStyleOptions.setStyleExtraData(MapAssetStyleUtils.getAssetsExtraStyle(getContext(), "over_view_style_extra_bus.data")); + } mAMap.setOnMapLoadedListener(() -> { Log.d(TAG, "---onMapLoaded---"); - CustomMapStyleOptions customMapStyleOptions = new CustomMapStyleOptions(); - // 加载自定义样式 - customMapStyleOptions.setEnable(true); - if (AppIdentityModeUtils.isTaxi(FunctionBuildConfig.appIdentityMode)) { - customMapStyleOptions.setStyleData(MapAssetStyleUtils.getAssetsStyle(getContext(), "over_view_style.data")); - customMapStyleOptions.setStyleExtraData(MapAssetStyleUtils.getAssetsExtraStyle(getContext(), "over_view_style_extra.data")); - } else { - customMapStyleOptions.setStyleData(MapAssetStyleUtils.getAssetsStyle(getContext(), "over_view_style_bus.data")); - customMapStyleOptions.setStyleExtraData(MapAssetStyleUtils.getAssetsExtraStyle(getContext(), "over_view_style_extra_bus.data")); + if (mCustomMapStyleOptions != null) { + // 加载自定义样式 + mCustomMapStyleOptions.setEnable(true); + // 设置自定义样式 + mAMap.setCustomMapStyle(mCustomMapStyleOptions); } - // 设置自定义样式 - mAMap.setCustomMapStyle(customMapStyleOptions); // 实时路况图层关闭,必须添加在loaded结束之后,其他位置不生效 mAMap.setTrafficEnabled(false); }); @@ -269,13 +272,11 @@ public class AMapCustomView public void onLocationChanged(@org.jetbrains.annotations.Nullable MogoLocation location, int from) { mLocation = location; MarkerDrawerManager.INSTANCE.setLonLat(new Pair(location.getLongitude(), location.getLatitude())); - UiThreadHandler.post(() -> { - drawCarMarker(location); - if (isFirstLocation) { - displayCustomOverView(); - isFirstLocation = false; - } - }); + drawCarMarker(location); + if (isFirstLocation) { + displayCustomOverView(); + isFirstLocation = false; + } } public void onCreateView(Bundle savedInstanceState) { diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/SmallMapDirectionView.java b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/SmallMapDirectionView.java index 00270c4f24..33bc16afc1 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/SmallMapDirectionView.java +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/SmallMapDirectionView.java @@ -129,8 +129,8 @@ public class SmallMapDirectionView // 加载自定义样式 CustomMapStyleOptions customMapStyleOptions = new CustomMapStyleOptions() .setEnable(true) - .setStyleData(MapAssetStyleUtils.getAssetsStyle(getContext(), "small_map_style.data")) - .setStyleExtraData(MapAssetStyleUtils.getAssetsExtraStyle(getContext(), "small_map_style_extra.data")); + .setStyleData(MapAssetStyleUtils.getAssetsStyle(getContext(), "over_view_style.data")) + .setStyleExtraData(MapAssetStyleUtils.getAssetsExtraStyle(getContext(), "over_view_style_extra.data")); // 设置自定义样式 mAMap.setCustomMapStyle(customMapStyleOptions); //设置希望展示的地图缩放级别 @@ -146,8 +146,8 @@ public class SmallMapDirectionView // 加载自定义样式 CustomMapStyleOptions customMapStyleOptions1 = new CustomMapStyleOptions() .setEnable(true) - .setStyleData(MapAssetStyleUtils.getAssetsStyle(getContext(), "small_map_style.data")) - .setStyleExtraData(MapAssetStyleUtils.getAssetsExtraStyle(getContext(), "small_map_style_extra.data")); + .setStyleData(MapAssetStyleUtils.getAssetsStyle(getContext(), "over_view_style.data")) + .setStyleExtraData(MapAssetStyleUtils.getAssetsExtraStyle(getContext(), "over_view_style_extra.data")); // 设置自定义样式 mAMap.setCustomMapStyle(customMapStyleOptions1); mAMapNaviView.getMap().setPointToCenter(mAMapNaviView.getWidth() / 2, mAMapNaviView.getHeight() / 2); diff --git a/core/function-impl/mogo-core-function-map/src/main/res/layout/module_overview_map_view.xml b/core/function-impl/mogo-core-function-map/src/main/res/layout/module_overview_map_view.xml index dedfa69132..d5184f1e3d 100644 --- a/core/function-impl/mogo-core-function-map/src/main/res/layout/module_overview_map_view.xml +++ b/core/function-impl/mogo-core-function-map/src/main/res/layout/module_overview_map_view.xml @@ -17,7 +17,7 @@ android:layout_height="match_parent" android:layout_centerInParent="true"> - diff --git a/core/mogo-core-res/src/main/assets/over_view_style.data b/core/mogo-core-res/src/main/assets/over_view_style.data index 48e6253f98..49eb4d9eb8 100644 Binary files a/core/mogo-core-res/src/main/assets/over_view_style.data and b/core/mogo-core-res/src/main/assets/over_view_style.data differ diff --git a/core/mogo-core-res/src/main/assets/over_view_style_bus.data b/core/mogo-core-res/src/main/assets/over_view_style_bus.data index 2fdafcbf19..ab077f9849 100644 Binary files a/core/mogo-core-res/src/main/assets/over_view_style_bus.data and b/core/mogo-core-res/src/main/assets/over_view_style_bus.data differ diff --git a/core/mogo-core-res/src/main/assets/over_view_style_extra.data b/core/mogo-core-res/src/main/assets/over_view_style_extra.data index fb811c577e..2f77f323d0 100644 Binary files a/core/mogo-core-res/src/main/assets/over_view_style_extra.data and b/core/mogo-core-res/src/main/assets/over_view_style_extra.data differ diff --git a/core/mogo-core-res/src/main/assets/small_map_style.data b/core/mogo-core-res/src/main/assets/small_map_style.data deleted file mode 100644 index 4b1dc9a0da..0000000000 Binary files a/core/mogo-core-res/src/main/assets/small_map_style.data and /dev/null differ diff --git a/core/mogo-core-res/src/main/assets/small_map_style_extra.data b/core/mogo-core-res/src/main/assets/small_map_style_extra.data deleted file mode 100644 index 6e201b10d4..0000000000 Binary files a/core/mogo-core-res/src/main/assets/small_map_style_extra.data and /dev/null differ diff --git a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/mogo/MapAssetStyleUtils.java b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/mogo/MapAssetStyleUtils.java index beeb628e8d..84093b7f72 100644 --- a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/mogo/MapAssetStyleUtils.java +++ b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/mogo/MapAssetStyleUtils.java @@ -16,7 +16,7 @@ public class MapAssetStyleUtils { byte[] buffer1 = null; InputStream is1 = null; try { - is1 = context.getResources().getAssets().open(fileName); //eg. small_map_style.data + is1 = context.getResources().getAssets().open(fileName); //eg. over_view_style.data int lenght1 = is1.available(); buffer1 = new byte[lenght1]; is1.read(buffer1); @@ -39,7 +39,7 @@ public class MapAssetStyleUtils { byte[] buffer1 = null; InputStream is1 = null; try { - is1 = context.getResources().getAssets().open(fileName); //eg. small_map_style_extra.data + is1 = context.getResources().getAssets().open(fileName); //eg. over_view_style_extra.data int lenght1 = is1.available(); buffer1 = new byte[lenght1]; is1.read(buffer1);