From 1cf9c758dd9a0b98f0cfb84ae2572edb5821c515 Mon Sep 17 00:00:00 2001 From: zhangyuanzhen Date: Thu, 20 Feb 2020 15:07:14 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BA=8C=E6=AC=A1=E5=AF=BC=E8=88=AA?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java | 1 - .../src/main/java/com/mogo/map/impl/amap/navi/NaviClient.java | 2 ++ .../java/com/mogo/module/navi/ui/setting/NaviSettingFragment.kt | 1 - 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java index 11e59c1985..993fd3418d 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java @@ -467,7 +467,6 @@ public class AMapNaviViewWrapper implements IMogoMapView, if (checkAMapView()) { mMapView.setCarOverlayVisible(true); showMyLocation( false ); - NaviClient.getInstance(getContext()).stopAimlessMode(); } } diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviClient.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviClient.java index c752f47731..75975a1be4 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviClient.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviClient.java @@ -142,7 +142,9 @@ public class NaviClient implements IMogoNavi { } // 关闭巡航 //mAMapNavi.stopAimlessMode(); + stopAimlessMode(); mIsRealNavi = isRealNavi; + boolean result = mAMapNavi.startNavi( isRealNavi ? NaviType.GPS : NaviType.EMULATOR ); Logger.d( TAG, "start navi status: %s", result ); } diff --git a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/setting/NaviSettingFragment.kt b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/setting/NaviSettingFragment.kt index 86cc2cacee..2149aa2620 100644 --- a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/setting/NaviSettingFragment.kt +++ b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/setting/NaviSettingFragment.kt @@ -199,7 +199,6 @@ class NaviSettingFragment : BaseFragment(), OnCheckedChangeListener { if (checkedId == R.id.rb_navi_detail) BroadcastMode.DETAIL else BroadcastMode.CONCISE ) - if (checkedId == R.id.rb_navi_detail) { SearchServiceHolder.analyticsManager.track("Navigation_guide_type", mapOf("type" to 1)) } else { From b3325e9c2c7aadb40648add08e08beea1211d62a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Thu, 20 Feb 2020 15:21:49 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=86bug=20=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E4=BF=AE=E5=A4=8DV2X=E7=9A=84=E6=B0=94=E6=B3=A1?= =?UTF-8?q?=E7=BB=98=E5=88=B6=E9=80=BB=E8=BE=91=EF=BC=8CV2X=E6=83=85?= =?UTF-8?q?=E5=86=B5=E4=B8=8B=E5=8F=AA=E4=BF=9D=E7=95=99=E5=9C=A8=E7=BA=BF?= =?UTF-8?q?=E8=BD=A6=E8=BE=86=E7=9A=84=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/service/MogoServiceProvider.java | 2 +- .../service/marker/MapMarkerManager.java | 51 +++++++++++-------- 2 files changed, 32 insertions(+), 21 deletions(-) diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServiceProvider.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServiceProvider.java index b8f10be14d..2ebb157857 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServiceProvider.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServiceProvider.java @@ -553,7 +553,7 @@ public class MogoServiceProvider implements IMogoModuleProvider, try { if ( isTrue ) { // V2X_UI时,不在自动刷新打点策略 - stopAutoRefreshStrategy(); +// stopAutoRefreshStrategy(); // 清除所有的打点信息记录 MarkerServiceHandler.getMapMarkerManager().alreadySmallMarker.clear(); } else { 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 1398d59ee3..5475f7e638 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 @@ -54,7 +54,7 @@ import java.util.Map; * version: 1.0 */ public class MapMarkerManager implements IMogoMarkerClickListener, IMogoOnMessageListener { - private static final String TAG = "MarkerManager"; + private static final String TAG = "MapMarkerManager"; // 第一次请求到地图的Marker数据 private boolean isFirstMarker = true; private boolean isOnLineCard = false; @@ -66,6 +66,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener, IMogoOnMessag // 记录其它已经缩小的Marker public static ArrayList alreadySmallMarker = new ArrayList<>(); + IMogoMarker nearlyMogoMarker = null; private MapMarkerManager() { } @@ -141,6 +142,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener, IMogoOnMessag marker.setIcon(fromView(markerView.getView())); lastMarker = marker; + MarkerServiceHandler.getMapUIController().moveToCenter(lastMarker.getPosition()); // 数据统计代码 final Map properties = new HashMap<>(); @@ -360,17 +362,24 @@ public class MapMarkerManager implements IMogoMarkerClickListener, IMogoOnMessag isFirstMarker = true; } else { // 清空所有地图上绘制的Marker - MarkerServiceHandler.getMarkerManager().removeMarkers(); + if (!MarkerServiceHandler.getMogoStatusManager().isV2XShow()) { + MarkerServiceHandler.getMarkerManager().removeMarkers(); + } } List carChatList = markerCardResult.getCarChat(); List onlineCarList = markerCardResult.getOnlineCar(); - List exploreWayList = markerCardResult.getExploreWay(); - List shareMusicList = markerCardResult.getShareMusic(); - List noveltyInfoList = markerCardResult.getNoveltyInfo(); + List exploreWayList = null; + List shareMusicList = null; + List noveltyInfoList = null; + // V2X 场景下只保留在线车辆数据 + if (!MarkerServiceHandler.getMogoStatusManager().isV2XShow()) { + exploreWayList = markerCardResult.getExploreWay(); + shareMusicList = markerCardResult.getShareMusic(); + noveltyInfoList = markerCardResult.getNoveltyInfo(); + } if (onlineCarList != null) { - IMogoMarker nearlyMogoMarker = null; double nearlyDistance = Double.MAX_VALUE; for (MarkerOnlineCar markerOnlineCar : onlineCarList) { MarkerLocation markerLocation = markerOnlineCar.getLocation(); @@ -403,18 +412,6 @@ public class MapMarkerManager implements IMogoMarkerClickListener, IMogoOnMessag } } fillNumberTrackEventBody(array, 3, onlineCarList.size()); - - try { - // 在ACC on 之后第一次获取到了在线车辆数据,选中最近的一个Marker - if (isFirstMarker && isOnLineCard) { - if (nearlyMogoMarker != null) { - MogoMarkersHandler.getInstance().onMarkerClicked(nearlyMogoMarker); - isFirstMarker = false; - } - } - } catch (Exception e) { - e.printStackTrace(); - } } // 将数据同步给探路,避免探路每次 perform 的时候去拉取,造成消耗 @@ -499,6 +496,21 @@ public class MapMarkerManager implements IMogoMarkerClickListener, IMogoOnMessag // 同步新绘制的气泡状态 alreadySmallMarker.clear(); highlightedMarker(mLastHighLightModule, true); + + try { + Thread.sleep(500); + // 在ACC on 之后第一次获取到了在线车辆数据,选中最近的一个Marker + if (isFirstMarker && isOnLineCard) { + if (nearlyMogoMarker != null) { + Logger.w(TAG, "ACC ON,或者语音搜索触发,默认选中最近的在线车辆nearlyMogoMarker:" + nearlyMogoMarker); + onMarkerClicked(nearlyMogoMarker); + MogoMarkersHandler.getInstance().onMarkerClicked(nearlyMogoMarker); + isFirstMarker = false; + } + } + } catch (Exception e) { + e.printStackTrace(); + } } } @@ -595,8 +607,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener, IMogoOnMessag @Override public void onMsgReceived(final MarkerResponse response) { Logger.e(TAG, "MarkerResponse======" + response); - if (!MarkerServiceHandler.getMogoStatusManager().isSearchUIShow() && - !MarkerServiceHandler.getMogoStatusManager().isV2XShow()) { + if (!MarkerServiceHandler.getMogoStatusManager().isSearchUIShow()) { Handler handler = new Handler(Looper.getMainLooper()); handler.post(new Runnable() { @Override From 0360d1c53598fd39cf8b3cfe1a771ba54113d862 Mon Sep 17 00:00:00 2001 From: zhangyuanzhen Date: Thu, 20 Feb 2020 15:30:54 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E8=B7=AF=E5=BE=84=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E5=8F=96=E6=B6=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogo/module/navi/ui/search/ChoosePathFragment.kt | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/ChoosePathFragment.kt b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/ChoosePathFragment.kt index f40e2ce255..35b09c455d 100644 --- a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/ChoosePathFragment.kt +++ b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/ChoosePathFragment.kt @@ -1,5 +1,6 @@ package com.mogo.module.navi.ui.search +import android.app.SearchManager import android.app.Service import android.os.Bundle import android.text.TextUtils @@ -54,6 +55,11 @@ class ChoosePathFragment : BaseFragment(), IMogoNaviListener, IMogoVoiceCmdCallB startNavi() } + "cancel"->{ + SearchServiceHolder.fragmentManager + .clearAll() + } + } } @@ -188,6 +194,8 @@ class ChoosePathFragment : BaseFragment(), IMogoNaviListener, IMogoVoiceCmdCallB .registerUnWakeupCommand("thirdPath", arrayOf(thirdPath), this) AIAssist.getInstance(context) .registerUnWakeupCommand("startNavi", arrayOf(startNavi), this) + AIAssist.getInstance(context) + .registerUnWakeupCommand("cancel", arrayOf("取消","退出","返回","退出导航","取消导航"), this) } @@ -231,6 +239,8 @@ class ChoosePathFragment : BaseFragment(), IMogoNaviListener, IMogoVoiceCmdCallB .unregisterUnWakeupCommand("thirdPath") AIAssist.getInstance(context) .unregisterUnWakeupCommand("startNavi") + AIAssist.getInstance(context) + .unregisterUnWakeupCommand("cancel") }