diff --git a/.idea/misc.xml b/.idea/misc.xml index 2dc54c489f..707ee6e613 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 39d4c3a7f2..7d4fdb99a8 100644 --- a/gradle.properties +++ b/gradle.properties @@ -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 # 推送 diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java index 3204a1aeeb..cd223a66ea 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java @@ -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 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 poisList = markerOnlineCar.getPois(); if (poisList != null && poisList.size() > 0) { -// Logger.d(TAG, "在线" + poisList.toString()); +// Logger.d(TAG, "坐标------"+markerLocation.getLon()+", "+markerLocation.getLat()); List 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)); diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/manager/SeekHelpManager.kt b/modules/mogo-module-share/src/main/java/com/mogo/module/share/manager/SeekHelpManager.kt index 55cb1abf97..70050fb729 100644 --- a/modules/mogo-module-share/src/main/java/com/mogo/module/share/manager/SeekHelpManager.kt +++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/manager/SeekHelpManager.kt @@ -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("求助上报失败,请稍后重试") }