From 33aedd3aef6af32d3c5989abe0faeeb713b6ecd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Wed, 25 Nov 2020 16:39:34 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BA=86=E9=81=93?= =?UTF-8?q?=E8=B7=AF=E4=BA=8B=E4=BB=B6=E7=9A=84=E8=A7=A6=E5=8F=91=E7=AE=97?= =?UTF-8?q?=E6=B3=95=EF=BC=8C=E4=B8=BB=E8=A6=81=E5=88=86=E4=B8=BA=E4=BB=A5?= =?UTF-8?q?=E4=B8=8B=E6=AD=A5=E9=AA=A4=EF=BC=9A=20=E8=A7=A6=E5=8F=91?= =?UTF-8?q?=E9=81=93=E8=B7=AF=E4=BA=8B=E4=BB=B6=E7=9A=84=E6=9D=A1=E4=BB=B6?= =?UTF-8?q?=EF=BC=9A=200=E3=80=81=E9=81=93=E8=B7=AF=E4=BA=8B=E4=BB=B6?= =?UTF-8?q?=E5=BF=85=E9=A1=BB=E6=9C=89=E6=9C=9D=E5=90=91=EF=BC=8C=E8=A7=92?= =?UTF-8?q?=E5=BA=A6>=3D0;=201=E3=80=81=E8=B7=9D=E7=A6=BB=E3=80=8A500=202?= =?UTF-8?q?=E3=80=81=E9=81=93=E8=B7=AF=E4=BA=8B=E4=BB=B6=E6=96=B9=E5=90=91?= =?UTF-8?q?=E4=B8=8E=E5=BD=93=E5=89=8D=E8=A1=8C=E9=A9=B6=E6=96=B9=E5=90=91?= =?UTF-8?q?=E8=A7=92=E5=BA=A6=E5=81=8F=E3=80=8A20=E5=BA=A6=E4=BB=A5?= =?UTF-8?q?=E5=86=85=203=E3=80=81=E5=BD=93=E5=89=8D=E8=BD=A6=E8=BE=86?= =?UTF-8?q?=E8=A1=8C=E9=A9=B6=E6=96=B9=E5=90=91=E4=B8=8E=E4=BA=8B=E4=BB=B6?= =?UTF-8?q?=E4=BD=8D=E7=BD=AE=E4=B9=8B=E9=97=B4=E5=A4=B9=E8=A7=92=E3=80=8A?= =?UTF-8?q?20=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogo/module/v2x/alarm/V2XAlarmServer.java | 132 ++++++++++-------- .../v2x/alarm/V2XEarlyWarningServer.java | 71 ++++++---- .../v2x/listener/V2XLocationListener.java | 14 +- .../manager/impl/MoGoV2XMarkerManager.java | 4 +- .../v2x/receiver/SceneBroadcastReceiver.java | 2 +- .../v2x/scenario/impl/V2XScenarioManager.java | 2 +- .../v2x/utils/DrivingDirectionUtils.java | 50 ++++--- 7 files changed, 156 insertions(+), 119 deletions(-) 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..94fa20a857 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,50 @@ 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() - ); + Logger.w(MODULE_NAME, + "V2X预警--UGC检测:" + + "\n事件详情:" + roadInfoId + + "\n车头方向: " + carBearing + + "\n车与事件夹角:" + eventAngle + + "\n已经UGC的事件:" + GsonUtil.jsonFromObject(alertMessageId) + ); - // 记录已经 UGC 提醒过的数据 - alertMessageId.add(v2XRoadEventEntity.getNoveltyInfo().getInfoId()); + // 判断是否预警过了 + if (!alertMessageId.contains(roadInfoId)) { + // 判断车辆行驶角度是否与事件相反,相反的话表示已经行驶过去了 + if (80 <= eventAngle) { + // 封路、施工、拥堵、拥堵 才会有UGC提示 + if (EventTypeUtils.isNeedRoadEventUgc(v2XRoadEventEntity.getPoiType())) { + Logger.w(MODULE_NAME + "_" + TAG, "V2X预警UGC--事件与车头角度夹角过大:" + + "\n角度:" + eventAngle + " 度" + + "\n事件详情:" + roadInfoId + + "\n库存事件:" + V2XAlarmServer.mAlertRoadEventList.size() + ); - // 加载数据源 - 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); + // 记录已经 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); + + } + // 移出已经预警的事件列表 + //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); } - } From 9ece7af5acd965c86d0d3a424cdafa0784bfe6f8 Mon Sep 17 00:00:00 2001 From: liujing Date: Wed, 25 Nov 2020 16:50:52 +0800 Subject: [PATCH 2/5] =?UTF-8?q?[UI]=20=E8=BD=A6=E5=8F=8B=E5=88=97=E8=A1=A8?= =?UTF-8?q?-F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/res/values-xhdpi/dimens.xml | 8 ++++---- .../onlinecar/panel/OnlineCarPanelAdapter.java | 2 +- .../module_services_panel_item_bkg.xml | 4 ++-- ...dule_services_fragment_online_car_panel.xml | 2 +- .../module_services_online_car_panel_item.xml | 7 ++++--- .../src/main/res/values-ldpi/dimens.xml | 3 ++- .../src/main/res/values-mdpi/dimens.xml | 3 ++- .../main/res/values-xhdpi-1920x1000/dimens.xml | 4 ++-- .../src/main/res/values-xhdpi/dimens.xml | 18 +++++++++--------- .../src/main/res/values/dimens.xml | 4 +++- .../src/main/res/values/strings.xml | 2 +- .../module_services_panel_item_bkg_light.xml | 2 +- 12 files changed, 32 insertions(+), 27 deletions(-) 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-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/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 @@ - + From eb74ce01b197c2b0e516dc153496ba866fc67d67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Wed, 25 Nov 2020 16:57:18 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E8=B0=83=E6=95=B4UGC=E5=88=A4=E6=96=AD?= =?UTF-8?q?=E9=A1=BA=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../v2x/alarm/V2XEarlyWarningServer.java | 29 +++++++++---------- 1 file changed, 14 insertions(+), 15 deletions(-) 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 94fa20a857..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 @@ -53,21 +53,20 @@ public class V2XEarlyWarningServer { double carBearing = currentLocation.getBearing(); String roadInfoId = v2XRoadEventEntity.getNoveltyInfo().getInfoId(); - Logger.w(MODULE_NAME, - "V2X预警--UGC检测:" + - "\n事件详情:" + roadInfoId + - "\n车头方向: " + carBearing + - "\n车与事件夹角:" + eventAngle + - "\n已经UGC的事件:" + GsonUtil.jsonFromObject(alertMessageId) - ); - - // 判断是否预警过了 - if (!alertMessageId.contains(roadInfoId)) { - // 判断车辆行驶角度是否与事件相反,相反的话表示已经行驶过去了 - if (80 <= eventAngle) { - // 封路、施工、拥堵、拥堵 才会有UGC提示 - if (EventTypeUtils.isNeedRoadEventUgc(v2XRoadEventEntity.getPoiType())) { - + // 封路、施工、拥堵、拥堵 才会有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 + From d0f7c54c04350226c529b188344736f690450953 Mon Sep 17 00:00:00 2001 From: liujing Date: Wed, 25 Nov 2020 17:03:44 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E9=9D=A2=E6=9D=BF?= =?UTF-8?q?=E5=B1=85=E5=B7=A6=E5=BE=AE=E8=B0=83-M?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/mogo-module-main/src/main/res/values/dimens.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 From 229cb20e3e35abc0c425d1db8aff21286f65747b Mon Sep 17 00:00:00 2001 From: wujifei Date: Wed, 25 Nov 2020 17:09:28 +0800 Subject: [PATCH 5/5] =?UTF-8?q?new#=E9=80=82=E9=85=8D=E8=BD=A6=E9=98=9F?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E9=A1=B5=E9=9D=A2=E7=99=BD=E5=A4=A9=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...odule_callchatting_user_pop_call_bg_light.xml | 8 ++++++++ .../module_callchatting_user_caller_light.png | Bin 0 -> 925 bytes .../module_callchatting_user_caller_light.png | Bin 0 -> 925 bytes .../module_callchatting_user_caller_light.png | Bin 0 -> 1849 bytes .../main/module-callchat-res/values/colors.xml | 2 ++ 5 files changed, 10 insertions(+) create mode 100644 skin/mogo-skin-light/src/main/module-callchat-res/drawable/module_callchatting_user_pop_call_bg_light.xml create mode 100644 skin/mogo-skin-light/src/main/module-callchat-res/mipmap-ldpi/module_callchatting_user_caller_light.png create mode 100644 skin/mogo-skin-light/src/main/module-callchat-res/mipmap-mdpi/module_callchatting_user_caller_light.png create mode 100644 skin/mogo-skin-light/src/main/module-callchat-res/mipmap-xhdpi/module_callchatting_user_caller_light.png 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 0000000000000000000000000000000000000000..55573281a93859c002d1c9b940889c542e056889 GIT binary patch literal 925 zcmV;O17iG%P)Px&S4l)cR7efIRZU1#Q51gjleCzAFpwZxrJ)JqY{Z2oHVTdoIVk?b3?_^=QLU18 zZCur&A~0ID8QcspSsTTLjA)5EB{Y)@=?B~-qR~ni)cNZ>uXir@`JOg2i!R(b_nvdU z^WAgqx$_joYzzzxDuXKrtA7r}G}B^V4ohWim#`1bVl z7>pJ zvO$n^c6R1-x!g6NZ_drl1!X6trKKg`)YPQo5)O@xji+d16B;arhlk^Jb#rq zOn#7U@>=jCohh8!i!&%RtE;O|jE#+DWM^Ir5Gnfm`|}tCs-K*kTxF-jQY`^1tyb#= zltRJ$N64Fuqhz!GyqQ8e! zA3Q0F83rN*{>8yrQb1Z`yr!R0hJgq-{{lg8NhPC^Pk^uMOJs7F_C%)L)7SFyau*t6kNpajM-ov0pU?LI1W%ZV z$T0JGRK3&F({BqUA-`jZ$f2vNs}lG28DtJ3l1S4qZ(x6!bTnX3L3kDx77U-X&5rg~s z`pUMpw(cOq5Hh_2Nu`W99FEagEcToI{=57G6lEY2=rC!A00000NkvXXu0mjf_kE^- literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..55573281a93859c002d1c9b940889c542e056889 GIT binary patch literal 925 zcmV;O17iG%P)Px&S4l)cR7efIRZU1#Q51gjleCzAFpwZxrJ)JqY{Z2oHVTdoIVk?b3?_^=QLU18 zZCur&A~0ID8QcspSsTTLjA)5EB{Y)@=?B~-qR~ni)cNZ>uXir@`JOg2i!R(b_nvdU z^WAgqx$_joYzzzxDuXKrtA7r}G}B^V4ohWim#`1bVl z7>pJ zvO$n^c6R1-x!g6NZ_drl1!X6trKKg`)YPQo5)O@xji+d16B;arhlk^Jb#rq zOn#7U@>=jCohh8!i!&%RtE;O|jE#+DWM^Ir5Gnfm`|}tCs-K*kTxF-jQY`^1tyb#= zltRJ$N64Fuqhz!GyqQ8e! zA3Q0F83rN*{>8yrQb1Z`yr!R0hJgq-{{lg8NhPC^Pk^uMOJs7F_C%)L)7SFyau*t6kNpajM-ov0pU?LI1W%ZV z$T0JGRK3&F({BqUA-`jZ$f2vNs}lG28DtJ3l1S4qZ(x6!bTnX3L3kDx77U-X&5rg~s z`pUMpw(cOq5Hh_2Nu`W99FEagEcToI{=57G6lEY2=rC!A00000NkvXXu0mjf_kE^- literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..a9ad8e13c9640ae21d7a83a0e814ac0b141a7fb8 GIT binary patch literal 1849 zcmV-92gdk`P)Px*^GQTORA>e5SzAmURTRCKTUsg-YnocEDM8aVrXo>{F?|V?6lz-@mTtQzf9DaH0?)2AOa=Umhx&!p%6l&fe2|ZRbv{hQVlUi3MsE~tzq``%;U}- zklPRANzUwZ_St*wb@n+kbLQSaz^fcObZD-utV~mFV%V9PnK^#v&K*^Mx1E=l=k(z4 z?CfmDu3fvdw6rwcK!@T$b8~YS;5JQ7O|cuHl$V!lrKP2o7`jVINr^+L#~^M_PL5?T zC{ePrv$g5z=>V$M)6)}UvTAQ{57HCWG!~}-QlpWGsc>nSUNpqy19Nk8OhTZcp}`z; z@tao_7Z+;<1qJ>h2+F>F`!q(;H0|})*4B?jFVZzE)}$UQ`jXJ2?Ca}uwH2VHk!Fa) zhY#lX<+Syd7N!8S!(I4say-FMvIufa>5eF)`1%0eI;gOaL6j z<8#hnE6h`ynwkc^fZWC$TO}9_0$0oDUSj2TK^@4?&(CxN@X|S$i!pAv41jiW222qP zaEgQrpk_-zjj(hg((eFET4KQ{TLH|JTItE9%b@}q;hs8%^L~t77z4IZ!-z1Q| zN>ECqw7<8vcgupn#W*uF^CPUo8|(|H1e5;Nt5;3JW&1E$Z`Ag zY$1yyi#0JZ@hiMtiMXN~O3NKuSy}lI0SRuecqBaG1>`nn0Y{FX5w;RUB!a!`2H>T$ zqy<2?gfX4eKhh?~RR(Yuy06be6R6iAd%uWAu9#1I(Zn zaD&ASNsS?Qc(L;ubASWzMFE!?6c!e4^a2St<^abjYlPqg7Kw+|^>6@QdIva-k^3?M z7MYuyTkQqpHfGr^ssUbW`r=Z@0Ic!x@d;Sman;VN?aG`Ec-yaMYVcUqQ$*e0D3pFn zSmp%4$HG@&oGbaK4(-{kTemL98|N1UeuO%dBE06B=9_n~p5QdYJ9GvCLQIP-h`Hd@ zqr8lxY8@L=!lp$G@U~wjzyy&1)TtG-s1+ZP5y5Ggl$5lbK+L}is0L#j>8ciB%7|%E zjnmW9fnhnv=))2aTet*=@_O-E5ICLiu|0qpSRT#B41U5(`f&lK^pzIXp}V^~6|cQj z&|M>A0;A;GfmNUX+iC_Dw4TR~9ZMJ+8>>c|D^c$=){)P-flw%P;MA#8Kd9i*Z2KaP zPq4Q@@_ivn$)ZZOF@f_nH8r`>BrMnwiGy@E?wA+Efg2kH^=ANeG8q|1zq_ukE?xT3 zlAd4BM~)nM7VpmY7+fVt@}jd#*d?W;q)ZPF5BKOsQMy=8a`qS?y;dbGB&m}&rA$P0 zSRwP1h`MMLPvUs)eKS5j|C(3HN}Gg)v@*dls4JpDR>h3C$8p?k2D!a-QplM%rsyHh zWBgSdXhx}vcJa(OgX2bg2ZZ*LG>aQ~=x&@jbLO5rO>`2tc;1{e8X6k9nVg)w9OQP` zNh|$Tn>TOXFfuaor2t1;M%*ew0KZ4~p}j>RYi<`sSAX{G*%I-Iru0o5zPsw78=}laY;?VyIJ6`2q5f@DAqlcXQc_&e}n-pg@&@%>b>JKFnv>Rh~d@!+;? z+d>F>l7W#qGyCD%VkhGwsmCF&z#d2XOO|l~RAoj+2LIONBoe468CGeFRCUruB6{(s zT3WatjiX9jXNU{lx}nk0(O1xX8xvV0PZmY nfVvvl9mb!`U%T1;=XC!79iyke>(WqK00000NkvXXu0mjfr5Ae4 literal 0 HcmV?d00001 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