diff --git a/.idea/misc.xml b/.idea/misc.xml
index 8af1c7c7d7..b81ffe8627 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -16,13 +16,12 @@
-
+
-
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt
index 6cf25475a3..569f83e285 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt
+++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt
@@ -55,7 +55,14 @@ class MoGoHmiFragment : MvpFragment
}
override fun vipIdentification(visible: Boolean) {
- flVipIdentificationView.visibility = if (visible) View.VISIBLE else View.GONE
+ ThreadUtils.runOnUiThread {
+ Logger.d(TAG, "vipIdentification")
+ if (visible) {
+ flVipIdentificationView.visibility = View.VISIBLE
+ } else {
+ flVipIdentificationView.visibility = View.GONE
+ }
+ }
}
override fun createCoverage(activity: FragmentActivity?, containerId: Int?): Fragment? {
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/fragment_hmi.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/fragment_hmi.xml
index a856e8ea80..577835099a 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/fragment_hmi.xml
+++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/fragment_hmi.xml
@@ -29,8 +29,9 @@
android:layout_width="@dimen/module_vip_width"
android:layout_height="@dimen/module_vip_height"
android:layout_marginLeft="@dimen/module_vip_margin_left"
- app:layout_constraintLeft_toRightOf="@+id/flSpeedChartView"
- app:layout_constraintTop_toTopOf="@+id/flSpeedChartView" />
+ android:visibility="gone"
+ app:layout_constraintLeft_toRightOf="@+id/viewSpeedChart"
+ app:layout_constraintTop_toTopOf="@+id/viewSpeedChart" />
+ app:layout_constraintEnd_toStartOf="@id/viewTrafficLightVr"
+ app:layout_constraintTop_toTopOf="parent"
+ tools:visibility="visible" />
\ No newline at end of file
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_vip_identification.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_vip_identification.xml
index d063b9158d..b3f34d3fe5 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_vip_identification.xml
+++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_vip_identification.xml
@@ -11,7 +11,6 @@
android:layout_height="@dimen/dp_104"
android:scaleType="fitXY"
android:src="@drawable/v2x_vip_identification_vr"
- android:visibility="gone"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
diff --git a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/vip/VipCarManager.kt b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/vip/VipCarManager.kt
index 255bb1170a..fa20ef0042 100644
--- a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/vip/VipCarManager.kt
+++ b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/vip/VipCarManager.kt
@@ -12,6 +12,7 @@ import com.mogo.eagle.core.function.api.trafficlight.IMoGoTrafficLightListener
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager
import com.mogo.eagle.core.function.call.trafficlight.CallTrafficLightListenerManager
import com.mogo.eagle.core.function.v2x.trafficlight.core.MogoTrafficLightManager
+import com.mogo.eagle.core.utilcode.util.SPUtils
import com.mogo.map.navi.IMogoCarLocationChangedListener2
import com.mogo.module.common.MogoApisHandler
import com.mogo.module.common.enums.EventTypeEnum
@@ -37,9 +38,23 @@ class VipCarManager : IMogoOnMessageListener, IMoGoTrafficLightListe
fun initServer(context: Context) {
mContext = context
- MogoApisHandler.getInstance().apis.registerCenterApi.registerCarLocationChangedListener(TAG, this)
- MogoApisHandler.getInstance().apis.getSocketManagerApi(context)
+ MogoApisHandler.getInstance()
+ .apis.registerCenterApi.registerCarLocationChangedListener(TAG, this)
+ MogoApisHandler.getInstance()
+ .apis.getSocketManagerApi(context)
.registerOnMessageListener(401025, this)
+
+ val vipSetTime = SPUtils.getInstance().getLong("vip")
+ if (vipSetTime == -1L) {
+ return
+ }
+ //todo 后续改成接口调用查询,防止清除缓存造成状态不统一
+ if (vipSetTime > 0 && System.currentTimeMillis() - vipSetTime < 0) { //未超时,需要设置VIP
+ CallerHmiManager.vipIdentification(true)
+ CallTrafficLightListenerManager.registerTrafficLightListener(TAG, this)
+ } else {
+ SPUtils.getInstance().remove("vip") //超时
+ }
}
override fun target(): Class {
@@ -47,13 +62,16 @@ class VipCarManager : IMogoOnMessageListener, IMoGoTrafficLightListe
}
override fun onMsgReceived(vipMessage: VipMessage?) {
+ Logger.d(TAG, "onMsgReceived vipMessage : ${vipMessage.toString()}")
vipMessage?.let {
when (it.vipType) {
- 0 -> {
+ 0 -> { //取消VIP
+ SPUtils.getInstance().remove("vip")
CallerHmiManager.vipIdentification(false)
CallTrafficLightListenerManager.unRegisterTrafficLightListener(TAG)
}
- 1 -> {
+ 1 -> { //设置VIP
+ SPUtils.getInstance().put("vip", vipMessage.timeOut)
CallerHmiManager.vipIdentification(true)
CallTrafficLightListenerManager.registerTrafficLightListener(TAG, this)
}
@@ -67,7 +85,7 @@ class VipCarManager : IMogoOnMessageListener, IMoGoTrafficLightListe
//如果上次结果和本次灯态结果变化比较大,则已变灯,控制HMI展示弹窗
if ((result!!.laneList.mid.remain - trafficLightResult.laneList.mid.remain) > 3) {
CallerHmiManager.showWarningV2X(EventTypeEnum.TYPE_VIP_IDENTIFICATION.poiType.toInt(),
- "",
+ EventTypeEnum.TYPE_VIP_IDENTIFICATION.content,
EventTypeEnum.TYPE_VIP_IDENTIFICATION.tts,
EventTypeEnum.TYPE_VIP_IDENTIFICATION.poiType,
object : IMoGoWarningStatusListener {
diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/v2x/VipMessage.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/v2x/VipMessage.kt
index ab9fd581af..fc8b61621d 100644
--- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/v2x/VipMessage.kt
+++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/v2x/VipMessage.kt
@@ -6,5 +6,5 @@ package com.mogo.eagle.core.data.v2x
* vipType: Vip --1 变成VIP,--0 撤销VIP
* content: VIP消息
*/
-class VipMessage(val timeOut: Long, val vipType: Int, val content: String) {
+data class VipMessage(val timeOut: Long, val vipType: Int, val content: String) {
}
\ No newline at end of file
diff --git a/foudations/mogo-aicloud-services-sdk/src/main/java/com/mogo/aicloud/services/socket/MogoAiCloudSocketManager.java b/foudations/mogo-aicloud-services-sdk/src/main/java/com/mogo/aicloud/services/socket/MogoAiCloudSocketManager.java
index ac9f284b7a..4eb11582b7 100644
--- a/foudations/mogo-aicloud-services-sdk/src/main/java/com/mogo/aicloud/services/socket/MogoAiCloudSocketManager.java
+++ b/foudations/mogo-aicloud-services-sdk/src/main/java/com/mogo/aicloud/services/socket/MogoAiCloudSocketManager.java
@@ -176,7 +176,7 @@ public class MogoAiCloudSocketManager extends ConnectionLifecycleListener implem
if (listeners != null && !listeners.isEmpty()) {
for (IMogoOnMessageListener listener : listeners) {
if (listener != null) {
- Logger.d(TAG, "received msgId = %s, content = %s", mAckListeners.get(msgType), obj);
+ Logger.d(TAG, "received msgId = %s, content = %s", mAckListeners.get(msgType), obj.toString());
listener.onMsgReceived(obj);
}
}