Merge branch 'feature/v1.0.0' of gitlab.zhidaoauto.com:ecos/yycp-service/Launcher into feature/v1.0.0

This commit is contained in:
wangcongtao
2020-02-20 15:46:47 +08:00
6 changed files with 44 additions and 23 deletions

View File

@@ -467,7 +467,6 @@ public class AMapNaviViewWrapper implements IMogoMapView,
if (checkAMapView()) {
mMapView.setCarOverlayVisible(true);
showMyLocation( false );
NaviClient.getInstance(getContext()).stopAimlessMode();
}
}

View File

@@ -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 );
}

View File

@@ -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<String>(thirdPath), this)
AIAssist.getInstance(context)
.registerUnWakeupCommand("startNavi", arrayOf<String>(startNavi), this)
AIAssist.getInstance(context)
.registerUnWakeupCommand("cancel", arrayOf<String>("取消","退出","返回","退出导航","取消导航"), this)
}
@@ -231,6 +239,8 @@ class ChoosePathFragment : BaseFragment(), IMogoNaviListener, IMogoVoiceCmdCallB
.unregisterUnWakeupCommand("thirdPath")
AIAssist.getInstance(context)
.unregisterUnWakeupCommand("startNavi")
AIAssist.getInstance(context)
.unregisterUnWakeupCommand("cancel")
}

View File

@@ -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 {

View File

@@ -578,7 +578,7 @@ public class MogoServiceProvider implements IMogoModuleProvider,
try {
if ( isTrue ) {
// V2X_UI时不在自动刷新打点策略
stopAutoRefreshStrategy();
// stopAutoRefreshStrategy();
// 清除所有的打点信息记录
MarkerServiceHandler.getMapMarkerManager().alreadySmallMarker.clear();
} else {

View File

@@ -54,7 +54,7 @@ import java.util.Map;
* version: 1.0
*/
public class MapMarkerManager implements IMogoMarkerClickListener, IMogoOnMessageListener<MarkerResponse> {
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<String> 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<String, Object> 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<MarkerCarChat> carChatList = markerCardResult.getCarChat();
List<MarkerOnlineCar> onlineCarList = markerCardResult.getOnlineCar();
List<MarkerExploreWay> exploreWayList = markerCardResult.getExploreWay();
List<MarkerShareMusic> shareMusicList = markerCardResult.getShareMusic();
List<MarkerNoveltyInfo> noveltyInfoList = markerCardResult.getNoveltyInfo();
List<MarkerExploreWay> exploreWayList = null;
List<MarkerShareMusic> shareMusicList = null;
List<MarkerNoveltyInfo> 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