From df18131405ef15e63297037da4a65a67d6ca1fe7 Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Fri, 27 Mar 2020 13:52:24 +0800 Subject: [PATCH] opt --- .../com/mogo/module/main/MainActivity.java | 6 +- .../main/cards/CardIntroduceConfigs.java | 82 ++- .../module/main/cards/MogoModulesManager.java | 12 +- .../com/mogo/module/service/MogoServices.java | 618 +++++++++--------- 4 files changed, 381 insertions(+), 337 deletions(-) diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java index dde1f24783..a3c1ea3cde 100644 --- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java @@ -25,6 +25,8 @@ import com.mogo.map.uicontroller.IMogoMapUIController; import com.mogo.module.common.MogoModule; import com.mogo.module.common.MogoModulePaths; import com.mogo.module.main.assist.MapBroadCastHelper; +import com.mogo.module.main.cards.CardIntroduceConfig; +import com.mogo.module.main.cards.CardIntroduceConfigs; import com.mogo.module.main.cards.CardModulesAdapter; import com.mogo.module.main.cards.HorizentalStackTransformer; import com.mogo.module.main.cards.MogoModulesHandler; @@ -198,7 +200,8 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme mCardCoverUpBottomLayout = findViewById( R.id.module_main_id_card_cover_up_bottom ); // 避免事件穿透导致地图被滑动 - mLeftShadowFrame.setOnClickListener( view -> {} ); + mLeftShadowFrame.setOnClickListener( view -> { + } ); WindowViewHandler.init( mFloatingLayout ); } @@ -378,6 +381,7 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme MapBroadCastHelper.getInstance( this ).mapBackground(); super.onPause(); mMogoStatusManager.setMainPageResumeStatus( TAG, false ); + CardIntroduceConfigs.flush( getApplicationContext() ); } @Override diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/CardIntroduceConfigs.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/CardIntroduceConfigs.java index 1d2434e2ec..3c928968d1 100644 --- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/CardIntroduceConfigs.java +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/CardIntroduceConfigs.java @@ -1,7 +1,17 @@ package com.mogo.module.main.cards; -import com.mogo.module.common.ModuleNames; +import android.content.Context; +import com.mogo.commons.voice.AIAssist; +import com.mogo.commons.voice.VoicePreemptType; +import com.mogo.module.common.ModuleNames; +import com.mogo.utils.CommonUtils; +import com.mogo.utils.WorkThreadHandler; +import com.mogo.utils.logger.Logger; +import com.mogo.utils.network.utils.GsonUtil; +import com.mogo.utils.storage.SharedPrefsMgr; + +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -14,34 +24,66 @@ import java.util.Map; */ public class CardIntroduceConfigs { + private static final String TAG = "CardIntroduceConfigs"; + + public static final String KEY_VOICE_BROADCAST_CONFIG = "voice_broadcast_"; + public static String sBroadcastConfigKey; + public static Map< String, CardIntroduceConfig > sConfigs = new HashMap<>(); static { - sConfigs.put( ModuleNames.CARD_TYPE_BUSINESS_OPERATION, new CardIntroduceConfig( ModuleNames.CARD_TYPE_BUSINESS_OPERATION, "随时查看路况,可以对我说某某地点堵不堵", 0 ) ); - sConfigs.put( ModuleNames.CARD_TYPE_SHARE_MUSIC, new CardIntroduceConfig( ModuleNames.CARD_TYPE_SHARE_MUSIC, "", 0 ) ); - sConfigs.put( ModuleNames.CARD_TYPE_CARS_CHATTING, new CardIntroduceConfig( ModuleNames.CARD_TYPE_CARS_CHATTING, "", 0 ) ); - sConfigs.put( ModuleNames.CARD_TYPE_ROAD_CONDITION, new CardIntroduceConfig( ModuleNames.CARD_TYPE_ROAD_CONDITION, "", 0 ) ); - sConfigs.put( ModuleNames.CARD_TYPE_USER_DATA, new CardIntroduceConfig( ModuleNames.CARD_TYPE_USER_DATA, "", 0 ) ); - sConfigs.put( ModuleNames.CARD_TYPE_NOVELTY, new CardIntroduceConfig( ModuleNames.CARD_TYPE_NOVELTY, "", 0 ) ); + sConfigs.put( ModuleNames.CARD_TYPE_BUSINESS_OPERATION, new CardIntroduceConfig( ModuleNames.CARD_TYPE_BUSINESS_OPERATION, "", 3 ) ); + sConfigs.put( ModuleNames.CARD_TYPE_SHARE_MUSIC, new CardIntroduceConfig( ModuleNames.CARD_TYPE_SHARE_MUSIC, "音乐新闻听书,海量资源随你选", 0 ) ); + sConfigs.put( ModuleNames.CARD_TYPE_CARS_CHATTING, new CardIntroduceConfig( ModuleNames.CARD_TYPE_CARS_CHATTING, "开车无聊,就用车聊聊", 0 ) ); + sConfigs.put( ModuleNames.CARD_TYPE_ROAD_CONDITION, new CardIntroduceConfig( ModuleNames.CARD_TYPE_ROAD_CONDITION, "随时查看路况,可以对我说某某地点堵不堵", 0 ) ); + sConfigs.put( ModuleNames.CARD_TYPE_USER_DATA, new CardIntroduceConfig( ModuleNames.CARD_TYPE_USER_DATA, "在线车辆,邀你在地图上发现万千有趣的车友", 0 ) ); + sConfigs.put( ModuleNames.CARD_TYPE_NOVELTY, new CardIntroduceConfig( ModuleNames.CARD_TYPE_NOVELTY, "新鲜事,邀你给同城车友分享沿途封路、拥堵消息", 0 ) ); } - public static CardIntroduceConfig getConfig( String type ) { - return sConfigs.get( type ); - } + public static void init( Context context ) { - public static void init( List< CardIntroduceConfig > configs ) { - if ( configs == null ) { - return; - } - for ( CardIntroduceConfig config : configs ) { - if ( config == null ) { + WorkThreadHandler.getInstance().post( () -> { + sBroadcastConfigKey = KEY_VOICE_BROADCAST_CONFIG + CommonUtils.getVersionCode( context ); + String configsStr = SharedPrefsMgr.getInstance( context ).getString( sBroadcastConfigKey ); + List< CardIntroduceConfig > configs = GsonUtil.arrayFromJson( configsStr, CardIntroduceConfig.class ); + if ( configs == null ) { return; } - sConfigs.put( config.cardType, config ); - } + for ( CardIntroduceConfig config : configs ) { + if ( config == null ) { + return; + } + sConfigs.put( config.cardType, config ); + } + } ); } - public static void increase( String type ) { - + public static void broadcast( Context context, String type ) { + if ( sConfigs.get( type ) == null ) { + Logger.d( TAG, "un support %s", type ); + return; + } + if ( sConfigs.get( type ).broadcastAmount >= 3 ) { + Logger.d( TAG, "do not broadcast %s cast amount = %s", type, type ); + return; + } + + CardIntroduceConfig config = sConfigs.get( type ); + config.broadcastAmount++; + + Logger.d( TAG, "speak card introduce: %s", config.broadcastWords ); + AIAssist.getInstance( context ).speakTTSVoice( config.broadcastWords, VoicePreemptType.PREEMPT_TYPE_IMMEADIATELY, null ); + } + + public static void flush( Context context ) { + if ( sBroadcastConfigKey == null || sConfigs.isEmpty() ) { + return; + } + WorkThreadHandler.getInstance().post( () -> { + synchronized ( sConfigs ) { + ArrayList configs = new ArrayList( sConfigs.entrySet() ); + SharedPrefsMgr.getInstance( context ).putString( sBroadcastConfigKey, GsonUtil.jsonFromObject( configs ) ); + } + } ); } } diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java index f4be4c7567..fb8370c364 100644 --- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java @@ -69,7 +69,7 @@ public class MogoModulesManager implements MogoModulesHandler, private static final String TAG = "MogoModulesManager"; - public static final String KEY_VOICE_BROADCAST_CONFIG = "voice_broadcast_"; + private String mBroadcastConfigKey; private MainActivity mActivity; @@ -97,13 +97,7 @@ public class MogoModulesManager implements MogoModulesHandler, mMogoIntentManager = apis.getIntentManagerApi(); registerReceiver(); - - WorkThreadHandler.getInstance().post( () -> { - mBroadcastConfigKey = KEY_VOICE_BROADCAST_CONFIG + CommonUtils.getVersionCode( mActivity ); - String configsStr = SharedPrefsMgr.getInstance( mActivity ).getString( mBroadcastConfigKey ); - List< CardIntroduceConfig > configs = GsonUtil.arrayFromJson( configsStr, CardIntroduceConfig.class ); - CardIntroduceConfigs.init( configs ); - } ); + CardIntroduceConfigs.init( getContext() ); } private Context getContext() { @@ -288,6 +282,8 @@ public class MogoModulesManager implements MogoModulesHandler, mSortedCards.add( 0, mEnableModuleName ); SharedPrefsMgr.getInstance( getContext() ).putString( KEY_SORTED_CARD_MODULES, GsonUtil.jsonFromObject( mSortedCards ) ); Log.i( TAG, "enable & disable card cost " + ( System.currentTimeMillis() - start1 ) + "ms" ); + + CardIntroduceConfigs.broadcast( mActivity, mEnableModuleName ); } @Override 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 bf2913cbab..9fb7bd3426 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 @@ -81,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; @@ -165,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; @@ -199,13 +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,29 +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 ); } }; @@ -274,120 +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 modules = MogoModulePaths.getModules(); - if (modules.isEmpty() || modules == null) { + List< MogoModule > 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. " ); } } @@ -397,16 +397,16 @@ 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(); } } @@ -416,9 +416,9 @@ public class MogoServices implements IMogoMapListener, */ 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; } } @@ -428,57 +428,57 @@ public class MogoServices implements IMogoMapListener, */ 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; @@ -488,117 +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 ) ); } /** * 平移地图刷新策略 */ - 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 @@ -612,7 +612,7 @@ public class MogoServices implements IMogoMapListener, } @Override - public void onNaviInfoUpdate(MogoNaviInfo naviinfo) { + public void onNaviInfoUpdate( MogoNaviInfo naviinfo ) { } @Override @@ -624,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(); @@ -674,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 @@ -712,36 +712,36 @@ 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 ); @@ -760,70 +760,72 @@ public class MogoServices implements IMogoMapListener, } 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 ) + || TextUtils.equals( "媒体中心卡片", card ) + || 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()); + 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; } } @@ -832,154 +834,154 @@ public class MogoServices implements IMogoMapListener, /** * 切换卡片 */ - 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 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< ActivityManager.RunningTaskInfo > 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); - mUiController.showMyLocation(!mNavi.isNaviing()); - 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 { - mUiController.showMyLocation(false); - 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 ); } } }