This commit is contained in:
wangcongtao
2020-03-20 10:24:11 +08:00
parent 513c5ab7d8
commit edbbe8ea9d
28 changed files with 162 additions and 29 deletions

View File

@@ -6,6 +6,8 @@ import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.location.Location;
import android.location.LocationManager;
import android.os.Handler;
import android.os.HandlerThread;
import android.os.Looper;
@@ -724,10 +726,13 @@ public class MogoServices implements IMogoMapListener,
}
int status = intent.getIntExtra( MogoReceiver.PARAM_ADAS_STATUS, 0 );
mStatusManager.setADASUIShow( ServiceConst.TYPE, status == 1 );
if ( status != 1 ) {
if ( status != 1 ) { // adas 关闭
mUiController.setLockZoom( ServiceConst.DEFAULT_LOCK_CAR_ZOOM_LEVEL );
// 延时两秒执行是为了让其它事物完成
UiThreadHandler.postDelayed( () -> {
mUiController.showMyLocation( true );
}, 2_000L );
}
mUiController.showMyLocation( true );
} else if ( Intent.ACTION_POWER_CONNECTED.equals( command ) ) {
mStatusManager.setAccStatus( ServiceConst.TYPE, true );
} else if ( Intent.ACTION_POWER_DISCONNECTED.equals( command ) ) {
@@ -775,6 +780,7 @@ public class MogoServices implements IMogoMapListener,
CarStateInfo stateInfo = GsonUtil.objectFromJson( msg, CarStateInfo.class );
if ( stateInfo != null ) {
changeCarHeadstockDirection( stateInfo.getValues().getHeading() );
// changeMyLocation( stateInfo.getValues() );
}
} else if ( ServiceConst.COMMAND_OPERATION.equals( command ) ) {
try {
@@ -833,7 +839,7 @@ public class MogoServices implements IMogoMapListener,
return false;
}
private void changeCarHeadstockDirection( double degree ) {
private void changeCarHeadstockDirection( final double degree ) {
if ( mNavi.isNaviing() ) {
return;
}
@@ -846,7 +852,19 @@ public class MogoServices implements IMogoMapListener,
if ( mUiController.getCurrentUiMode() != EnumMapUI.NorthUP_2D ) {
return;
}
mUiController.showMyLocation( ( ( float ) degree ) );
UiThreadHandler.post( () -> {
mUiController.showMyLocation( ( ( float ) degree ) );
} );
}
private void changeMyLocation( CarStateInfo.ValuesBean valuesBean ) {
if ( valuesBean == null ) {
return;
}
Location location = new Location( LocationManager.GPS_PROVIDER );
location.setAltitude( valuesBean.getAlt() );
location.setLatitude( valuesBean.getLat() );
location.setLongitude( valuesBean.getLon() );
}
/**

View File

@@ -151,6 +151,26 @@ public class MapMarkerInfoView extends MapMarkerBaseView {
clMarkerContent.setBackgroundResource(R.drawable.bg_map_marker_dark_green_info);
ivReverseTriangle.setImageResource(R.drawable.bg_shape_reverse_triangle_dark_green);
break;
case MarkerPoiTypeEnum.FOURS_FOG:
ivIcon.setImageResource(R.drawable.module_service_ic_rc_dark_frog2);
clMarkerContent.setBackgroundResource(R.drawable.bg_map_marker_blue_info);
ivReverseTriangle.setImageResource(R.drawable.bg_shape_reverse_triangle_blue);
break;
case MarkerPoiTypeEnum.FOURS_ICE:
ivIcon.setImageResource(R.drawable.module_service_ic_rc_freeze2);
clMarkerContent.setBackgroundResource(R.drawable.bg_map_marker_blue_info);
ivReverseTriangle.setImageResource(R.drawable.bg_shape_reverse_triangle_blue);
break;
case MarkerPoiTypeEnum.FOURS_PARKING:
ivIcon.setImageResource(R.drawable.module_service_ic_rc_parking2);
clMarkerContent.setBackgroundResource(R.drawable.bg_map_marker_blue_info);
ivReverseTriangle.setImageResource(R.drawable.bg_shape_reverse_triangle_blue);
break;
case MarkerPoiTypeEnum.FOURS_ACCIDENT:
ivIcon.setImageResource(R.drawable.module_service_ic_rc_accident2);
clMarkerContent.setBackgroundResource(R.drawable.bg_map_marker_blue_info);
ivReverseTriangle.setImageResource(R.drawable.bg_shape_reverse_triangle_blue);
break;
default:
ivIcon.setImageResource(R.drawable.icon_map_marker_shear_news);
clMarkerContent.setBackgroundResource(R.drawable.bg_map_marker_dark_blue_info);

View File

@@ -130,6 +130,18 @@ public class MapMarkerView extends MapMarkerBaseView {
ivIcon.setImageResource(R.drawable.icon_map_marker_shop);
ivBg.setImageResource(R.drawable.bg_map_marker_green_dark);
break;
case MarkerPoiTypeEnum.FOURS_FOG:
ivBg.setImageResource(R.drawable.module_service_ic_rc_dark_frog);
break;
case MarkerPoiTypeEnum.FOURS_ICE:
ivBg.setImageResource(R.drawable.module_service_ic_rc_freeze);
break;
case MarkerPoiTypeEnum.FOURS_PARKING:
ivBg.setImageResource(R.drawable.module_service_ic_rc_parking);
break;
case MarkerPoiTypeEnum.FOURS_ACCIDENT:
ivBg.setImageResource(R.drawable.module_service_ic_rc_accident);
break;
default:
ivIcon.setImageResource(R.drawable.icon_map_marker_shear_news);
ivBg.setImageResource(R.drawable.bg_map_marker_blue_dark);