From e8dc1b7bc8a758a5ba2c8cc7500a0f39efeb5bcb Mon Sep 17 00:00:00 2001 From: zhangyuanzhen Date: Thu, 26 Mar 2020 18:04:40 +0800 Subject: [PATCH] =?UTF-8?q?2.0.3=E5=AF=BC=E8=88=AA=E9=9C=80=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../extensions/entrance/EntranceFragment.java | 26 +- .../java/com/mogo/module/map/MapFragment.java | 2 + .../com/mogo/module/map/MapPresenter.java | 2 + .../com/mogo/module/service/MogoServices.java | 642 +++++++++--------- 4 files changed, 358 insertions(+), 314 deletions(-) diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java index cdb32f7fd5..206d8593ce 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java @@ -1,7 +1,9 @@ package com.mogo.module.extensions.entrance; +import android.content.Intent; import android.graphics.Color; import android.os.Bundle; +import android.text.TextUtils; import android.util.Log; import android.view.MotionEvent; import android.view.View; @@ -46,6 +48,7 @@ import com.mogo.service.MogoServicePaths; import com.mogo.service.analytics.IMogoAnalytics; import com.mogo.service.fragmentmanager.FragmentDescriptor; import com.mogo.service.fragmentmanager.IMogoFragmentManager; +import com.mogo.service.intent.IMogoIntentListener; import com.mogo.service.map.IMogoMapService; import com.mogo.service.module.IMogoAddressManager; import com.mogo.service.module.IMogoModuleProvider; @@ -215,8 +218,29 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent mSpeedLimit = findViewById( R.id.module_entrance_id_speed_limit_container ); mSpeedLimitValue = findViewById( R.id.module_entrance_id_speed_limit_value ); mSpeedLimitUnit = findViewById( R.id.module_entrance_id_speed_limit_unit ); - } + + mApis.getIntentManagerApi().registerIntentListener(AUTONAVI_STANDARD_BROADCAST_RECV, new IMogoIntentListener() { + @Override public void onIntentReceived(String intentStr, Intent intent) { + int key_type = intent.getIntExtra("KEY_TYPE", 0); + + int type = intent.getIntExtra("EXTRA_TYPE", -1); + int opera_type = intent.getIntExtra("EXTRA_OPERA", -1); + if (key_type == 10027) { + if (opera_type == 0) { + ivMode.setSelected(false); + } else if (opera_type == 1) { + ivMode.setSelected(true); + } + ivMode.setText( + getString( ivMode.isSelected() ? R.string.mode_car_up : R.string.mode_north_up ) ); + } + } + }); + + } + private static final String AUTONAVI_STANDARD_BROADCAST_RECV = + "AUTONAVI_STANDARD_BROADCAST_RECV"; @NonNull @Override protected EntrancePresenter createPresenter() { diff --git a/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapFragment.java b/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapFragment.java index 27b5b5b4c6..1ad1bf6d80 100644 --- a/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapFragment.java +++ b/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapFragment.java @@ -10,6 +10,7 @@ import com.mogo.commons.mvp.MvpFragment; import com.mogo.map.IMogoMap; import com.mogo.map.IMogoUiSettings; import com.mogo.map.MogoMapView; +import com.mogo.map.uicontroller.EnumMapUI; import com.mogo.map.uicontroller.IMogoMapUIController; import com.mogo.service.MogoServicePaths; import com.mogo.service.statusmanager.IMogoStatusChangedListener; @@ -122,6 +123,7 @@ public class MapFragment extends MvpFragment< MapView, MapPresenter > implements uiSettings.setZoomControlsEnabled( false ); //设置双指缩放手势是否可用。 uiSettings.setZoomGesturesEnabled( true ); + mMogoMap.getUIController().changeMapMode(EnumMapUI.NorthUP_2D); } } } diff --git a/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapPresenter.java b/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapPresenter.java index f5f51f3a35..b79159c6b4 100644 --- a/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapPresenter.java +++ b/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapPresenter.java @@ -79,6 +79,8 @@ public class MapPresenter extends Presenter implements mMogoMapService.getMapUIController().recoverLockMode();//缩放地图会导致锁车发生改变,这里强制锁车 }, 1_000 ); } else if (type == 2) { + + mMogoIntentManager.invoke(AUTONAVI_STANDARD_BROADCAST_RECV,intent); if (opera_type == 0) { mView.getUIController().changeMapMode(EnumMapUI.CarUp_2D); } else if (opera_type == 1) { diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java index 65e4a298f7..b832593ba8 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java @@ -1,6 +1,5 @@ package com.mogo.module.service; - import android.app.ActivityManager; import android.content.ComponentName; import android.content.Context; @@ -82,13 +81,13 @@ import java.util.List; * 4. 用户交互语音导致地图视图移动,缩放,不触发刷新 */ public class MogoServices implements IMogoMapListener, - IMogoLocationListener, - IMogoNaviListener, - IMogoStatusChangedListener, - IMogoIntentListener, - IMogoAimlessModeListener, - IMogoVoiceCmdCallBack, - FragmentStackTransactionListener { + IMogoLocationListener, + IMogoNaviListener, + IMogoStatusChangedListener, + IMogoIntentListener, + IMogoAimlessModeListener, + IMogoVoiceCmdCallBack, + FragmentStackTransactionListener { private boolean mInternalUnWakeupRegisterStatus = false; @@ -166,30 +165,30 @@ public class MogoServices implements IMogoMapListener, */ private boolean mLoopRequest = false; - private Handler mHandler = new Handler( Looper.getMainLooper() ) { + private Handler mHandler = new Handler(Looper.getMainLooper()) { @Override - public void handleMessage( @NonNull Message msg ) { - super.handleMessage( msg ); - switch ( msg.what ) { + public void handleMessage(@NonNull Message msg) { + super.handleMessage(msg); + switch (msg.what) { case ServiceConst.MSG_TYPE_REFRESH_DECREASE: - if ( mStatusManager.isSearchUIShow() || mStatusManager.isADASShow() ) { + if (mStatusManager.isSearchUIShow() || mStatusManager.isADASShow()) { stopAutoRefreshStrategy(); return; } mRefreshRemainingTime -= ServiceConst.DECREASE_INTERVAL; - if ( mRefreshRemainingTime <= 0 ) { - Logger.d( TAG, "move to center and refresh data." ); + if (mRefreshRemainingTime <= 0) { + Logger.d(TAG, "move to center and refresh data."); invokeAutoRefresh(); } else { - mHandler.sendEmptyMessageDelayed( msg.what, ServiceConst.DECREASE_INTERVAL ); + mHandler.sendEmptyMessageDelayed(msg.what, ServiceConst.DECREASE_INTERVAL); } break; case ServiceConst.MSG_LOOP_REQUEST: - if ( mStatusManager.isSearchUIShow() || mStatusManager.isADASShow() ) { + if (mStatusManager.isSearchUIShow() || mStatusManager.isADASShow()) { return; } - if ( mLoopRequest ) { - Logger.d( TAG, "补偿刷新触发" ); + if (mLoopRequest) { + Logger.d(TAG, "补偿刷新触发"); invokeAutoRefresh(); } break; @@ -200,12 +199,13 @@ public class MogoServices implements IMogoMapListener, * 自动刷新:锁车、缩放比例:16、半径 2KM */ private void invokeAutoRefresh() { - mStatusManager.setUserInteractionStatus( ServiceConst.TYPE, true, false ); - mUiController.changeZoom( ServiceConst.DEFAULT_LOCK_CAR_ZOOM_LEVEL ); - mUiController.setLockZoom( ServiceConst.DEFAULT_LOCK_CAR_ZOOM_LEVEL ); - mStatusManager.setUserInteractionStatus( TAG, true, false ); + mStatusManager.setUserInteractionStatus(ServiceConst.TYPE, true, false); + mUiController.changeZoom(ServiceConst.DEFAULT_LOCK_CAR_ZOOM_LEVEL); + mUiController.setLockZoom(ServiceConst.DEFAULT_LOCK_CAR_ZOOM_LEVEL); + mStatusManager.setUserInteractionStatus(TAG, true, false); mUiController.recoverLockMode(); - notifyRefreshData( mLastAutoRefreshLocation, ServiceConst.DEFAULT_AUTO_REFRESH_DATA_RADIUS, mAutoRefreshCallback ); + notifyRefreshData(mLastAutoRefreshLocation, + ServiceConst.DEFAULT_AUTO_REFRESH_DATA_RADIUS, mAutoRefreshCallback); } }; private Context mContext; @@ -228,7 +228,7 @@ public class MogoServices implements IMogoMapListener, public void onSuccess() { mLoopRequest = false; // 用户手动操作地图刷新成功后,设置状态为 true,引发延时策略 - mStatusManager.setUserInteractionStatus( ServiceConst.TYPE, true, true ); + mStatusManager.setUserInteractionStatus(ServiceConst.TYPE, true, true); } @Override @@ -244,27 +244,29 @@ public class MogoServices implements IMogoMapListener, @Override public void onSuccess() { mLoopRequest = false; - Logger.d( TAG, "request Success." ); + Logger.d(TAG, "request Success."); invokeAutoRefreshStrategy(); } @Override public void onFail() { - if ( mLoopRequest ) { - Logger.d( TAG, "onFail and loop" ); - mHandler.sendEmptyMessageDelayed( ServiceConst.MSG_LOOP_REQUEST, ServiceConst.LOOP_INTERVAL ); + if (mLoopRequest) { + Logger.d(TAG, "onFail and loop"); + mHandler.sendEmptyMessageDelayed(ServiceConst.MSG_LOOP_REQUEST, + ServiceConst.LOOP_INTERVAL); } else { invokeAutoRefreshStrategy(); } } private void invokeAutoRefreshStrategy() { - if ( mStatusManager.isSearchUIShow() ) { + if (mStatusManager.isSearchUIShow()) { return; } mRefreshRemainingTime = mAutoRefreshStrategy.getInterval(); - mHandler.removeMessages( ServiceConst.MSG_TYPE_REFRESH_DECREASE ); - mHandler.sendEmptyMessageDelayed( ServiceConst.MSG_TYPE_REFRESH_DECREASE, ServiceConst.DECREASE_INTERVAL ); + mHandler.removeMessages(ServiceConst.MSG_TYPE_REFRESH_DECREASE); + mHandler.sendEmptyMessageDelayed(ServiceConst.MSG_TYPE_REFRESH_DECREASE, + ServiceConst.DECREASE_INTERVAL); } }; @@ -272,115 +274,120 @@ public class MogoServices implements IMogoMapListener, private Handler mThreadHandler; - public void init( Context context ) { + public void init(Context context) { mContext = context; - MarkerServiceHandler.init( mContext ); - mRefreshModel = new RefreshModel( context ); + MarkerServiceHandler.init(mContext); + mRefreshModel = new RefreshModel(context); mMogoMapService = MarkerServiceHandler.getMapService(); mUiController = mMogoMapService.getMapUIController(); - mNavi = mMogoMapService.getNavi( context ); + mNavi = mMogoMapService.getNavi(context); mStatusManager = MarkerServiceHandler.getMogoStatusManager(); - mStatusManager.registerStatusChangedListener( ServiceConst.TYPE, StatusDescriptor.USER_INTERACTED, this ); - mStatusManager.registerStatusChangedListener( ServiceConst.TYPE, StatusDescriptor.SEARCH_UI, this ); - mStatusManager.registerStatusChangedListener( ServiceConst.TYPE, StatusDescriptor.ADAS_UI, this ); - mStatusManager.registerStatusChangedListener( ServiceConst.TYPE, StatusDescriptor.MAIN_PAGE_RESUME, this ); + mStatusManager.registerStatusChangedListener(ServiceConst.TYPE, + StatusDescriptor.USER_INTERACTED, this); + mStatusManager.registerStatusChangedListener(ServiceConst.TYPE, StatusDescriptor.SEARCH_UI, + this); + mStatusManager.registerStatusChangedListener(ServiceConst.TYPE, StatusDescriptor.ADAS_UI, + this); + mStatusManager.registerStatusChangedListener(ServiceConst.TYPE, + StatusDescriptor.MAIN_PAGE_RESUME, this); - registerMogoReceiver( context ); + registerMogoReceiver(context); registerInternalUnWakeupWords(); mRegisterCenter = MarkerServiceHandler.getRegisterCenter(); - mRegisterCenter.registerMogoLocationListener( ServiceConst.TYPE, this ); - mRegisterCenter.registerMogoNaviListener( ServiceConst.TYPE, this ); - mRegisterCenter.registerMogoMapListener( ServiceConst.TYPE, this ); - mRegisterCenter.registerMogoAimlessModeListener( ServiceConst.TYPE, this ); + mRegisterCenter.registerMogoLocationListener(ServiceConst.TYPE, this); + mRegisterCenter.registerMogoNaviListener(ServiceConst.TYPE, this); + mRegisterCenter.registerMogoMapListener(ServiceConst.TYPE, this); + mRegisterCenter.registerMogoAimlessModeListener(ServiceConst.TYPE, this); mActionManager = MarkerServiceHandler.getActionManager(); mIntentManager = MarkerServiceHandler.getIntentManager(); - mIntentManager.registerIntentListener( MogoReceiver.ACTIION_ADAS, this ); - mIntentManager.registerIntentListener( Intent.ACTION_POWER_CONNECTED, this ); - mIntentManager.registerIntentListener( Intent.ACTION_POWER_DISCONNECTED, this ); - mIntentManager.registerIntentListener( MogoReceiver.ACTION_NWD_ACC, this ); - mIntentManager.registerIntentListener( MogoReceiver.ACTION_VOICE_UI, this ); - mIntentManager.registerIntentListener( ServiceConst.COMMAND_NEXT, this ); - mIntentManager.registerIntentListener( ServiceConst.COMMAND_PREVIOUS, this ); - mIntentManager.registerIntentListener( ServiceConst.COMMAND_SWITCH_CARD, this ); - mIntentManager.registerIntentListener( ServiceConst.COMMAND_MY_LOCATION, this ); - mIntentManager.registerIntentListener( MogoReceiver.ACTION_ADAS_STATUS, this ); - mIntentManager.registerIntentListener( ServiceConst.COMMAND_OPERATION, this ); - mIntentManager.registerIntentListener( MogoReceiver.ACTION_VOICE_READY, this ); - mIntentManager.registerIntentListener( MogoReceiver.ACTION_MOCK, this ); + mIntentManager.registerIntentListener(MogoReceiver.ACTIION_ADAS, this); + mIntentManager.registerIntentListener(Intent.ACTION_POWER_CONNECTED, this); + mIntentManager.registerIntentListener(Intent.ACTION_POWER_DISCONNECTED, this); + mIntentManager.registerIntentListener(MogoReceiver.ACTION_NWD_ACC, this); + mIntentManager.registerIntentListener(MogoReceiver.ACTION_VOICE_UI, this); + mIntentManager.registerIntentListener(ServiceConst.COMMAND_NEXT, this); + mIntentManager.registerIntentListener(ServiceConst.COMMAND_PREVIOUS, this); + mIntentManager.registerIntentListener(ServiceConst.COMMAND_SWITCH_CARD, this); + mIntentManager.registerIntentListener(ServiceConst.COMMAND_MY_LOCATION, this); + mIntentManager.registerIntentListener(MogoReceiver.ACTION_ADAS_STATUS, this); + mIntentManager.registerIntentListener(ServiceConst.COMMAND_OPERATION, this); + mIntentManager.registerIntentListener(MogoReceiver.ACTION_VOICE_READY, this); + mIntentManager.registerIntentListener(MogoReceiver.ACTION_MOCK, this); mADASController = MarkerServiceHandler.getADASController(); mLauncher = MarkerServiceHandler.getLauncher(); mFragmentManager = MarkerServiceHandler.getFragmentManager(); mCardManager = MarkerServiceHandler.getMogoCardManager(); - mFragmentManager.addMainFragmentStackTransactionListener( this ); + mFragmentManager.addMainFragmentStackTransactionListener(this); initWorkThread(); } private void initWorkThread() { - mHandlerThread = new HandlerThread( "mogo-handler-thread" ); + mHandlerThread = new HandlerThread("mogo-handler-thread"); mHandlerThread.start(); - mThreadHandler = new Handler( mHandlerThread.getLooper() ) { + mThreadHandler = new Handler(mHandlerThread.getLooper()) { @Override - public void handleMessage( Message msg ) { - super.handleMessage( msg ); - if ( msg.what == ServiceConst.MSG_MAP_CHANGED ) { - if ( msg.obj instanceof RefreshObject ) { - RefreshObject ro = ( ( RefreshObject ) msg.obj ); - if ( invokeRefreshWhenTranslationByUser( ro.mLonLat ) ) { - notifyRefreshData( ro.mLonLat, ro.mRadius, ro.mCallback ); + public void handleMessage(Message msg) { + super.handleMessage(msg); + if (msg.what == ServiceConst.MSG_MAP_CHANGED) { + if (msg.obj instanceof RefreshObject) { + RefreshObject ro = ((RefreshObject) msg.obj); + if (invokeRefreshWhenTranslationByUser(ro.mLonLat)) { + notifyRefreshData(ro.mLonLat, ro.mRadius, ro.mCallback); mLastCustomRefreshCenterLocation = ro.mLonLat; } } - } else if ( msg.what == ServiceConst.MSG_REQUEST_DATA ) { - if ( msg.obj instanceof RefreshObject ) { - RefreshObject ro = ( ( RefreshObject ) msg.obj ); - mRefreshModel.refreshData( ro.mLonLat, ro.mRadius, ro.mAmount, ro.mCallback ); - Logger.i( TAG, "刷新半径 = %s, 点 = %s, zoomLevel = %s, amount = %s", ro.mRadius, ro.mLonLat, mLastZoomLevel, ro.mAmount ); + } else if (msg.what == ServiceConst.MSG_REQUEST_DATA) { + if (msg.obj instanceof RefreshObject) { + RefreshObject ro = ((RefreshObject) msg.obj); + mRefreshModel.refreshData(ro.mLonLat, ro.mRadius, ro.mAmount, ro.mCallback); + Logger.i(TAG, "刷新半径 = %s, 点 = %s, zoomLevel = %s, amount = %s", ro.mRadius, + ro.mLonLat, mLastZoomLevel, ro.mAmount); } } } }; } - private void registerMogoReceiver( Context context ) { - if ( context == null ) { + private void registerMogoReceiver(Context context) { + if (context == null) { return; } - List< MogoModule > modules = MogoModulePaths.getModules(); - if ( modules.isEmpty() || modules == null ) { + List modules = MogoModulePaths.getModules(); + if (modules.isEmpty() || modules == null) { return; } - mAIAssistReceiver = new MogoReceiver( context ); + mAIAssistReceiver = new MogoReceiver(context); IntentFilter filter = new IntentFilter(); - if ( modules != null && !modules.isEmpty() ) { - for ( MogoModule module : modules ) { - if ( TextUtils.isEmpty( module.getBroadcastAction() ) ) { + if (modules != null && !modules.isEmpty()) { + for (MogoModule module : modules) { + if (TextUtils.isEmpty(module.getBroadcastAction())) { continue; } - filter.addAction( module.getBroadcastAction() ); + filter.addAction(module.getBroadcastAction()); } } - filter.addAction( MogoReceiver.VOICE_ACTION ); - filter.addAction( MogoReceiver.ACTIION_ADAS ); - filter.addAction( MogoReceiver.ACTION_NWD_ACC ); + filter.addAction(MogoReceiver.VOICE_ACTION); + filter.addAction(MogoReceiver.ACTIION_ADAS); + filter.addAction(MogoReceiver.ACTION_NWD_ACC); // acc On - filter.addAction( Intent.ACTION_POWER_CONNECTED ); - filter.addAction( Intent.ACTION_POWER_DISCONNECTED ); + filter.addAction(Intent.ACTION_POWER_CONNECTED); + filter.addAction(Intent.ACTION_POWER_DISCONNECTED); // 小智语音 - filter.addAction( MogoReceiver.ACTION_VOICE_UI ); - filter.addAction( MogoReceiver.ACTION_ADAS_STATUS ); - filter.addAction( MogoReceiver.ACTION_VOICE_READY ); - filter.addAction( MogoReceiver.ACTION_MOCK ); + filter.addAction(MogoReceiver.ACTION_VOICE_UI); + filter.addAction(MogoReceiver.ACTION_ADAS_STATUS); + filter.addAction(MogoReceiver.ACTION_VOICE_READY); + filter.addAction(MogoReceiver.ACTION_MOCK); try { - context.getApplicationContext().registerReceiver( mAIAssistReceiver, filter ); - Logger.i( TAG, "register voice receiver." ); - } catch ( Exception e ) { - Logger.e( TAG, e, "error. " ); + context.getApplicationContext().registerReceiver(mAIAssistReceiver, filter); + Logger.i(TAG, "register voice receiver."); + } catch (Exception e) { + Logger.e(TAG, e, "error. "); } } @@ -390,90 +397,88 @@ public class MogoServices implements IMogoMapListener, } private void initMapStatus() { - if ( mIsMapStatusOk ) { + if (mIsMapStatusOk) { return; } try { float width = getMapCameraFactWidth(); float height = getMapCameraFactHeight(); mIsVertical = width < height; - Logger.i( TAG, "map status is vertical : " + mIsVertical ); + Logger.i(TAG, "map status is vertical : " + mIsVertical); mIsMapStatusOk = true; - } catch ( Exception e ) { + } catch (Exception e) { e.printStackTrace(); } } /** * 地图视图对应的实际宽度 - * - * @return */ private float getMapCameraFactWidth() { try { - return Utils.calculateLineDistance( mCameraNorthEastPosition, new MogoLatLng( mCameraNorthEastPosition.lat, mCameraSouthWestPosition.lng ) ); - } catch ( Exception e ) { + return Utils.calculateLineDistance(mCameraNorthEastPosition, + new MogoLatLng(mCameraNorthEastPosition.lat, mCameraSouthWestPosition.lng)); + } catch (Exception e) { return ServiceConst.DEFAULT_AUTO_REFRESH_DATA_RADIUS; } } /** * 地图视图对应的实际高度 - * - * @return */ private float getMapCameraFactHeight() { try { - return Utils.calculateLineDistance( mCameraSouthWestPosition, new MogoLatLng( mCameraNorthEastPosition.lat, mCameraSouthWestPosition.lng ) ); - } catch ( Exception e ) { + return Utils.calculateLineDistance(mCameraSouthWestPosition, + new MogoLatLng(mCameraNorthEastPosition.lat, mCameraSouthWestPosition.lng)); + } catch (Exception e) { return ServiceConst.DEFAULT_AUTO_REFRESH_DATA_RADIUS; } } @Override - public void onTouch( MotionEvent motionEvent ) { - switch ( motionEvent.getActionMasked() ) { + public void onTouch(MotionEvent motionEvent) { + switch (motionEvent.getActionMasked()) { case MotionEvent.ACTION_DOWN: - if ( mLastZoomLevel == 0 ) { + if (mLastZoomLevel == 0) { mLastZoomLevel = mUiController.getZoomLevel(); - Logger.i( TAG, "初始化缩放级别 为:%f", mLastZoomLevel ); + Logger.i(TAG, "初始化缩放级别 为:%f", mLastZoomLevel); } break; case MotionEvent.ACTION_UP: - restartAutoRefreshAtTime( ServiceConst.DEFAULT_AUTO_REFRESH_WHEN_INTERRUPT ); + restartAutoRefreshAtTime(ServiceConst.DEFAULT_AUTO_REFRESH_WHEN_INTERRUPT); break; } } private void stopAutoRefreshStrategy() { - Logger.d( TAG, "stop auto refresh strategy" ); - mHandler.removeMessages( ServiceConst.MSG_TYPE_REFRESH_DECREASE ); + Logger.d(TAG, "stop auto refresh strategy"); + mHandler.removeMessages(ServiceConst.MSG_TYPE_REFRESH_DECREASE); } @Override - public void onPOIClick( MogoPoi poi ) { + public void onPOIClick(MogoPoi poi) { } @Override - public void onMapClick( MogoLatLng latLng ) { + public void onMapClick(MogoLatLng latLng) { } @Override - public void onLockMap( boolean isLock ) { + public void onLockMap(boolean isLock) { } @Override - public void onMapModeChanged( EnumMapUI ui ) { + public void onMapModeChanged(EnumMapUI ui) { } @Override - public void onMapChanged( MogoLatLng latLng, float zoom, float tilt, float bearing ) { + public void onMapChanged(MogoLatLng latLng, float zoom, float tilt, float bearing) { - if ( mIsCameraInited ) { + if (mIsCameraInited) { mLastZoomLevel = zoom; mLastCustomRefreshCenterLocation = latLng; mIsCameraInited = false; @@ -483,119 +488,117 @@ public class MogoServices implements IMogoMapListener, // 部分非用户操作导致地图视图变化:绘线、圈点等不触发用户刷新 // 消费状态 - if ( mStatusManager.isUserInteracted() ) { + if (mStatusManager.isUserInteracted()) { mLastCustomRefreshCenterLocation = latLng; mLastZoomLevel = zoom; return; } // v2x // adas 状态下不做任何操作 - if ( mStatusManager.isADASShow() ) { + if (mStatusManager.isADASShow()) { mLastCustomRefreshCenterLocation = latLng; mLastZoomLevel = zoom; return; } // 手动刷新触发 - if ( mLastZoomLevel - zoom > mCustomRefreshStrategy.getZoomOutLevel() ) { + if (mLastZoomLevel - zoom > mCustomRefreshStrategy.getZoomOutLevel()) { // 缩放级别缩小 - notifyRefreshData( latLng, getQueryRadius(), mCustomRefreshCallback ); + notifyRefreshData(latLng, getQueryRadius(), mCustomRefreshCallback); mLastCustomRefreshCenterLocation = latLng; mLastZoomLevel = zoom; - } else if ( mLastZoomLevel - zoom < 0 ) { + } else if (mLastZoomLevel - zoom < 0) { mLastZoomLevel = zoom; - } else if ( mLastZoomLevel == zoom ) { + } else if (mLastZoomLevel == zoom) { // 手动平移 Message msg = Message.obtain(); msg.what = ServiceConst.MSG_MAP_CHANGED; - msg.obj = new RefreshObject( mCustomRefreshCallback, getQueryRadius(), latLng, 0 ); - mThreadHandler.sendMessage( msg ); + msg.obj = new RefreshObject(mCustomRefreshCallback, getQueryRadius(), latLng, 0); + mThreadHandler.sendMessage(msg); } } private int getQueryRadius() { mCameraSouthWestPosition = mUiController.getCameraSouthWestPosition(); mCameraNorthEastPosition = mUiController.getCameraNorthEastPosition(); - if ( mIsVertical ) { - return ( ( int ) ( getMapCameraFactWidth() / 2 ) ); + if (mIsVertical) { + return ((int) (getMapCameraFactWidth() / 2)); } - return ( ( int ) ( getMapCameraFactHeight() / 2 ) ); + return ((int) (getMapCameraFactHeight() / 2)); } /** * 平移地图刷新策略 - * - * @return */ - private boolean invokeRefreshWhenTranslationByUser( MogoLatLng latLng ) { + private boolean invokeRefreshWhenTranslationByUser(MogoLatLng latLng) { try { - Trace.beginSection( "timer.invokeRefreshWhenTranslationByUser" ); + Trace.beginSection("timer.invokeRefreshWhenTranslationByUser"); float factor = 0.0f; - if ( mIsVertical ) { + if (mIsVertical) { factor = getMapCameraFactWidth(); } else { factor = getMapCameraFactHeight(); } - if ( factor == 0.0f ) { + if (factor == 0.0f) { return false; } - float distance = Utils.calculateLineDistance( latLng, mLastCustomRefreshCenterLocation ); + float distance = Utils.calculateLineDistance(latLng, mLastCustomRefreshCenterLocation); Trace.endSection(); return distance > factor; - } catch ( Exception e ) { - Logger.e( TAG, e, "warming. " ); + } catch (Exception e) { + Logger.e(TAG, e, "warming. "); return false; } } @Override - public void onLocationChanged( MogoLocation location ) { + public void onLocationChanged(MogoLocation location) { - if ( mStatusManager.isADASShow() ) { + if (mStatusManager.isADASShow()) { return; } - if ( mStatusManager.isSearchUIShow() ) { + if (mStatusManager.isSearchUIShow()) { return; } - if ( location == null ) { + if (location == null) { return; } // 自动刷新触发 - final MogoLatLng point = new MogoLatLng( location.getLatitude(), location.getLongitude() ); - if ( mLastAutoRefreshLocation == null ) { + final MogoLatLng point = new MogoLatLng(location.getLatitude(), location.getLongitude()); + if (mLastAutoRefreshLocation == null) { mLastAutoRefreshLocation = point; mLoopRequest = true; - notifyRefreshData( mLastAutoRefreshLocation, getQueryRadius(), mAutoRefreshCallback ); + notifyRefreshData(mLastAutoRefreshLocation, getQueryRadius(), mAutoRefreshCallback); return; } - float distance = Utils.calculateLineDistance( mLastAutoRefreshLocation, point ); - if ( distance > mAutoRefreshStrategy.getDistance() ) { - mStatusManager.setUserInteractionStatus( ServiceConst.TYPE, true, false ); + float distance = Utils.calculateLineDistance(mLastAutoRefreshLocation, point); + if (distance > mAutoRefreshStrategy.getDistance()) { + mStatusManager.setUserInteractionStatus(ServiceConst.TYPE, true, false); mUiController.recoverLockMode(); - mStatusManager.setUserInteractionStatus( TAG, true, false ); - mUiController.changeZoom( ServiceConst.DEFAULT_ZOOM_LEVEL ); + mStatusManager.setUserInteractionStatus(TAG, true, false); + mUiController.changeZoom(ServiceConst.DEFAULT_ZOOM_LEVEL); mLastAutoRefreshLocation = point; - notifyRefreshData( mLastAutoRefreshLocation, getQueryRadius(), mAutoRefreshCallback ); + notifyRefreshData(mLastAutoRefreshLocation, getQueryRadius(), mAutoRefreshCallback); } } /** * 刷新数据 */ - private void notifyRefreshData( MogoLatLng latLng, int radius, RefreshCallback callback ) { - if ( mStatusManager.isSearchUIShow() ) { + private void notifyRefreshData(MogoLatLng latLng, int radius, RefreshCallback callback) { + if (mStatusManager.isSearchUIShow()) { return; } - Logger.d( TAG, mAutoRefreshCallback == callback ? "触发自动刷新" : "触发手动刷新" ); + Logger.d(TAG, mAutoRefreshCallback == callback ? "触发自动刷新" : "触发手动刷新"); int amount = mLastZoomLevel >= 10 ? 5 : 10; Message msg = Message.obtain(); msg.what = ServiceConst.MSG_REQUEST_DATA; - msg.obj = new RefreshObject( callback, radius, latLng, amount ); - mThreadHandler.sendMessage( msg ); + msg.obj = new RefreshObject(callback, radius, latLng, amount); + mThreadHandler.sendMessage(msg); } @Override @@ -609,7 +612,7 @@ public class MogoServices implements IMogoMapListener, } @Override - public void onNaviInfoUpdate( MogoNaviInfo naviinfo ) { + public void onNaviInfoUpdate(MogoNaviInfo naviinfo) { } @Override @@ -621,38 +624,38 @@ public class MogoServices implements IMogoMapListener, } @Override - public void onStatusChanged( StatusDescriptor descriptor, boolean isTrue ) { + public void onStatusChanged(StatusDescriptor descriptor, boolean isTrue) { //Logger.d( TAG, "状态发生改变---descriptor---" + descriptor + "----isTrue---" + isTrue ); - switch ( descriptor ) { + switch (descriptor) { case USER_INTERACTED: - if ( isTrue ) { - restartAutoRefreshAtTime( ServiceConst.DEFAULT_AUTO_REFRESH_WHEN_INTERRUPT ); + if (isTrue) { + restartAutoRefreshAtTime(ServiceConst.DEFAULT_AUTO_REFRESH_WHEN_INTERRUPT); } break; case SEARCH_UI: - if ( isTrue ) { + if (isTrue) { // 搜索时,不在自动刷新打点策略 stopAutoRefreshStrategy(); } else { // 搜索后,打开打点策略 - if ( mAutoRefreshCallback != null ) { + if (mAutoRefreshCallback != null) { mAutoRefreshCallback.onSuccess(); } } break; case ADAS_UI: try { - if ( isTrue ) { + if (isTrue) { onAdasOn(); } else { onAdasClosed(); } - } catch ( Exception e ) { + } catch (Exception e) { e.printStackTrace(); } break; case MAIN_PAGE_RESUME: - if ( isTrue ) { + if (isTrue) { registerInternalUnWakeupWords(); } else { unregisterInternalUnWakeupWords(); @@ -671,31 +674,31 @@ public class MogoServices implements IMogoMapListener, private void onAdasClosed() { refreshStrategy(); // ADAS关闭后,打开打点策略 - if ( mAutoRefreshCallback != null ) { + if (mAutoRefreshCallback != null) { mAutoRefreshCallback.onSuccess(); } } - public void restartAutoRefreshAtTime( int time ) { - if ( time < 0 ) { - Logger.w( TAG, "ignore refresh request case time < 0" ); + public void restartAutoRefreshAtTime(int time) { + if (time < 0) { + Logger.w(TAG, "ignore refresh request case time < 0"); return; } stopAutoRefreshStrategy(); mRefreshRemainingTime = time; long delay = ServiceConst.DECREASE_INTERVAL; - if ( mRefreshRemainingTime < ServiceConst.DECREASE_INTERVAL ) { + if (mRefreshRemainingTime < ServiceConst.DECREASE_INTERVAL) { delay = mRefreshRemainingTime; } - mHandler.sendEmptyMessageDelayed( ServiceConst.MSG_TYPE_REFRESH_DECREASE, delay ); - Logger.i( TAG, "下次刷新时间:%ss后", mRefreshRemainingTime ); + mHandler.sendEmptyMessageDelayed(ServiceConst.MSG_TYPE_REFRESH_DECREASE, delay); + Logger.i(TAG, "下次刷新时间:%ss后", mRefreshRemainingTime); } public void refreshStrategy() { - Logger.d( TAG, "move to center and refresh data." ); - mStatusManager.setUserInteractionStatus( ServiceConst.TYPE, true, false ); + Logger.d(TAG, "move to center and refresh data."); + mStatusManager.setUserInteractionStatus(ServiceConst.TYPE, true, false); mUiController.recoverLockMode();// 锁车代替移到中心点 - notifyRefreshData( mLastAutoRefreshLocation, getQueryRadius(), mAutoRefreshCallback ); + notifyRefreshData(mLastAutoRefreshLocation, getQueryRadius(), mAutoRefreshCallback); } @Override @@ -709,123 +712,125 @@ public class MogoServices implements IMogoMapListener, } @Override - public void onUpdateTraffic( MogoTraffic traffic ) { + public void onUpdateTraffic(MogoTraffic traffic) { } @Override - public void onUpdateTraffic2( MogoTraffic traffic ) { + public void onUpdateTraffic2(MogoTraffic traffic) { - if ( traffic != null ) { + if (traffic != null) { - if ( traffic.getSpeedLimit() <= 0 ) { + if (traffic.getSpeedLimit() <= 0) { return; } - Logger.i( TAG, "speed = %d, desc = %s", traffic.getSpeedLimit(), traffic.getDesc() ); + Logger.i(TAG, "speed = %d, desc = %s", traffic.getSpeedLimit(), traffic.getDesc()); // 发送当前限速到 adas - Intent intent = new Intent( "com.mogo.launcher.adas" ); - intent.putExtra( "adas_speed_limit", traffic.getSpeedLimit() ); - mContext.sendBroadcast( intent ); + Intent intent = new Intent("com.mogo.launcher.adas"); + intent.putExtra("adas_speed_limit", traffic.getSpeedLimit()); + mContext.sendBroadcast(intent); } } @Override - public void onUpdateCongestion( MogoCongestionInfo info ) { + public void onUpdateCongestion(MogoCongestionInfo info) { } @Override - public void onIntentReceived( String command, Intent intent ) { - if ( MogoReceiver.ACTIION_ADAS.equals( command ) ) { - if ( intent == null ) { + public void onIntentReceived(String command, Intent intent) { + if (MogoReceiver.ACTIION_ADAS.equals(command)) { + if (intent == null) { return; } - int status = intent.getIntExtra( MogoReceiver.PARAM_ADAS_STATUS, 0 ); - mStatusManager.setADASUIShow( ServiceConst.TYPE, status == 1 ); - if ( status != 1 ) { // adas 关闭 - mUiController.setLockZoom( ServiceConst.DEFAULT_LOCK_CAR_ZOOM_LEVEL ); + int status = intent.getIntExtra(MogoReceiver.PARAM_ADAS_STATUS, 0); + mStatusManager.setADASUIShow(ServiceConst.TYPE, status == 1); + if (status != 1) { // adas 关闭 + mUiController.setLockZoom(ServiceConst.DEFAULT_LOCK_CAR_ZOOM_LEVEL); // 延时两秒执行是为了让其它事物完成 - UiThreadHandler.postDelayed( () -> { - mUiController.showMyLocation( true ); - }, 2_000L ); + UiThreadHandler.postDelayed(() -> { + mUiController.showMyLocation(true); + }, 2_000L); } - } else if ( Intent.ACTION_POWER_CONNECTED.equals( command ) ) { - mStatusManager.setAccStatus( ServiceConst.TYPE, true ); - } else if ( Intent.ACTION_POWER_DISCONNECTED.equals( command ) ) { - mStatusManager.setAccStatus( ServiceConst.TYPE, false ); - } else if ( MogoReceiver.ACTION_NWD_ACC.equals( command ) ) { - int state = intent.getByteExtra( MogoReceiver.PARAM_ACC_STATUS, ( byte ) 0 ); - mStatusManager.setAccStatus( ServiceConst.TYPE, state == 1 ); - } else if ( MogoReceiver.ACTION_VOICE_UI.equals( command ) ) { - String val = intent.getStringExtra( MogoReceiver.PARRAM_WAKE_STATUS ); - if ( TextUtils.equals( val, MogoReceiver.VALUE_DISMISS ) ) { - mStatusManager.setVoiceUIShow( TAG, false ); - } else if ( TextUtils.equals( val, MogoReceiver.VALUE_SHOW ) ) { - mStatusManager.setVoiceUIShow( TAG, true ); + } else if (Intent.ACTION_POWER_CONNECTED.equals(command)) { + mStatusManager.setAccStatus(ServiceConst.TYPE, true); + } else if (Intent.ACTION_POWER_DISCONNECTED.equals(command)) { + mStatusManager.setAccStatus(ServiceConst.TYPE, false); + } else if (MogoReceiver.ACTION_NWD_ACC.equals(command)) { + int state = intent.getByteExtra(MogoReceiver.PARAM_ACC_STATUS, (byte) 0); + mStatusManager.setAccStatus(ServiceConst.TYPE, state == 1); + } else if (MogoReceiver.ACTION_VOICE_UI.equals(command)) { + String val = intent.getStringExtra(MogoReceiver.PARRAM_WAKE_STATUS); + if (TextUtils.equals(val, MogoReceiver.VALUE_DISMISS)) { + mStatusManager.setVoiceUIShow(TAG, false); + } else if (TextUtils.equals(val, MogoReceiver.VALUE_SHOW)) { + mStatusManager.setVoiceUIShow(TAG, true); } - } else if ( ServiceConst.COMMAND_NEXT.equals( command ) ) { - if ( mStatusManager.isMainPageOnResume() ) { - mActionManager.invoke( MapMarkerManager.getInstance().getCurrentModuleName(), MogoAction.Next ); + } else if (ServiceConst.COMMAND_NEXT.equals(command)) { + if (mStatusManager.isMainPageOnResume()) { + mActionManager.invoke(MapMarkerManager.getInstance().getCurrentModuleName(), + MogoAction.Next); } - } else if ( ServiceConst.COMMAND_PREVIOUS.equals( command ) ) { - if ( mStatusManager.isMainPageOnResume() ) { - mActionManager.invoke( MapMarkerManager.getInstance().getCurrentModuleName(), MogoAction.Prev ); + } else if (ServiceConst.COMMAND_PREVIOUS.equals(command)) { + if (mStatusManager.isMainPageOnResume()) { + mActionManager.invoke(MapMarkerManager.getInstance().getCurrentModuleName(), + MogoAction.Prev); } - } else if ( ServiceConst.COMMAND_SWITCH_CARD.equals( command ) ) { - String data = intent.getStringExtra( "data" ); + } else if (ServiceConst.COMMAND_SWITCH_CARD.equals(command)) { + String data = intent.getStringExtra("data"); try { - JSONObject jsonObject = new JSONObject( data ); - String card = jsonObject.getString( "card" ); - if ( TextUtils.equals( "多媒体卡片", card ) ) { - switchCard2( ServiceConst.CARD_TYPE_SHARE_MUSIC ); - } else if ( TextUtils.equals( "探路卡片", card ) ) { - switchCard2( ServiceConst.CARD_TYPE_ROAD_CONDITION ); - } else if ( TextUtils.equals( "在线车辆卡片", card ) ) { - switchCard2( ServiceConst.CARD_TYPE_USER_DATA ); - } else if ( TextUtils.equals( "新鲜事卡片", card ) ) { - switchCard2( ServiceConst.CARD_TYPE_NOVELTY ); + JSONObject jsonObject = new JSONObject(data); + String card = jsonObject.getString("card"); + if (TextUtils.equals("多媒体卡片", card)) { + switchCard2(ServiceConst.CARD_TYPE_SHARE_MUSIC); + } else if (TextUtils.equals("探路卡片", card)) { + switchCard2(ServiceConst.CARD_TYPE_ROAD_CONDITION); + } else if (TextUtils.equals("在线车辆卡片", card)) { + switchCard2(ServiceConst.CARD_TYPE_USER_DATA); + } else if (TextUtils.equals("新鲜事卡片", card)) { + switchCard2(ServiceConst.CARD_TYPE_NOVELTY); } - } catch ( JSONException e ) { + } catch (JSONException e) { e.printStackTrace(); } - } else if ( MogoReceiver.ACTION_ADAS_STATUS.equals( command ) ) { - String msg = intent.getStringExtra( "adasMsg" ); - if ( TextUtils.isEmpty( msg ) ) { + } else if (MogoReceiver.ACTION_ADAS_STATUS.equals(command)) { + String msg = intent.getStringExtra("adasMsg"); + if (TextUtils.isEmpty(msg)) { return; } - CarStateInfo stateInfo = GsonUtil.objectFromJson( msg, CarStateInfo.class ); - if ( stateInfo != null ) { - changeCarHeadstockDirection( stateInfo.getValues().getHeading() ); -// changeMyLocation( stateInfo.getValues() ); + CarStateInfo stateInfo = GsonUtil.objectFromJson(msg, CarStateInfo.class); + if (stateInfo != null) { + changeCarHeadstockDirection(stateInfo.getValues().getHeading()); + // changeMyLocation( stateInfo.getValues() ); } - } else if ( ServiceConst.COMMAND_OPERATION.equals( command ) ) { + } else if (ServiceConst.COMMAND_OPERATION.equals(command)) { try { - JSONObject object = new JSONObject( intent.getStringExtra( "data" ) ); - String app = object.optString( "object" ); - String operation = object.optString( "operation" ); - if ( TextUtils.equals( app, "车聊聊" ) ) { - if ( TextUtils.equals( "打开", operation ) ) { - switchCard2( ServiceConst.CARD_TYPE_CARS_CHATTING ); + JSONObject object = new JSONObject(intent.getStringExtra("data")); + String app = object.optString("object"); + String operation = object.optString("operation"); + if (TextUtils.equals(app, "车聊聊")) { + if (TextUtils.equals("打开", operation)) { + switchCard2(ServiceConst.CARD_TYPE_CARS_CHATTING); } } - } catch ( JSONException e ) { + } catch (JSONException e) { e.printStackTrace(); } - } else if ( MogoReceiver.ACTION_VOICE_READY.equals( command ) ) { - AIAssist.getInstance( mContext ).flush(); - } else if ( ServiceConst.COMMAND_MY_LOCATION.equals( command ) ) { - if ( mStatusManager.isSearchUIShow() ) { + } else if (MogoReceiver.ACTION_VOICE_READY.equals(command)) { + AIAssist.getInstance(mContext).flush(); + } else if (ServiceConst.COMMAND_MY_LOCATION.equals(command)) { + if (mStatusManager.isSearchUIShow()) { return; } - if ( mStatusManager.isMainPageOnResume() ) { + if (mStatusManager.isMainPageOnResume()) { mUiController.recoverLockMode(); } - } else if ( MogoReceiver.ACTION_MOCK.equals( command ) ) { - final int oper = intent.getIntExtra( "oper", -1 ); - switch ( oper ) { + } else if (MogoReceiver.ACTION_MOCK.equals(command)) { + final int oper = intent.getIntExtra("oper", -1); + switch (oper) { case 1: - mUiController.showMyLocation( true ); + mUiController.showMyLocation(true); break; } } @@ -833,144 +838,155 @@ public class MogoServices implements IMogoMapListener, /** * 切换卡片 - * - * @param card */ - private void switchCard2( String card ) { - if ( isApplicationBroughtToBackground( mContext ) ) { - mLauncher.backToLauncher( mContext ); - UiThreadHandler.postDelayed( () -> { - if ( mStatusManager.isADASShow() ) { + private void switchCard2(String card) { + if (isApplicationBroughtToBackground(mContext)) { + mLauncher.backToLauncher(mContext); + UiThreadHandler.postDelayed(() -> { + if (mStatusManager.isADASShow()) { mADASController.closeADAS(); } - mCardManager.switch2( card, true ); - }, 2000L ); + mCardManager.switch2(card, true); + }, 2000L); } else { mFragmentManager.clearAll(); - if ( mStatusManager.isADASShow() ) { + if (mStatusManager.isADASShow()) { mADASController.closeADAS(); } - mCardManager.switch2( card, true ); + mCardManager.switch2(card, true); } } - private boolean isApplicationBroughtToBackground( final Context context ) { - ActivityManager am = ( ActivityManager ) context.getSystemService( Context.ACTIVITY_SERVICE ); - List< ActivityManager.RunningTaskInfo > tasks = am.getRunningTasks( 1 ); - if ( !tasks.isEmpty() ) { - ComponentName topActivity = tasks.get( 0 ).topActivity; - if ( !topActivity.getPackageName().equals( context.getPackageName() ) ) { + private boolean isApplicationBroughtToBackground(final Context context) { + ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); + List tasks = am.getRunningTasks(1); + if (!tasks.isEmpty()) { + ComponentName topActivity = tasks.get(0).topActivity; + if (!topActivity.getPackageName().equals(context.getPackageName())) { return true; } } return false; } - private void changeCarHeadstockDirection( final double degree ) { - if ( mNavi.isNaviing() ) { + private void changeCarHeadstockDirection(final double degree) { + if (mNavi.isNaviing()) { return; } - if ( mStatusManager.isSearchUIShow() ) { + if (mStatusManager.isSearchUIShow()) { return; } - if ( !mStatusManager.isMainPageOnResume() ) { + if (!mStatusManager.isMainPageOnResume()) { return; } - if ( mUiController.getCurrentUiMode() != EnumMapUI.NorthUP_2D ) { + if (mUiController.getCurrentUiMode() != EnumMapUI.NorthUP_2D) { return; } - UiThreadHandler.post( () -> { + UiThreadHandler.post(() -> { - mUiController.showMyLocation( inflateCursorView( degree ) ); - } ); + mUiController.showMyLocation(inflateCursorView(degree)); + }); } - private View inflateCursorView( double degree ) { - View view = View.inflate( mContext, R.layout.map_amap_cursor, null ); - view.setRotation( ( float ) degree ); + private View inflateCursorView(double degree) { + View view = View.inflate(mContext, R.layout.map_amap_cursor, null); + view.setRotation((float) degree); return view; } - private void changeMyLocation( CarStateInfo.ValuesBean valuesBean ) { - if ( valuesBean == null ) { + 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() ); + Location location = new Location(LocationManager.GPS_PROVIDER); + location.setAltitude(valuesBean.getAlt()); + location.setLatitude(valuesBean.getLat()); + location.setLongitude(valuesBean.getLon()); } /** * 注册桌面免唤醒指令 */ private void registerInternalUnWakeupWords() { - if ( mInternalUnWakeupRegisterStatus ) { + if (mInternalUnWakeupRegisterStatus) { return; } mInternalUnWakeupRegisterStatus = true; - AIAssist.getInstance( mContext ).registerUnWakeupCommand( ServiceConst.CMD_UN_WAKE_PREV, ServiceConst.CMD_UN_WAKE_PREV_UN_WAKE_WORDS, this ); - AIAssist.getInstance( mContext ).registerUnWakeupCommand( ServiceConst.CMD_UN_WAKE_NEXT, ServiceConst.CMD_UN_WAKE_NEXT_UN_WAKE_WORDS, this ); - AIAssist.getInstance( mContext ).registerUnWakeupCommand( ServiceConst.CMD_UN_WAKEUP_MY_LOCATION, ServiceConst.CMD_UN_WAKEUP_WORDS_MY_LOCATION, this ); + AIAssist.getInstance(mContext) + .registerUnWakeupCommand(ServiceConst.CMD_UN_WAKE_PREV, + ServiceConst.CMD_UN_WAKE_PREV_UN_WAKE_WORDS, this); + AIAssist.getInstance(mContext) + .registerUnWakeupCommand(ServiceConst.CMD_UN_WAKE_NEXT, + ServiceConst.CMD_UN_WAKE_NEXT_UN_WAKE_WORDS, this); + AIAssist.getInstance(mContext) + .registerUnWakeupCommand(ServiceConst.CMD_UN_WAKEUP_MY_LOCATION, + ServiceConst.CMD_UN_WAKEUP_WORDS_MY_LOCATION, this); } /** * 注销桌面免唤醒指令 */ private void unregisterInternalUnWakeupWords() { - if ( !mInternalUnWakeupRegisterStatus ) { + if (!mInternalUnWakeupRegisterStatus) { return; } mInternalUnWakeupRegisterStatus = false; - AIAssist.getInstance( mContext ).unregisterUnWakeupCommand( ServiceConst.CMD_UN_WAKE_PREV, this ); - AIAssist.getInstance( mContext ).unregisterUnWakeupCommand( ServiceConst.CMD_UN_WAKE_NEXT, this ); - AIAssist.getInstance( mContext ).unregisterUnWakeupCommand( ServiceConst.CMD_UN_WAKEUP_MY_LOCATION, this ); + AIAssist.getInstance(mContext) + .unregisterUnWakeupCommand(ServiceConst.CMD_UN_WAKE_PREV, this); + AIAssist.getInstance(mContext) + .unregisterUnWakeupCommand(ServiceConst.CMD_UN_WAKE_NEXT, this); + AIAssist.getInstance(mContext) + .unregisterUnWakeupCommand(ServiceConst.CMD_UN_WAKEUP_MY_LOCATION, this); } @Override - public void onCmdSelected( String cmd ) { - if ( TextUtils.equals( ServiceConst.CMD_UN_WAKE_PREV, cmd ) ) { - mActionManager.invoke( MapMarkerManager.getInstance().getCurrentModuleName(), MogoAction.Prev ); - } else if ( TextUtils.equals( ServiceConst.CMD_UN_WAKE_NEXT, cmd ) ) { - mActionManager.invoke( MapMarkerManager.getInstance().getCurrentModuleName(), MogoAction.Next ); - } else if ( TextUtils.equals( ServiceConst.CMD_UN_WAKEUP_MY_LOCATION, cmd ) ) { - if ( mStatusManager.isMainPageOnResume() ) { + public void onCmdSelected(String cmd) { + if (TextUtils.equals(ServiceConst.CMD_UN_WAKE_PREV, cmd)) { + mActionManager.invoke(MapMarkerManager.getInstance().getCurrentModuleName(), + MogoAction.Prev); + } else if (TextUtils.equals(ServiceConst.CMD_UN_WAKE_NEXT, cmd)) { + mActionManager.invoke(MapMarkerManager.getInstance().getCurrentModuleName(), + MogoAction.Next); + } else if (TextUtils.equals(ServiceConst.CMD_UN_WAKEUP_MY_LOCATION, cmd)) { + if (mStatusManager.isMainPageOnResume()) { mUiController.recoverLockMode(); } - } else if ( TextUtils.equals( ServiceConst.CMD_BACK, cmd ) ) { + } else if (TextUtils.equals(ServiceConst.CMD_BACK, cmd)) { mFragmentManager.clearAll(); } } @Override - public void onCmdAction( String speakText ) { + public void onCmdAction(String speakText) { } @Override - public void onCmdCancel( String speakText ) { + public void onCmdCancel(String speakText) { } @Override - public void onSpeakEnd( String speakText ) { + public void onSpeakEnd(String speakText) { } @Override - public void onSpeakSelectTimeOut( String speakText ) { + public void onSpeakSelectTimeOut(String speakText) { } @Override - public void onTransaction( int size ) { - if ( size == 0 ) { - mUiController.setPointToCenter( 0.66145, 0.661094 ); - - AIAssist.getInstance( mContext ).unregisterUnWakeupCommand( ServiceConst.CMD_BACK ); + public void onTransaction(int size) { + if (size == 0) { + mUiController.setPointToCenter(0.66145, 0.661094); + mUiController.showMyLocation(!mNavi.isNaviing()); + AIAssist.getInstance(mContext).unregisterUnWakeupCommand(ServiceConst.CMD_BACK); } else { - AIAssist.getInstance( mContext ).registerUnWakeupCommand( ServiceConst.CMD_BACK, ServiceConst.CMD_BACK_WORDS, this ); - mUiController.setPointToCenter( 0.5, 0.5 ); + mUiController.showMyLocation(false); + AIAssist.getInstance(mContext) + .registerUnWakeupCommand(ServiceConst.CMD_BACK, ServiceConst.CMD_BACK_WORDS, this); + mUiController.setPointToCenter(0.5, 0.5); } } }