diff --git a/modules/mogo-module-main/src/main/res/values-xhdpi/dimens.xml b/modules/mogo-module-main/src/main/res/values-xhdpi/dimens.xml
index 1e3dc1ca7d..0f5abc133c 100644
--- a/modules/mogo-module-main/src/main/res/values-xhdpi/dimens.xml
+++ b/modules/mogo-module-main/src/main/res/values-xhdpi/dimens.xml
@@ -28,8 +28,8 @@
20px
20px
- 18px
- 18px
- 18px
- 18px
+ 15px
+ 15px
+ 15px
+ 15px
\ No newline at end of file
diff --git a/modules/mogo-module-main/src/main/res/values/dimens.xml b/modules/mogo-module-main/src/main/res/values/dimens.xml
index 30f61f1985..89a3dc55f4 100644
--- a/modules/mogo-module-main/src/main/res/values/dimens.xml
+++ b/modules/mogo-module-main/src/main/res/values/dimens.xml
@@ -33,6 +33,6 @@
2px
2px
- 0px
+ 6px
6px
\ No newline at end of file
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/onlinecar/panel/OnlineCarPanelAdapter.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/onlinecar/panel/OnlineCarPanelAdapter.java
index de632983fd..86beee061c 100644
--- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/onlinecar/panel/OnlineCarPanelAdapter.java
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/onlinecar/panel/OnlineCarPanelAdapter.java
@@ -129,7 +129,7 @@ class OnlineCarPanelAdapter extends RecyclerView.Adapter= 1000) {
- return String.format("%.1f千米", distance / 1000);
+ return String.format("%.1f公里", distance / 1000);
} else {
return String.format("%.1f米", distance);
}
diff --git a/modules/mogo-module-service/src/main/res/drawable/module_services_panel_item_bkg.xml b/modules/mogo-module-service/src/main/res/drawable/module_services_panel_item_bkg.xml
index 08e5f85a0a..e694f85e35 100644
--- a/modules/mogo-module-service/src/main/res/drawable/module_services_panel_item_bkg.xml
+++ b/modules/mogo-module-service/src/main/res/drawable/module_services_panel_item_bkg.xml
@@ -2,8 +2,8 @@
-
-
-
+
+
\ No newline at end of file
diff --git a/modules/mogo-module-service/src/main/res/layout/module_services_fragment_online_car_panel.xml b/modules/mogo-module-service/src/main/res/layout/module_services_fragment_online_car_panel.xml
index 2b4ceea7d2..1a5729e252 100644
--- a/modules/mogo-module-service/src/main/res/layout/module_services_fragment_online_car_panel.xml
+++ b/modules/mogo-module-service/src/main/res/layout/module_services_fragment_online_car_panel.xml
@@ -16,7 +16,7 @@
android:id="@+id/module_services_id_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginTop="@dimen/module_services_online_car_panel_close_margin_top"
+ android:layout_marginTop="@dimen/module_services_online_car_panel_title_margin_top"
android:textStyle="bold"
android:text="@string/module_services_online_car_panel_title"
android:textColor="@color/module_services_online_car_panel_title_textColor"
diff --git a/modules/mogo-module-service/src/main/res/layout/module_services_online_car_panel_item.xml b/modules/mogo-module-service/src/main/res/layout/module_services_online_car_panel_item.xml
index 577b0ba7d3..e11c589602 100644
--- a/modules/mogo-module-service/src/main/res/layout/module_services_online_car_panel_item.xml
+++ b/modules/mogo-module-service/src/main/res/layout/module_services_online_car_panel_item.xml
@@ -6,13 +6,14 @@
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/module_services_panel_item_marginBottom"
android:background="@drawable/module_services_panel_item_bkg"
- android:padding="@dimen/module_services_panel_item_padding">
+ android:paddingTop="@dimen/module_services_panel_item_padding"
+ android:paddingStart="@dimen/module_services_panel_item_start"
+ android:paddingBottom="@dimen/module_services_panel_item_padding">
diff --git a/modules/mogo-module-service/src/main/res/values-ldpi/dimens.xml b/modules/mogo-module-service/src/main/res/values-ldpi/dimens.xml
index 8fb8c16e93..4103d9c547 100644
--- a/modules/mogo-module-service/src/main/res/values-ldpi/dimens.xml
+++ b/modules/mogo-module-service/src/main/res/values-ldpi/dimens.xml
@@ -48,7 +48,7 @@
5px
20px
13px
- 42px
+ 10px
8.89px
13px
16px
@@ -62,4 +62,5 @@
12.5px
3px
3px
+ 20px
\ No newline at end of file
diff --git a/modules/mogo-module-service/src/main/res/values-mdpi/dimens.xml b/modules/mogo-module-service/src/main/res/values-mdpi/dimens.xml
index aa8cf42951..6feb909906 100644
--- a/modules/mogo-module-service/src/main/res/values-mdpi/dimens.xml
+++ b/modules/mogo-module-service/src/main/res/values-mdpi/dimens.xml
@@ -47,7 +47,7 @@
5px
28px
13px
- 42px
+ 10px
8.89px
13px
16px
@@ -61,4 +61,5 @@
12.5px
3px
3px
+ 20px
\ No newline at end of file
diff --git a/modules/mogo-module-service/src/main/res/values-xhdpi-1920x1000/dimens.xml b/modules/mogo-module-service/src/main/res/values-xhdpi-1920x1000/dimens.xml
index 9f26351058..fb1ea406df 100644
--- a/modules/mogo-module-service/src/main/res/values-xhdpi-1920x1000/dimens.xml
+++ b/modules/mogo-module-service/src/main/res/values-xhdpi-1920x1000/dimens.xml
@@ -34,7 +34,7 @@
50px
28px
- 36px
+ 55px
50px
36px
151px
@@ -46,7 +46,7 @@
9px
40px
20px
- 70px
+ 20px
16px
21px
28px
diff --git a/modules/mogo-module-service/src/main/res/values-xhdpi/dimens.xml b/modules/mogo-module-service/src/main/res/values-xhdpi/dimens.xml
index 1881b587f6..316b89ce91 100644
--- a/modules/mogo-module-service/src/main/res/values-xhdpi/dimens.xml
+++ b/modules/mogo-module-service/src/main/res/values-xhdpi/dimens.xml
@@ -23,19 +23,18 @@
120px
20px
- 20px
- 20px
- 20px
- 50px
+ 13px
+ 13px
+ 13px
+ 43px
28px
-
98px
46px
40px
- 36px
- 50px
+ 40px
+ 55px
36px
151px
33px
@@ -46,7 +45,7 @@
9px
40px
20px
- 70px
+ 20px
16px
21px
28px
@@ -60,4 +59,5 @@
22.5px
6px
6px
-
\ No newline at end of file
+ 40px
+
diff --git a/modules/mogo-module-service/src/main/res/values/dimens.xml b/modules/mogo-module-service/src/main/res/values/dimens.xml
index df03037594..d5bbe4d08b 100644
--- a/modules/mogo-module-service/src/main/res/values/dimens.xml
+++ b/modules/mogo-module-service/src/main/res/values/dimens.xml
@@ -46,7 +46,7 @@
5px
20px
13px
- 42px
+ 10px
8.89px
13px
16px
@@ -60,4 +60,6 @@
12.5px
3px
3px
+ 24px
+¬
\ No newline at end of file
diff --git a/modules/mogo-module-service/src/main/res/values/strings.xml b/modules/mogo-module-service/src/main/res/values/strings.xml
index 46bb81ce90..8d73bcbd45 100644
--- a/modules/mogo-module-service/src/main/res/values/strings.xml
+++ b/modules/mogo-module-service/src/main/res/values/strings.xml
@@ -6,7 +6,7 @@
亲,建议您使用蘑菇出行
扩大到20公里半径
扩大到40公里半径
- 距离导航目的地
+ 距离目的地
查看车友信息
电话
很抱歉,目的地%d公里内未找到车友
diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/alarm/V2XAlarmServer.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/alarm/V2XAlarmServer.java
index 69f7e979a8..f0a32200d3 100644
--- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/alarm/V2XAlarmServer.java
+++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/alarm/V2XAlarmServer.java
@@ -76,78 +76,94 @@ public class V2XAlarmServer {
// 检测道路事件是否需UGC问答
V2XEarlyWarningServer.roadEventUgcCheck(currentLocation);
}
-// Logger.w(MODULE_NAME, "V2X预警--车辆状态:" + currentLocation);
-// Logger.w(MODULE_NAME, "V2X预警--车辆速度:" + currentLocation.getSpeed());
-// Logger.w(MODULE_NAME, "V2X预警--v2XRoadEventEntityList:" + GsonUtil.jsonFromObject(v2XRoadEventEntityList));
// 60(km/h)
if (currentLocation != null && v2XRoadEventEntityList != null) {
// 因为集合是按照距离排序后的所以这里检索出来第一个就发出警告
for (V2XRoadEventEntity v2XRoadEventEntity : v2XRoadEventEntityList) {
- // 先计算当前车辆的车头朝向是否与事件方向相同,这里采用的是区间值,只要在20度上下即可使用
- // 道路事件必须有朝向,角度>=0;
- //Logger.w(MODULE_NAME,
- // "V2X预警--车辆与事件信息:" +
- // "\n事件名称:" + markerNoveltyInfo.getNoveltyInfo().getContentData().getTitle() +
- // "\n事件角度:" + markerNoveltyInfo.getLocation().getAngle() +
- // "\n车头角度:" + currentLocation.getAngle() +
- // "\n角度差值:" + Math.abs(currentLocation.getAngle() - markerNoveltyInfo.getLocation().getAngle()));
+ // 0、道路事件必须有朝向,角度>=0;
if (v2XRoadEventEntity.getLocation().getAngle() >= 0) {
// 计算车辆距离指定气泡的距离
MarkerLocation eventLocation = v2XRoadEventEntity.getLocation();
-
- // 判断是否到达了触发距离,20 ~ 500,
+ // 1、判断是否到达了触发距离,20 ~ 500,
if (v2XRoadEventEntity.getDistance() <= 500) {
- double eventAngle = DrivingDirectionUtils.getDegreeOfCar2Poi(
- currentLocation.getLongitude(),
- currentLocation.getLatitude(),
- eventLocation.getLon(),
- eventLocation.getLat(),
- (int) currentLocation.getBearing()
- );
- if (0 <= eventAngle && eventAngle <= 20) {
- // 判断是否已经提示过道路事件
- boolean isAlreadyAlert = false;
- String lastTime = mAlertRoadEventList.get(v2XRoadEventEntity);
- if (!TextUtils.isEmpty(lastTime)) {
- long timeSpan = TimeUtils.getTimeSpanByNow(lastTime, TimeConstants.MIN);
+ // 2、道路事件方向与当前行驶方向角度偏差《20度以内
+ double carBearing = currentLocation.getBearing();
+ double eventBearing = eventLocation.getAngle();
+ double diffAngle = DrivingDirectionUtils.getAngleDiff(carBearing, eventBearing);
+ if (diffAngle < 20) {
+ // 3、计算当前车辆行驶方向与事件位置之间夹角《20度,保证道路事件在车辆前方
+ double eventAngle = DrivingDirectionUtils.getDegreeOfCar2Poi(
+ currentLocation.getLongitude(),
+ currentLocation.getLatitude(),
+ eventLocation.getLon(),
+ eventLocation.getLat(),
+ (int) currentLocation.getBearing()
+ );
+ if (0 <= eventAngle && eventAngle <= 20) {
+ // 判断是否已经提示过道路事件
+ boolean isAlreadyAlert = false;
+ String lastTime = mAlertRoadEventList.get(v2XRoadEventEntity);
+ if (!TextUtils.isEmpty(lastTime)) {
+ long timeSpan = TimeUtils.getTimeSpanByNow(lastTime, TimeConstants.MIN);
// Logger.w(MODULE_NAME,
// "V2X预警--事件ID:" + v2XRoadEventEntity.getNoveltyInfo().getInfoId() +
// "\n上一次预警时间:" + lastTime +
// "\n距离当前时间:" + timeSpan);
- // 5分钟内不重复提醒
- if (timeSpan < 5) {
- isAlreadyAlert = true;
+ // 5分钟内不重复提醒
+ if (timeSpan < 5) {
+ isAlreadyAlert = true;
+ }
}
+ // 进行提醒
+ if (!isAlreadyAlert) {
+ Logger.w(MODULE_NAME, "V2X预警--车辆与事件信息:" +
+ "\n事件详情ID:" + v2XRoadEventEntity.getNoveltyInfo().getInfoId() +
+ "\n事件详情:" + GsonUtil.jsonFromObject(v2XRoadEventEntity.getNoveltyInfo()) +
+ "\n距离:" + v2XRoadEventEntity.getDistance() + "米" +
+ "\n是否已经提醒:" + isAlreadyAlert +
+ "\n当前车辆-经度:" + currentLocation.getLongitude() +
+ "\n当前车辆-经度:" + currentLocation.getLatitude() +
+ "\n当前车辆-角度:" + currentLocation.getBearing() +
+ "\n道路事件-经度:" + eventLocation.getLon() +
+ "\n道路事件-经度:" + eventLocation.getLat() +
+ "\n道路事件-角度:" + eventLocation.getAngle() +
+ "\n夹角角度:" + eventAngle + " 度"
+ );
+ mAlertRoadEventList.put(v2XRoadEventEntity, TimeUtils.getNowString());
+ return v2XRoadEventEntity;
+ }
+ return null;
+ } else {
+// Logger.w(MODULE_NAME, "V2X预警--事件与车头角度夹角过大:" +
+// "\n事件详情:" + v2XRoadEventEntity.getNoveltyInfo().getInfoId() +
+// "\n当前车辆-经度:" + currentLocation.getLongitude() +
+// "\n当前车辆-经度:" + currentLocation.getLatitude() +
+// "\n当前车辆-角度:" + currentLocation.getBearing() +
+// "\n道路事件-经度:" + eventLocation.getLon() +
+// "\n道路事件-经度:" + eventLocation.getLat() +
+// "\n道路事件-角度:" + eventLocation.getAngle() +
+// "\n夹角角度:" + eventAngle + " 度"
+// );
}
- Logger.w(MODULE_NAME, "V2X预警--车辆与事件信息:" +
- "\n距离:" + v2XRoadEventEntity.getDistance() + "米" +
- "\n是否已经提醒:" + isAlreadyAlert +
- "\n事件ID:" + v2XRoadEventEntity.getNoveltyInfo().getInfoId() +
- "\n事件详情:" + GsonUtil.jsonFromObject(v2XRoadEventEntity.getNoveltyInfo())
- );
- // 进行提醒
- if (!isAlreadyAlert) {
- mAlertRoadEventList.put(v2XRoadEventEntity, TimeUtils.getNowString());
- return v2XRoadEventEntity;
- }
- return null;
} else {
- Logger.w(MODULE_NAME, "V2X预警--事件与车头角度夹角过大:" +
- "\n角度:" + eventAngle + " 度" +
- "\n事件详情:" + v2XRoadEventEntity.getNoveltyInfo().getInfoId()
+ Logger.w(MODULE_NAME,
+ "V2X预警--车头方向与事件方向角度不一致:" +
+ "\n事件详情:" + v2XRoadEventEntity.getNoveltyInfo().getInfoId() +
+ "\n车头方向: " + carBearing +
+ "\n事件方向:" + eventBearing +
+ "\n角度差值:" + diffAngle
);
}
} else {
- Logger.w(MODULE_NAME, "V2X预警--车辆距离事件距离大于500米了:" +
- "\n距离:" + v2XRoadEventEntity.getDistance() + "米" +
- "\n事件详情:" + v2XRoadEventEntity.getNoveltyInfo().getInfoId()
- );
+// Logger.w(MODULE_NAME, "V2X预警--车辆距离事件距离大于500米了:" +
+// "\n事件详情:" + v2XRoadEventEntity.getNoveltyInfo().getInfoId() +
+// "\n距离:" + v2XRoadEventEntity.getDistance() + "米"
+// );
}
} else {
- Logger.w(MODULE_NAME,
- "V2X预警--车头方向与事件方向角度不一致:" +
- "\n车头方向: " + currentLocation.getBearing() +
- "\n事件方向:" + v2XRoadEventEntity.getLocation().getAngle()
+ Logger.e(MODULE_NAME,
+ "V2X预警--道路事件没有角度信息" +
+ "\n事件详情:" + v2XRoadEventEntity.getNoveltyInfo().getInfoId()
);
}
}
@@ -189,11 +205,11 @@ public class V2XAlarmServer {
switch (levelListBean.getLevel()) {
//正常
case "NORMAL":
- Logger.d(MODULE_NAME, "驾驶疲劳程度: 正常");
+ //Logger.d(MODULE_NAME, "驾驶疲劳程度: 正常");
break;
//轻度
case "SLIGHT":
- Logger.w(MODULE_NAME, "驾驶疲劳程度: 轻度");
+ //Logger.w(MODULE_NAME, "驾驶疲劳程度: 轻度");
if (!mV2XFatigueDrivingEventLevel.contains("SLIGHT")) {
mV2XFatigueDrivingEventLevel.add("SLIGHT");
drivingShowEntity.setShowWindow(false);
@@ -208,15 +224,15 @@ public class V2XAlarmServer {
break;
//中度
case "MODERATE":
- Logger.e(MODULE_NAME, "驾驶疲劳程度: 中度");
+ //Logger.e(MODULE_NAME, "驾驶疲劳程度: 中度");
warningParkPoi(location, onFatigueDrivingListener, drivingShowEntity, levelListBean);
break;
//重度
case "SEVERE":
- Logger.e(MODULE_NAME, "驾驶疲劳程度: 重度");
+ //Logger.e(MODULE_NAME, "驾驶疲劳程度: 重度");
break;
default:
- Logger.e(MODULE_NAME, "驾驶疲劳程度: 超出定义范围");
+ //Logger.e(MODULE_NAME, "驾驶疲劳程度: 超出定义范围");
break;
}
}
@@ -238,7 +254,7 @@ public class V2XAlarmServer {
LocationUtils.geoCodeSearch(location, new IMogoGeoSearchListener() {
@Override
public void onRegeocodeSearched(MogoRegeocodeResult regeocodeResult) {
- Logger.i(MODULE_NAME, "根据经纬度查询结果为:" + regeocodeResult.getRegeocodeAddress().getFormatAddress());
+ //Logger.i(MODULE_NAME, "根据经纬度查询结果为:" + regeocodeResult.getRegeocodeAddress().getFormatAddress());
String keyword = "停车场";
boolean isHighWay = false;
// 如果当前位置是高速则推荐服务区
diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/alarm/V2XEarlyWarningServer.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/alarm/V2XEarlyWarningServer.java
index 80c91f14f8..db5b7cabcf 100644
--- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/alarm/V2XEarlyWarningServer.java
+++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/alarm/V2XEarlyWarningServer.java
@@ -4,22 +4,18 @@ import android.content.Intent;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
-import com.mogo.map.MogoLatLng;
import com.mogo.map.location.MogoLocation;
import com.mogo.module.common.entity.MarkerLocation;
import com.mogo.module.common.entity.V2XMessageEntity;
import com.mogo.module.common.entity.V2XRoadEventEntity;
import com.mogo.module.v2x.V2XConst;
-import com.mogo.module.v2x.V2XServiceManager;
import com.mogo.module.v2x.utils.DrivingDirectionUtils;
import com.mogo.module.v2x.utils.EventTypeUtils;
import com.mogo.module.v2x.utils.V2XUtils;
-import com.mogo.service.share.IMogoTanluProvider;
-import com.mogo.service.share.TanluUploadParams;
import com.mogo.utils.logger.Logger;
+import com.mogo.utils.network.utils.GsonUtil;
import java.util.ArrayList;
-import java.util.List;
import java.util.Set;
import static com.mogo.module.v2x.V2XConst.MODULE_NAME;
@@ -30,7 +26,7 @@ import static com.mogo.module.v2x.V2XConst.MODULE_NAME;
public class V2XEarlyWarningServer {
private static final String TAG = "V2XEarlyWarningServer";
- private static List alertMessageId = new ArrayList<>();
+ private static ArrayList alertMessageId = new ArrayList<>();
/**
* 对提醒过的道路事件进行UGC检测
@@ -54,37 +50,49 @@ public class V2XEarlyWarningServer {
(int) currentLocation.getBearing()
);
- // 判断车辆行驶角度是否与事件相反,相反的话表示已经行驶过去了
- if (90 <= eventAngle && !alertMessageId.contains(v2XRoadEventEntity.getNoveltyInfo().getInfoId())) {
- // 封路、施工、拥堵、拥堵 才会有UGC提示
- if (EventTypeUtils.isNeedRoadEventUgc(v2XRoadEventEntity.getPoiType())) {
+ double carBearing = currentLocation.getBearing();
+ String roadInfoId = v2XRoadEventEntity.getNoveltyInfo().getInfoId();
- Logger.w(MODULE_NAME + "_" + TAG, "V2X预警UGC--事件与车头角度夹角过大:" +
- "\n角度:" + eventAngle + " 度" +
- "\n事件详情:" + v2XRoadEventEntity.getNoveltyInfo().getInfoId() +
- "\n库存事件:" + V2XAlarmServer.mAlertRoadEventList.size()
- );
+ // 封路、施工、拥堵、拥堵 才会有UGC提示
+ if (EventTypeUtils.isNeedRoadEventUgc(v2XRoadEventEntity.getPoiType())) {
+ Logger.w(MODULE_NAME,
+ "V2X预警--UGC检测:" +
+ "\n事件详情:" + roadInfoId +
+ "\n事件详情:" + EventTypeUtils.getPoiTypeStr(v2XRoadEventEntity.getPoiType()) +
+ "\n车头方向: " + carBearing +
+ "\n车与事件夹角:" + eventAngle +
+ "\n已经UGC的事件:" + GsonUtil.jsonFromObject(alertMessageId)
+ );
+ // 判断是否预警过了
+ if (!alertMessageId.contains(roadInfoId)) {
+ // 判断车辆行驶角度是否与事件相反,相反的话表示已经行驶过去了
+ if (80 <= eventAngle) {
+ Logger.w(MODULE_NAME + "_" + TAG, "V2X预警UGC--事件与车头角度夹角过大:" +
+ "\n角度:" + eventAngle + " 度" +
+ "\n事件详情:" + roadInfoId +
+ "\n库存事件:" + V2XAlarmServer.mAlertRoadEventList.size()
+ );
- // 记录已经 UGC 提醒过的数据
- alertMessageId.add(v2XRoadEventEntity.getNoveltyInfo().getInfoId());
+ // 记录已经 UGC 提醒过的数据
+ alertMessageId.add(roadInfoId);
+ // 加载数据源
+ V2XMessageEntity v2xMessageEntity = new V2XMessageEntity<>();
+ // 控制类型
+ v2xMessageEntity.setType(V2XMessageEntity.V2XTypeEnum.ALERT_EVENT_UGC_WARNING);
+ // 设置数据
+ v2xMessageEntity.setContent(v2XRoadEventEntity);
+ // 控制展示状态
+ v2xMessageEntity.setShowState(true);
+ // 弹出UGC
+ Intent intent = new Intent(V2XConst.BROADCAST_SCENE_HANDLER_ACTION);
+ intent.putExtra(V2XConst.BROADCAST_SCENE_EXTRA_KEY, v2xMessageEntity);
+ LocalBroadcastManager.getInstance(V2XUtils.getApp()).sendBroadcast(intent);
- // 加载数据源
- V2XMessageEntity v2xMessageEntity = new V2XMessageEntity<>();
- // 控制类型
- v2xMessageEntity.setType(V2XMessageEntity.V2XTypeEnum.ALERT_EVENT_UGC_WARNING);
- // 设置数据
- v2xMessageEntity.setContent(v2XRoadEventEntity);
- // 控制展示状态
- v2xMessageEntity.setShowState(true);
- // 弹出UGC
- Intent intent = new Intent(V2XConst.BROADCAST_SCENE_HANDLER_ACTION);
- intent.putExtra(V2XConst.BROADCAST_SCENE_EXTRA_KEY, v2xMessageEntity);
- LocalBroadcastManager.getInstance(V2XUtils.getApp()).sendBroadcast(intent);
-
+ }
+ // 移出已经预警的事件列表
+ //V2XAlarmServer.mAlertRoadEventList.remove(v2XRoadEventEntity);
}
- // 移出已经预警的事件列表
- //V2XAlarmServer.mAlertRoadEventList.remove(v2XRoadEventEntity);
}
}
}
diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/listener/V2XLocationListener.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/listener/V2XLocationListener.java
index 584671293c..b5104f1925 100644
--- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/listener/V2XLocationListener.java
+++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/listener/V2XLocationListener.java
@@ -154,11 +154,11 @@ public class V2XLocationListener implements IMogoLocationListener, CarStatusList
V2XServiceManager.getV2XStatusManager().getLocation());
// 距离是否大于10米 && 消息是否不为空
if (v2XRoadEventEntity != null && v2XRoadEventEntity.getDistance() >= 5) {
- Logger.w(MODULE_NAME,
- //"\nV2X预警--当前导航状态:" + V2XServiceManager.getNavi().isNaviing() +
- //"\nV2X预警--roadEventIsNullCount:" + roadEventIsNullCount +
- "\nV2X预警--当前预警事件:" + v2XRoadEventEntity
- );
+// Logger.w(MODULE_NAME,
+// //"\nV2X预警--当前导航状态:" + V2XServiceManager.getNavi().isNaviing() +
+// //"\nV2X预警--roadEventIsNullCount:" + roadEventIsNullCount +
+// "\nV2X预警--当前预警事件:" + v2XRoadEventEntity
+// );
// Logger.w(MODULE_NAME, "V2X预警--前方数据距离:" + v2XRoadEventEntity.getDistance());
// 触发展示操作
TrackUtils.trackV2xRoadProduceEvent(1);
@@ -229,7 +229,7 @@ public class V2XLocationListener implements IMogoLocationListener, CarStatusList
LocationUtils.geoCodeSearch(location, new IMogoGeoSearchListener() {
@Override
public void onRegeocodeSearched(MogoRegeocodeResult regeocodeResult) {
- Logger.i(MODULE_NAME, " 根据经纬度查询结果为:" + regeocodeResult.getRegeocodeAddress().getFormatAddress());
+ //Logger.i(MODULE_NAME, " 根据经纬度查询结果为:" + regeocodeResult.getRegeocodeAddress().getFormatAddress());
location.setAddress(regeocodeResult.getRegeocodeAddress().getFormatAddress());
// 如果有 "高速"、"环线"、"快速路"等字眼的,视为封闭式道路,流程结束;
if (regeocodeResult.getRegeocodeAddress().getFormatAddress().contains("高速")
@@ -257,7 +257,7 @@ public class V2XLocationListener implements IMogoLocationListener, CarStatusList
.queryIllegalPark(new V2XRefreshCallback() {
@Override
public void onSuccess(MarkerResponse result) {
- Logger.i(MODULE_NAME, "搜索附近的违章停车点 成功:" + GsonUtil.jsonFromObject(result));
+ //Logger.i(MODULE_NAME, "搜索附近的违章停车点 成功:" + GsonUtil.jsonFromObject(result));
if (result != null) {
if (result.getResult().getExploreWay().size() > 0) {
V2XMessageEntity> entity = new V2XMessageEntity<>();
diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/manager/impl/MoGoV2XMarkerManager.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/manager/impl/MoGoV2XMarkerManager.java
index de02286a2b..c7a66a11af 100644
--- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/manager/impl/MoGoV2XMarkerManager.java
+++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/manager/impl/MoGoV2XMarkerManager.java
@@ -60,7 +60,7 @@ public class MoGoV2XMarkerManager implements IMoGoV2XMarkerManager {
@Override
public void drawableLastAllPOI() {
- Logger.w(MODULE_NAME, "V2X---绘制上一次的POI,回调给Launcher底层逻辑让其进行绘制");
+ //Logger.w(MODULE_NAME, "V2X---绘制上一次的POI,回调给Launcher底层逻辑让其进行绘制");
// 清除连接线
V2XServiceManager.getMoGoV2XPolylineManager().clearLine();
clearAlarmPOI();
@@ -521,7 +521,7 @@ public class MoGoV2XMarkerManager implements IMoGoV2XMarkerManager {
try {
V2XServiceManager.getMapUIController().changeMapMode(EnumMapUI.NorthUP_2D);
V2XServiceManager.getMoGoV2XStatusManager().setRoadEventPOIShow(TAG, true);
- Logger.i(MODULE_NAME, "绘制道路事件====drawableAlarmPOI:");
+ //Logger.i(MODULE_NAME, "绘制道路事件====drawableAlarmPOI:");
// 清除原来的大而全的新鲜事儿
clearALLPOI();
if (roadEventEntity.getLocation() != null) {
diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/receiver/SceneBroadcastReceiver.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/receiver/SceneBroadcastReceiver.java
index 40ec88c69b..dd3773819e 100644
--- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/receiver/SceneBroadcastReceiver.java
+++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/receiver/SceneBroadcastReceiver.java
@@ -23,7 +23,7 @@ public class SceneBroadcastReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
try {
V2XMessageEntity v2XMessageEntity = (V2XMessageEntity) intent.getSerializableExtra(V2XConst.BROADCAST_SCENE_EXTRA_KEY);
- Logger.d(TAG, "v2XMessageEntity:" + GsonUtil.jsonFromObject(v2XMessageEntity));
+ //Logger.d(TAG, "v2XMessageEntity:" + GsonUtil.jsonFromObject(v2XMessageEntity));
V2XScenarioManager.getInstance().handlerMessage(v2XMessageEntity);
} catch (Exception e) {
e.printStackTrace();
diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/impl/V2XScenarioManager.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/impl/V2XScenarioManager.java
index 86f303b9a6..a81d3afe76 100644
--- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/impl/V2XScenarioManager.java
+++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/impl/V2XScenarioManager.java
@@ -55,7 +55,7 @@ public class V2XScenarioManager implements IV2XScenarioManager {
@Override
public void handlerMessage(V2XMessageEntity v2XMessageEntity) {
- Logger.d(MODULE_NAME, "处理V2X场景:" + GsonUtil.jsonFromObject(v2XMessageEntity));
+ //Logger.d(MODULE_NAME, "处理V2X场景:" + GsonUtil.jsonFromObject(v2XMessageEntity));
synchronized (V2XScenarioManager.class) {
// 展示
V2XUtils.runOnUiThread(() -> {
diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/utils/DrivingDirectionUtils.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/utils/DrivingDirectionUtils.java
index f045b6d0c1..bd48e3f2ff 100644
--- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/utils/DrivingDirectionUtils.java
+++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/utils/DrivingDirectionUtils.java
@@ -1,5 +1,7 @@
package com.mogo.module.v2x.utils;
+import static java.lang.Math.PI;
+
/**
* author : donghongyu
* e-mail : 1358506549@qq.com
@@ -22,8 +24,8 @@ public class DrivingDirectionUtils {
public static int getDegreeOfCar2Poi(double carLon, double carLat, double poiLon, double poiLat, int carAngle) {
int poiAngle = 0;
// 以子午线作为y轴 计算两点的余切 再将余切值转化为角度
- double _angle = Math.atan2(Math.abs(carLon - poiLon), Math.abs(carLat - poiLat)) * (180 / Math.PI);
-
+ double _angle = Math.atan2(Math.abs(carLon - poiLon), Math.abs(carLat - poiLat)) * (180 / PI);
+ //Log.w(MODULE_NAME, "getDegreeOfCar2Poi_计算车辆行驶方向 与 poi点到车辆的连线 间的夹角_angle===" + _angle);
if (poiLon > carLon) {
// poi 在 车辆位置的第1象限
if (poiLat > carLat) {
@@ -46,9 +48,27 @@ public class DrivingDirectionUtils {
return calculationAngle(poiAngle, carAngle);
}
+ /**
+ * 计算两个行驶方向间的夹角 计算结果小于180度
+ *
+ * @param angle0
+ * @param angle1
+ * @return
+ */
+ public static int calculationAngle(int angle0, int angle1) {
+ // 获取两方向间夹角
+ int angle = Math.abs(angle0 - angle1);
+ if (angle > 180) {
+ int minAngle = Math.min(angle0, angle1);
+ int maxAngle = Math.max(angle0, angle1);
+ return 180 - Math.abs(minAngle + 180 - maxAngle);
+ } else {
+ return angle;
+ }
+ }
/**
- * 计算车辆行驶方向 与 poi点到车辆的连线 间的夹角
+ * 计算车辆行驶方向角度,起点&终点经纬度
*
* @param carLat 车辆位置 lat
* @param carLon 车辆位置 lon
@@ -58,7 +78,7 @@ public class DrivingDirectionUtils {
public static int getCarAngle(double carLat, double carLon, double poiLat, double poiLon) {
int poiAngle = 0;
// 以子午线作为y轴 计算两点的余切 再将余切值转化为角度
- double _angle = Math.atan2(Math.abs(carLon - poiLon), Math.abs(carLat - poiLat)) * (180 / Math.PI);
+ double _angle = Math.atan2(Math.abs(carLon - poiLon), Math.abs(carLat - poiLat)) * (180 / PI);
if (poiLon > carLon) {
// poi 在 车辆位置的第1象限
@@ -87,23 +107,15 @@ public class DrivingDirectionUtils {
}
/**
- * 计算两个行驶方向间的夹角 计算结果小于180度
+ * 计算连两个角度差值
*
- * @param angle0
- * @param angle1
- * @return
+ * @param angle1 角度1
+ * @param angle2 角度2
+ * @return 差值
*/
- public static int calculationAngle(int angle0, int angle1) {
- // 获取两方向间夹角
- int angle = Math.abs(angle0 - angle1);
- if (angle > 180) {
- int minAngle = Math.min(angle0, angle1);
- int maxAngle = Math.max(angle0, angle1);
- return 180 - Math.abs(minAngle + 180 - maxAngle);
- } else {
- return angle;
- }
+ public static double getAngleDiff(double angle1, double angle2) {
+ // 两个角度差值较小
+ return 180 - Math.abs(Math.abs(angle1 - angle2) - 180);
}
-
}
diff --git a/skin/mogo-skin-light/src/main/module-callchat-res/drawable/module_callchatting_user_pop_call_bg_light.xml b/skin/mogo-skin-light/src/main/module-callchat-res/drawable/module_callchatting_user_pop_call_bg_light.xml
new file mode 100644
index 0000000000..c28d17cd1e
--- /dev/null
+++ b/skin/mogo-skin-light/src/main/module-callchat-res/drawable/module_callchatting_user_pop_call_bg_light.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/skin/mogo-skin-light/src/main/module-callchat-res/mipmap-ldpi/module_callchatting_user_caller_light.png b/skin/mogo-skin-light/src/main/module-callchat-res/mipmap-ldpi/module_callchatting_user_caller_light.png
new file mode 100644
index 0000000000..55573281a9
Binary files /dev/null and b/skin/mogo-skin-light/src/main/module-callchat-res/mipmap-ldpi/module_callchatting_user_caller_light.png differ
diff --git a/skin/mogo-skin-light/src/main/module-callchat-res/mipmap-mdpi/module_callchatting_user_caller_light.png b/skin/mogo-skin-light/src/main/module-callchat-res/mipmap-mdpi/module_callchatting_user_caller_light.png
new file mode 100644
index 0000000000..55573281a9
Binary files /dev/null and b/skin/mogo-skin-light/src/main/module-callchat-res/mipmap-mdpi/module_callchatting_user_caller_light.png differ
diff --git a/skin/mogo-skin-light/src/main/module-callchat-res/mipmap-xhdpi/module_callchatting_user_caller_light.png b/skin/mogo-skin-light/src/main/module-callchat-res/mipmap-xhdpi/module_callchatting_user_caller_light.png
new file mode 100644
index 0000000000..a9ad8e13c9
Binary files /dev/null and b/skin/mogo-skin-light/src/main/module-callchat-res/mipmap-xhdpi/module_callchatting_user_caller_light.png differ
diff --git a/skin/mogo-skin-light/src/main/module-callchat-res/values/colors.xml b/skin/mogo-skin-light/src/main/module-callchat-res/values/colors.xml
index 5cf7bea058..ded680eb8a 100644
--- a/skin/mogo-skin-light/src/main/module-callchat-res/values/colors.xml
+++ b/skin/mogo-skin-light/src/main/module-callchat-res/values/colors.xml
@@ -2,4 +2,6 @@
#333333
#999999
+
+ #333333
\ No newline at end of file
diff --git a/skin/mogo-skin-light/src/main/module-services-res/drawable/module_services_panel_item_bkg_light.xml b/skin/mogo-skin-light/src/main/module-services-res/drawable/module_services_panel_item_bkg_light.xml
index d126dfc22a..c9cb66b911 100644
--- a/skin/mogo-skin-light/src/main/module-services-res/drawable/module_services_panel_item_bkg_light.xml
+++ b/skin/mogo-skin-light/src/main/module-services-res/drawable/module_services_panel_item_bkg_light.xml
@@ -2,7 +2,7 @@
-
-
+