This commit is contained in:
wangcongtao
2020-04-23 19:19:25 +08:00
4 changed files with 43 additions and 21 deletions

2
.idea/misc.xml generated
View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="JDK" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
</project>

View File

@@ -66,7 +66,7 @@ MOGO_MODULE_GUIDESHOW_PROVIDER_VERSION=1.0.2-SNAPSHOT
# 在线车辆F
MOGO_MODULE_ONLINECAR_VERSION=1.0.3.1
# v2x
MOGO_MODULE_V2X_VERSION=1.0.3.6
MOGO_MODULE_V2X_VERSION=1.0.3.6-SNAPSHOT
# 媒体卡片
MOGO_MODULE_MEDIA_VERSION=1.0.4.3
# 推送

View File

@@ -821,6 +821,10 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
if (mCurrentModuleName.equals(ServiceConst.CARD_TYPE_BUSINESS_OPERATION )
|| mCurrentModuleName.equals(ServiceConst.CARD_TYPE_USER_DATA) ) {
if (MarkerServiceHandler.getMogoStatusManager().isSearchUIShow()){
return;
}
mRefreshModel.queryOnLineCarWithRoute(mCarLatLng, false, false, new RefreshCallback() {
@Override
public void onSuccess(Object o) {
@@ -829,11 +833,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
if (result == null) {
return;
}
for (int i = 0; i < carMarkers.size(); i++) {
IMogoMarker marker = carMarkers.get(i);
marker.destroy();
}
removeCarMarkers();
List<MarkerOnlineCar> onlineCarList = result.getOnlineCar();
dispatchDataToBis(ServiceConst.CARD_TYPE_USER_DATA, onlineCarList == null ? new ArrayList<>() : onlineCarList);
drawOnlineCarMarkers(onlineCarList, ServiceConst.MAX_AMOUNT_SINGLE_CARD);
@@ -845,10 +845,14 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
}
});
}else {
for (int i = 0; i < carMarkers.size(); i++) {
IMogoMarker marker = carMarkers.get(i);
marker.destroy();
}
removeCarMarkers();
}
}
private void removeCarMarkers(){
for (int i = 0; i < carMarkers.size(); i++) {
IMogoMarker marker = carMarkers.get(i);
marker.destroy();
}
}
@@ -860,12 +864,13 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
List<MarkerCarPois> poisList = markerOnlineCar.getPois();
if (poisList != null && poisList.size() > 0) {
// Logger.d(TAG, "在线" + poisList.toString());
// Logger.d(TAG, "坐标------"+markerLocation.getLon()+", "+markerLocation.getLat());
List<MogoLatLng> points = new ArrayList<>();
for (int j = 0; j < poisList.size(); j++) {
MarkerCarPois pois = poisList.get(j);
if (pois != null && pois.getCoordinates() != null && pois.getCoordinates().size() >= 2) {
// Logger.d(TAG, "坐标点:" + pois.getCoordinates().toString());
double lat = Double.valueOf(pois.getCoordinates().get(1) + "");
double lng = Double.valueOf(pois.getCoordinates().get(0) + "");
points.add(new MogoLatLng(lat, lng));

View File

@@ -16,9 +16,11 @@ import com.mogo.module.share.net.ShareApiService
import com.mogo.utils.TipToast
import com.mogo.utils.logger.Logger
import com.mogo.utils.network.RequestOptions
import com.mogo.utils.storage.SharedPrefsMgr
import com.zhidao.auto.platform.util.DeviceUtil
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.schedulers.Schedulers
import java.util.*
/**
* 故障求助管理类,相关故障求助操作的具体实现类
@@ -79,6 +81,7 @@ object SeekHelpManager {
* @param useLocalVoiceNotice 使用自己的语音播报,如果是从语音助手过来的请求,语音助手可能会走自己的播报,默认是使用自己的播报
*/
fun seekHelp(context: Context, seekHelpListener: ISeekHelpListener, useLocalVoiceNotice: Boolean = true) {
Logger.d(TAG, "seekHelp: $isSeeking")
if(!isSeeking) {
isSeeking = true
if (this.context == null) {
@@ -92,12 +95,16 @@ object SeekHelpManager {
isSeekHelp -> {
// 正在求助中,进行异常提示
toast("已发布故障求助,请耐心等待")
isSeeking = false
aiAssist?.speakTTSVoice("已发布故障求助,请耐心等待")
seekHelpSuccess()
}
getSeekAmountByLimitTime() >= SEEK_RECORD_LIMIT_AMOUNT -> {
// 超过限制时间内的限制次数,进行异常提示
toast("已在求助状态,请勿连续发布哦")
aiAssist?.speakTTSVoice("已在求助状态,请勿连续发布哦")
isSeeking = false
seekHelpSuccess()
}
else -> {
// 没有异常情况,开始故障求助
@@ -132,10 +139,10 @@ object SeekHelpManager {
*/
private fun getSeekAmountByLimitTime(): Int {
val current = SystemClock.elapsedRealtime()
val recordIterator = seekRecordList.iterator()
while (recordIterator.hasNext()) {
if ((current - recordIterator.next().recordTime) >= SEEK_RECORD_LIMIT_TIME) {
recordIterator.remove()
val iterator = seekRecordList.iterator()
while (iterator.hasNext()) {
if ((current - iterator.next().recordTime) >= SEEK_RECORD_LIMIT_TIME) {
iterator.remove()
}
}
return seekRecordList.size
@@ -155,13 +162,12 @@ object SeekHelpManager {
super.onSuccess(o)
// 接口请求成功内部同步v2x状态通知adas改变自车图标
ShareControl.getInstance(context).mogoServiceApis.statusManagerApi.setSeekHelping("ShareDialog", true)
SharedPrefsMgr.getInstance(context!!).putLong("seek_help_time", System.currentTimeMillis())
isSeekHelp = true
aiAssist?.speakTTSVoice("已发布求助信息,将为你通知其他车主")
toast("已发布求助信息,将为你通知其他车主")
seekRecordList.add(SeekRecord(SystemClock.elapsedRealtime()))
seekListenerList.forEach {
it.onSeekHelpSuccess()
}
seekHelpSuccess()
isSeeking = false
}
@@ -184,11 +190,22 @@ object SeekHelpManager {
})
}
private fun seekHelpSuccess(){
val iterator = seekListenerList.iterator()
while (iterator.hasNext()) {
iterator.next().onSeekHelpSuccess()
}
}
private fun seekHelpFail() {
isSeekHelp = false
seekListenerList.forEach {
it.onSeekHelpFail()
val iterator = seekListenerList.iterator()
while (iterator.hasNext()) {
iterator.next().onSeekHelpFail()
}
// seekListenerList.forEach {
// it.onSeekHelpFail()
// }
toast("求助上报失败,请稍后重试")
aiAssist?.speakTTSVoice("求助上报失败,请稍后重试")
}