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

This commit is contained in:
tongchenfei
2020-06-18 12:40:11 +08:00
3 changed files with 40 additions and 69 deletions

View File

@@ -71,7 +71,7 @@ MOGO_MODULE_GUIDESHOW_PROVIDER_VERSION=1.0.2-SNAPSHOT
# 在线车辆F
MOGO_MODULE_ONLINECAR_VERSION=1.0.3.2
# v2x
MOGO_MODULE_V2X_VERSION=1.1.18
MOGO_MODULE_V2X_VERSION=1.1.19
# 推送
MOGO_MODULE_PUSH_VERSION=1.0.1
# 广告资源位

View File

@@ -333,6 +333,8 @@ public class MogoServices implements IMogoMapListener,
if ( DebugConfig.isLaunchLocationService() ) {
initLocationServiceProcess( context );
}
requestAutoNaviLastStatus();
}
private void initLocationServiceProcess( Context context ) {
@@ -701,6 +703,12 @@ public class MogoServices implements IMogoMapListener,
restartAutoRefreshAtTime( 2_000L );
}
mIsMainPageFirstResume = false;
try {
// 请求地图最后一次保存的状态
requestAutoNaviLastStatus();
} catch ( Exception e ) {
e.printStackTrace();
}
} else {
unregisterInternalUnWakeupWords();
stopAutoRefreshStrategy();
@@ -713,6 +721,13 @@ public class MogoServices implements IMogoMapListener,
}
}
private void requestAutoNaviLastStatus(){
Intent intent = new Intent();
intent.setAction("AUTONAVI_STANDARD_BROADCAST_RECV");
intent.putExtra("KEY_TYPE", 10061);
mContext.sendBroadcast(intent);
}
private void notifySeekHelpingStatusChanged( boolean seekHelpingStatus ) {
Intent intent = new Intent( "com.mogo.launcher.adas.app" );
try {

View File

@@ -322,7 +322,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
carPoints.add( new MogoLatLng( markerLocation.getLat(), markerLocation.getLon() ) );
}
String sn = getCarSnFromEntity( markerOnlineCar );
String sn = getPrimaryKeyFromEntity( markerOnlineCar );
IMogoMarker mogoMarker = existCarMap.get( sn );
if ( mogoMarker == null ) {
mogoMarker = drawMapMarker( markerShowEntity, ServiceConst.MARKER_Z_INDEX_LOW );
@@ -361,7 +361,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
markerShowEntity.setMarkerType( markerExploreWay.getType() );
markerShowEntity.setTextContent( markerExploreWay.getAddr() );
String sn = getCarSnFromEntity( markerExploreWay );
String sn = getPrimaryKeyFromEntity( markerExploreWay );
IMogoMarker mogoMarker = existCarMap.get( sn );
if ( mogoMarker == null ) {
Logger.d( TAG, "draw road condition, sn = %s", sn );
@@ -371,70 +371,6 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
}
}
/**
* 共享音乐
*
* @param shareMusicList
*/
private void drawShareMusicMarker( List< MarkerShareMusic > shareMusicList, int maxAmount ) {
if ( shareMusicList == null || shareMusicList.isEmpty() ) {
MarkerServiceHandler.getMarkerManager().removeMarkers( ModuleNames.CARD_TYPE_SHARE_MUSIC );
return;
}
int size = getAppropriateSize( maxAmount, shareMusicList );
Map< String, IMogoMarker > existCarMap = purgeMarkerData( shareMusicList, ModuleNames.CARD_TYPE_SHARE_MUSIC );
for ( int i = 0; i < size; i++ ) {
MarkerShareMusic markerShareMusic = shareMusicList.get( i );
MarkerLocation markerLocation = markerShareMusic.getLocation();
MarkerShowEntity markerShowEntity = new MarkerShowEntity();
markerShowEntity.setBindObj( markerShareMusic );
markerShowEntity.setMarkerLocation( markerLocation );
markerShowEntity.setMarkerType( markerShareMusic.getType() );
markerShowEntity.setTextContent( markerShareMusic.getMediaName() );
markerShowEntity.setIconUrl( markerShareMusic.getMediaImg() );
String sn = getCarSnFromEntity( markerShareMusic );
IMogoMarker mogoMarker = existCarMap.get( sn );
if ( mogoMarker == null ) {
drawMapMarker( markerShowEntity, ServiceConst.MARKER_Z_INDEX_HIGH );
}
}
}
/**
* 新鲜事
*
* @param noveltyInfoList
*/
private void drawNoveltyMarker( List< MarkerNoveltyInfo > noveltyInfoList, int maxAmount ) {
if ( noveltyInfoList == null || noveltyInfoList.isEmpty() ) {
MarkerServiceHandler.getMarkerManager().removeMarkers( ModuleNames.CARD_TYPE_NOVELTY );
return;
}
int size = getAppropriateSize( maxAmount, noveltyInfoList );
Map< String, IMogoMarker > existCarMap = purgeMarkerData( noveltyInfoList, ModuleNames.CARD_TYPE_NOVELTY );
for ( int i = 0; i < size; i++ ) {
MarkerNoveltyInfo noveltyInfo = noveltyInfoList.get( i );
MarkerLocation markerLocation = noveltyInfo.getLocation();
MarkerShowEntity markerShowEntity = new MarkerShowEntity();
markerShowEntity.setBindObj( noveltyInfo );
markerShowEntity.setMarkerLocation( markerLocation );
markerShowEntity.setMarkerType( noveltyInfo.getType() );
String address = noveltyInfo.getLocation().getAddress();
if ( !TextUtils.isEmpty( address ) ) {
markerShowEntity.setTextContent( address );
} else {
markerShowEntity.setTextContent( noveltyInfo.getContentData().getTitle() );
}
String sn = getCarSnFromEntity( noveltyInfo );
IMogoMarker mogoMarker = existCarMap.get( sn );
if ( mogoMarker == null ) {
drawMapMarker( markerShowEntity, ServiceConst.MARKER_Z_INDEX_HIGH );
}
}
}
/**
* S = (A ∩ B) B
* A ∩ B)作为旧列表需要保留的部分
@@ -456,11 +392,11 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
Map< String, IMogoMarker > allMap = new HashMap<>();
for ( IMogoMarker marker : allCarsList ) {
String sn = getCarSnFromMarker( marker );
String sn = getPrimaryKeyFromMarker( marker );
allMap.put( sn, marker );
}
for ( Object entity : newList ) {
String sn = getCarSnFromEntity( entity );
String sn = getPrimaryKeyFromEntity( entity );
if ( allMap.containsKey( sn ) ) {
existMap.put( sn, allMap.get( sn ) );
}
@@ -477,6 +413,26 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
return existMap;
}
private String getPrimaryKeyFromEntity( Object entity ) {
if ( entity instanceof MarkerExploreWay ) {
String id = ( ( MarkerExploreWay ) entity ).getInfoId();
if ( !TextUtils.isEmpty( id ) ) {
return id;
}
}
return getCarSnFromEntity( entity );
}
private String getPrimaryKeyFromMarker( IMogoMarker marker ) {
if ( marker == null || marker.getObject() == null || marker.isDestroyed() ) {
return null;
}
if ( !( marker.getObject() instanceof MarkerShowEntity ) ) {
return null;
}
return getPrimaryKeyFromEntity( ( ( MarkerShowEntity ) marker.getObject() ).getBindObj() );
}
private String getCarSnFromEntity( Object entity ) {
try {
if ( entity instanceof MarkerOnlineCar ) {