This commit is contained in:
wangcongtao
2020-05-15 10:45:11 +08:00
parent 4a59ebb301
commit 9e11eecc2e
49 changed files with 430 additions and 1433 deletions

View File

@@ -172,7 +172,7 @@ public class MogoServices implements IMogoMapListener,
super.handleMessage( msg );
switch ( msg.what ) {
case ServiceConst.MSG_TYPE_REFRESH_DECREASE:
if ( mStatusManager.isSearchUIShow() || mStatusManager.isADASShow() ) {
if ( mStatusManager.isSearchUIShow() || mStatusManager.isV2XShow() ) {
stopAutoRefreshStrategy();
return;
}
@@ -185,7 +185,7 @@ public class MogoServices implements IMogoMapListener,
}
break;
case ServiceConst.MSG_LOOP_REQUEST:
if ( mStatusManager.isSearchUIShow() || mStatusManager.isADASShow() ) {
if ( mStatusManager.isSearchUIShow() || mStatusManager.isV2XShow() ) {
return;
}
if ( mLoopRequest ) {
@@ -200,7 +200,7 @@ public class MogoServices implements IMogoMapListener,
* 自动刷新锁车、缩放比例16、半径 2KM
*/
private void invokeAutoRefresh() {
if ( mStatusManager.isSearchUIShow() || mStatusManager.isADASShow() ) {
if ( mStatusManager.isSearchUIShow() || mStatusManager.isV2XShow() ) {
mStatusManager.setUserInteractionStatus( TAG, true, false );
mUiController.recoverLockMode();
return;
@@ -230,7 +230,7 @@ public class MogoServices implements IMogoMapListener,
*/
private RefreshCallback mCustomRefreshCallback = new RefreshCallback() {
@Override
public void onSuccess(Object o) {
public void onSuccess( Object o ) {
mLoopRequest = false;
// 用户手动操作地图刷新成功后,设置状态为 true引发延时策略
mStatusManager.setUserInteractionStatus( ServiceConst.TYPE, true, true );
@@ -248,7 +248,7 @@ public class MogoServices implements IMogoMapListener,
*/
private RefreshCallback mAutoRefreshCallback = new RefreshCallback() {
@Override
public void onSuccess(Object o) {
public void onSuccess( Object o ) {
mLoopRequest = false;
Logger.d( TAG, "request Success." );
invokeAutoRefreshStrategy();
@@ -348,11 +348,11 @@ public class MogoServices implements IMogoMapListener,
if ( msg.obj instanceof RefreshObject ) {
RefreshObject ro = ( ( RefreshObject ) msg.obj );
mRefreshModel.refreshData( ro.mLonLat, ro.mRadius, ro.mAmount, ro.mCallback );
MapMarkerManager.getInstance().getOnlineCarData(ro.mLonLat);
MapMarkerManager.getInstance().getOnlineCarData( ro.mLonLat );
Logger.i( TAG, "刷新半径 = %s, 点 = %s, zoomLevel = %s, amount = %s", ro.mRadius, ro.mLonLat, mLastZoomLevel, ro.mAmount );
}
} else if( msg.what == ServiceConst.MSG_LOCK_CAR ){
} else if ( msg.what == ServiceConst.MSG_LOCK_CAR ) {
if ( mStatusManager.isSearchUIShow() ) {
return;
}
@@ -436,8 +436,7 @@ public class MogoServices implements IMogoMapListener,
*/
private float getMapCameraFactHeight() {
try {
return Utils.calculateLineDistance( mCameraSouthWestPosition,
new MogoLatLng( mCameraNorthEastPosition.lat, mCameraSouthWestPosition.lng ) );
return Utils.calculateLineDistance( mCameraSouthWestPosition, new MogoLatLng( mCameraNorthEastPosition.lat, mCameraSouthWestPosition.lng ) );
} catch ( Exception e ) {
return ServiceConst.DEFAULT_AUTO_REFRESH_DATA_RADIUS;
}
@@ -468,16 +467,6 @@ public class MogoServices implements IMogoMapListener,
mHandler.removeMessages( ServiceConst.MSG_TYPE_REFRESH_DECREASE );
}
@Override
public void onPOIClick( MogoPoi poi ) {
}
@Override
public void onMapClick( MogoLatLng latLng ) {
}
@Override
public void onLockMap( boolean isLock ) {
mThreadHandler.removeMessages( ServiceConst.MSG_LOCK_CAR );
@@ -486,15 +475,10 @@ public class MogoServices implements IMogoMapListener,
}
}
@Override
public void onMapModeChanged( EnumMapUI ui ) {
}
@Override
public void onMapChanged( MogoLatLng latLng, float zoom, float tilt, float bearing ) {
MapMarkerManager.getInstance().syncLocation( latLng.lon, latLng. lat );
MapMarkerManager.getInstance().syncLocation( latLng.lon, latLng.lat );
if ( mIsCameraInited ) {
mLastZoomLevel = zoom;
@@ -513,7 +497,7 @@ public class MogoServices implements IMogoMapListener,
}
// v2x // adas 状态下不做任何操作
if ( mStatusManager.isADASShow() ) {
if ( mStatusManager.isV2XShow() ) {
mLastCustomRefreshCenterLocation = latLng;
mLastZoomLevel = zoom;
return;
@@ -585,7 +569,7 @@ public class MogoServices implements IMogoMapListener,
@Override
public void onCarLocationChanged2( Location latLng ) {
if ( mStatusManager.isADASShow() ) {
if ( mStatusManager.isV2XShow() ) {
return;
}
@@ -637,28 +621,6 @@ public class MogoServices implements IMogoMapListener,
mThreadHandler.sendMessage( msg );
}
@Override
public void onInitNaviFailure() {
}
@Override
public void onInitNaviSuccess() {
}
@Override
public void onNaviInfoUpdate( MogoNaviInfo naviinfo ) {
}
@Override
public void onStartNavi() {
}
@Override
public void onStopNavi() {
}
@Override
public void onStatusChanged( StatusDescriptor descriptor, boolean isTrue ) {
//Logger.d( TAG, "状态发生改变---descriptor---" + descriptor + "----isTrue---" + isTrue );
@@ -675,7 +637,7 @@ public class MogoServices implements IMogoMapListener,
} else {
// 搜索后,打开打点策略
if ( mAutoRefreshCallback != null ) {
mAutoRefreshCallback.onSuccess(null);
mAutoRefreshCallback.onSuccess( null );
}
}
break;
@@ -730,7 +692,7 @@ public class MogoServices implements IMogoMapListener,
refreshStrategy();
// ADAS关闭后打开打点策略
if ( mAutoRefreshCallback != null ) {
mAutoRefreshCallback.onSuccess(null);
mAutoRefreshCallback.onSuccess( null );
}
}
@@ -756,21 +718,6 @@ public class MogoServices implements IMogoMapListener,
notifyRefreshData( mLastAutoRefreshLocation, getQueryRadius(), mAutoRefreshCallback );
}
@Override
public void onCalculateSuccess() {
}
@Override
public void onoCalculateFailed() {
}
@Override
public void onUpdateTraffic( MogoTraffic traffic ) {
}
@Override
public void onUpdateTraffic2( MogoTraffic traffic ) {
@@ -816,9 +763,9 @@ public class MogoServices implements IMogoMapListener,
mStatusManager.setVoiceUIShow( TAG, true );
}
} else if ( ServiceConst.COMMAND_NEXT.equals( command ) ) {
onActionDown( MogoAction.Next );
onActionDone( MogoAction.Next );
} else if ( ServiceConst.COMMAND_PREVIOUS.equals( command ) ) {
onActionDown( MogoAction.Prev );
onActionDone( MogoAction.Prev );
} else if ( ServiceConst.COMMAND_SWITCH_CARD.equals( command ) ) {
IntentHandlerFactory.getInstance().handle( mContext, command, intent );
} else if ( MogoReceiver.ACTION_ADAS_STATUS.equals( command ) ) {
@@ -909,9 +856,9 @@ public class MogoServices implements IMogoMapListener,
@Override
public void onCmdSelected( String cmd ) {
if ( TextUtils.equals( ServiceConst.CMD_UN_WAKE_PREV, cmd ) ) {
onActionDown( MogoAction.Prev );
onActionDone( MogoAction.Prev );
} else if ( TextUtils.equals( ServiceConst.CMD_UN_WAKE_NEXT, cmd ) ) {
onActionDown( MogoAction.Next );
onActionDone( MogoAction.Next );
} else if ( TextUtils.equals( ServiceConst.CMD_UN_WAKEUP_MY_LOCATION, cmd ) ) {
if ( mStatusManager.isMainPageOnResume() ) {
mUiController.recoverLockMode();
@@ -921,11 +868,11 @@ public class MogoServices implements IMogoMapListener,
}
}
private void onActionDown(MogoAction action){
private void onActionDone( MogoAction action ) {
if ( !mStatusManager.isMainPageOnResume() ) {
return;
}
if ( mStatusManager.isADASShow() ) {
if ( mStatusManager.isV2XShow() ) {
// 分发到V2X
mActionManager.invoke( "V2X_UI", action );
} else {
@@ -934,26 +881,6 @@ public class MogoServices implements IMogoMapListener,
}
}
@Override
public void onCmdAction( String speakText ) {
}
@Override
public void onCmdCancel( String speakText ) {
}
@Override
public void onSpeakEnd( String speakText ) {
}
@Override
public void onSpeakSelectTimeOut( String speakText ) {
}
@Override
public void onTransaction( int size ) {
if ( size == 0 ) {
@@ -968,6 +895,7 @@ public class MogoServices implements IMogoMapListener,
MapCenterPointStrategy.setMapCenterPointByScene( mUiController, Scene.AIMLESS );
}
mUiController.recoverLockMode();
mADASController.showADAS();
} else {
mUiController.showMyLocation( false );
AIAssist.getInstance( mContext ).registerUnWakeupCommand( ServiceConst.CMD_BACK, ServiceConst.CMD_BACK_WORDS, this );

View File

@@ -105,8 +105,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
// 长连接
MarkerServiceHandler.getMogoSocketManager().registerOnMessageListener( 401001, this );
MarkerServiceHandler.getMogoCardManager().registerCardChangedListener(
"LAUNCHER_MARKER_MODULE", this );
MarkerServiceHandler.getMogoCardManager().registerCardChangedListener( TAG, this );
MarkerServiceHandler.getActionManager().registerBizActionDoneListener( this );
}
@@ -269,6 +268,8 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
if ( !mogoMarker.isDestroyed() ) {
mogoMarker.setInfoWindowAdapter( UserDataMarkerInfoWindowAdapter.getInstance( mContext ) );
mogoMarker.showInfoWindow();
MarkerServiceHandler.getMogoStatusManager().setUserInteractionStatus( TAG, true, false );
MarkerServiceHandler.getMapUIController().moveToCenter( mogoMarker.getPosition() );
Logger.d( TAG, "打开info window" );
}
} else {

View File

@@ -71,6 +71,7 @@ public class MogoReceiver extends BroadcastReceiver {
if (TextUtils.equals(VOICE_ACTION, action)) {
String cmd = intent.getStringExtra(PARAM_COMMAND);
if (!TextUtils.isEmpty(cmd)) {
Logger.d( TAG, "receive command: %s", cmd );
mMogoIntentManager.invoke(cmd, intent);
}
} else {

View File

@@ -13,12 +13,12 @@ public class AutoRefreshStrategy {
/**
* 距离(米)
*/
private int distance = 2_000;
private int distance = 1_000;
/**
* 时间间距s
*/
private long interval = 3 * ONE_MINUTE;
private long interval = 3 * ONE_MINUTE / 6;
/**
* 用户打断后的延时s【2.0.2后不再延时】