diff --git a/foudations/mogo-utils/src/main/java/com/mogo/utils/ThreadPoolService.java b/foudations/mogo-utils/src/main/java/com/mogo/utils/ThreadPoolService.java index 53315efd95..3cde9bf8a9 100644 --- a/foudations/mogo-utils/src/main/java/com/mogo/utils/ThreadPoolService.java +++ b/foudations/mogo-utils/src/main/java/com/mogo/utils/ThreadPoolService.java @@ -2,10 +2,21 @@ package com.mogo.utils; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; +import java.util.concurrent.ThreadFactory; public class ThreadPoolService { - private static final ExecutorService SERVICE = Executors.newFixedThreadPool( 3 ); + private static final ExecutorService SERVICE = Executors.newFixedThreadPool( 3, new ThreadFactoryImpl() ); + + private static class ThreadFactoryImpl implements ThreadFactory { + + private static int mCounter = 1; + + @Override + public Thread newThread( Runnable r ) { + return new Thread( r, "ThreadPoolService - " + mCounter++ ); + } + } private ThreadPoolService() { } diff --git a/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/MogoTraffic.java b/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/MogoTraffic.java index 68ba4b2bdf..bfa29696ec 100644 --- a/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/MogoTraffic.java +++ b/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/MogoTraffic.java @@ -115,7 +115,7 @@ public class MogoTraffic { } public int getSpeedLimit() { - return mSpeedLimit; + return mSpeedLimit < 0 ? 0 : mSpeedLimit; } public void setSpeedLimit( int speedLimit ) { 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 da11006d9e..73e215fa53 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 @@ -217,6 +217,7 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme protected void onResume() { super.onResume(); mMogoStatusManager.setMainPageResumeStatus( TAG, true ); + mMogoStatusManager.setMainPageLaunchedStatus( TAG, true ); if ( mCoverUpLayout.getVisibility() != View.VISIBLE ) { mServiceApis.getAdasControllerApi().showADAS(); } @@ -226,6 +227,7 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme protected void onPause() { super.onPause(); mMogoStatusManager.setMainPageResumeStatus( TAG, false ); + mMogoStatusManager.setMainPageLaunchedStatus( TAG, false ); mServiceApis.getAdasControllerApi().closeADAS(); } 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 abdf1fe880..8a7f1e1c06 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 @@ -268,6 +268,8 @@ public class MogoServices implements IMogoMapListener, */ private int mCurrentLimit = 0; + private boolean mIsMainPageFirstResume = true; + public void init( Context context ) { mContext = context; @@ -483,6 +485,7 @@ public class MogoServices implements IMogoMapListener, } Logger.d( TAG, "stop auto refresh strategy" ); mHandler.removeMessages( ServiceConst.MSG_TYPE_REFRESH_DECREASE ); + MapMarkerManager.getInstance().stopAutoRefresh(); } @Override @@ -690,8 +693,13 @@ public class MogoServices implements IMogoMapListener, case MAIN_PAGE_RESUME: if ( isTrue ) { registerInternalUnWakeupWords(); + if ( !mIsMainPageFirstResume ) { + restartAutoRefreshAtTime( 2_000L ); + } + mIsMainPageFirstResume = false; } else { unregisterInternalUnWakeupWords(); + stopAutoRefreshStrategy(); } break; case SEEK_HELPING: @@ -741,7 +749,6 @@ public class MogoServices implements IMogoMapListener, delay = mRefreshRemainingTime; } mHandler.sendEmptyMessageDelayed( ServiceConst.MSG_TYPE_REFRESH_DECREASE, delay ); - MapMarkerManager.getInstance().stopAutoRefresh(); Logger.i( TAG, "下次刷新时间:%ss后", mRefreshRemainingTime ); } @@ -762,6 +769,7 @@ public class MogoServices implements IMogoMapListener, } mCurrentLimit = traffic.getSpeedLimit(); + Logger.i( TAG, "speed = %d, desc = %s", traffic.getSpeedLimit(), traffic.getDesc() ); // 发送当前限速到 adas Intent intent = new Intent( "com.mogo.launcher.adas" ); diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/MockIntentHandler.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/MockIntentHandler.java index 32b7f71448..dc31c16fb9 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/MockIntentHandler.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/MockIntentHandler.java @@ -52,7 +52,7 @@ public class MockIntentHandler implements IntentHandler { final int oper = intent.getIntExtra( "oper", -1 ); switch ( oper ) { case 1: - MarkerServiceHandler.getMapUIController().showMyLocation( true ); + MarkerServiceHandler.getMapUIController().showMyLocation( intent.getBooleanExtra( "status", true ) ); break; case 2: boolean status = intent.getBooleanExtra( "status", false ); diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java index fd89e2c69f..e292dd6a94 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java @@ -741,7 +741,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener, int radius, boolean fitBounds ) { - if( DebugConfig.isDebug() ){ + if ( DebugConfig.isDebug() ) { if ( !DebugConfig.isRequestOnlineCarData() ) { return; } @@ -891,6 +891,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener, private boolean ignoreDrawRequest() { return MarkerServiceHandler.getMogoStatusManager().isSearchUIShow() || MarkerServiceHandler.getMogoStatusManager().isV2XShow() + || !MarkerServiceHandler.getMogoStatusManager().isMainPageLaunched() || !MarkerServiceHandler.getMogoStatusManager().isMainPageLaunched(); }