diff --git a/.idea/misc.xml b/.idea/misc.xml
index 2dc54c489f..707ee6e613 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -1,6 +1,6 @@
-
+
\ No newline at end of file
diff --git a/gradle.properties b/gradle.properties
index 62ba842c5b..e2535ac6e4 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -59,7 +59,7 @@ MOGO_MODULE_MAIN_INDEPENDENT_VERSION = 1.2.1.5
## 工程外部模块
# 探路
-MOGO_MODULE_TANLU_VERSION=1.1.0.1-SNAPSHOT
+MOGO_MODULE_TANLU_VERSION=1.2.1.1
# 车聊聊
CARCHATTING_VERSION=1.0.6
# 车聊聊接口
@@ -77,7 +77,7 @@ MOGO_MODULE_PUSH_VERSION=1.0.1
# 广告资源位
MOGO_MODULE_AD_CARD_VERSION=1.0.1
# 探路上报和分享模块
-TANLULIB_VERSION=1.0.2-SNAPSHOT
+TANLULIB_VERSION=1.2.1.1
## 产品库必备配置
applicationId=com.mogo.launcer
diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/EventDispatchCenter.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/EventDispatchCenter.java
index 937548ba6e..9416d12b43 100644
--- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/EventDispatchCenter.java
+++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/EventDispatchCenter.java
@@ -21,6 +21,7 @@ import com.mogo.map.navi.MogoNaviInfo;
import com.mogo.map.navi.MogoTraffic;
import com.mogo.map.uicontroller.EnumMapUI;
import com.mogo.module.main.registercenter.MogoRegisterCenterHandler;
+import com.mogo.module.service.receiver.AccStatusReceiver;
import com.mogo.module.service.receiver.MogoReceiver;
import com.mogo.service.intent.IMogoIntentListener;
import com.mogo.service.intent.IMogoIntentManager;
@@ -68,7 +69,7 @@ public class EventDispatchCenter implements
public void registerReceiver( IMogoIntentManager intentManager ) {
intentManager.registerIntentListener( Intent.ACTION_POWER_CONNECTED, this );
intentManager.registerIntentListener( Intent.ACTION_POWER_DISCONNECTED, this );
- intentManager.registerIntentListener( MogoReceiver.ACTION_NWD_ACC, this );
+ intentManager.registerIntentListener( AccStatusReceiver.ACTION_NWD_ACC, this );
}
@Override
@@ -448,8 +449,8 @@ public class EventDispatchCenter implements
}
}
} else if ( Intent.ACTION_POWER_DISCONNECTED.equals( intentStr ) ) {
- } else if ( MogoReceiver.ACTION_NWD_ACC.equals( intentStr ) ) {
- int state = intent.getByteExtra( MogoReceiver.PARAM_ACC_STATUS, ( byte ) 0 );
+ } else if ( AccStatusReceiver.ACTION_NWD_ACC.equals( intentStr ) ) {
+ int state = intent.getByteExtra( AccStatusReceiver.PARAM_ACC_STATUS, ( byte ) 0 );
if ( state == 1 ) {
while ( iterator.hasNext() ) {
IMogoModuleLifecycle lifecycle = iterator.next();
diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/service/MogoMainService.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/service/MogoMainService.java
index ce556acb4c..3a979612ae 100644
--- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/service/MogoMainService.java
+++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/service/MogoMainService.java
@@ -27,7 +27,7 @@ public
*
* 描述
*/
-@Route( path = "/service/base/info" )
+@Route(path = "/service/base/info")
class MogoMainService extends Service implements IMogoLocationListener {
private static final String TAG = "MogoMainService";
@@ -40,11 +40,11 @@ class MogoMainService extends Service implements IMogoLocationListener {
@Override
public void onCreate() {
- Logger.d( TAG, "基本服务启动" );
- mServiceApis = ( IMogoServiceApis ) ARouter.getInstance().build( MogoServicePaths.PATH_SERVICE_APIS ).navigation();
+ Logger.d(TAG, "基本服务启动");
+ mServiceApis = (IMogoServiceApis) ARouter.getInstance().build(MogoServicePaths.PATH_SERVICE_APIS).navigation();
initAndStartLocation();
initGpsSimulatorListener();
- UiThreadHandler.postDelayed( () -> {
+ UiThreadHandler.postDelayed(() -> {
loadBaseModules();
startTanluService();
initADAS();
@@ -54,49 +54,53 @@ class MogoMainService extends Service implements IMogoLocationListener {
@Nullable
@Override
- public IBinder onBind( Intent intent ) {
+ public IBinder onBind(Intent intent) {
return null;
}
@Override
- public int onStartCommand( Intent intent, int flags, int startId ) {
+ public int onStartCommand(Intent intent, int flags, int startId) {
return START_STICKY;
}
private void initAndStartLocation() {
- Logger.d( TAG, "开始定位" );
- mLocationClient = mServiceApis.getMapServiceApi().getSingletonLocationClient( AbsMogoApplication.getApp() );
- mLocationClient.addLocationListener( this );
- mLocationClient.start( 2_000L );
+ Logger.d(TAG, "开始定位");
+ mLocationClient = mServiceApis.getMapServiceApi().getSingletonLocationClient(AbsMogoApplication.getApp());
+ mLocationClient.addLocationListener(this);
+ mLocationClient.start(2_000L);
}
private void initGpsSimulatorListener() {
- mServiceApis.getMapServiceApi().getNavi( this ).registerCarLocationChangedListener( EventDispatchCenter.getInstance() );
+ mServiceApis.getMapServiceApi().getNavi(this).registerCarLocationChangedListener(EventDispatchCenter.getInstance());
}
private void loadBaseModules() {
- Logger.d( TAG, "加载基本模块" );
+ Logger.d(TAG, "加载基本模块");
MogoModulesManager.getInstance().loadBaseModule();
}
private void startTanluService() {
- MainService.Companion.launchService( getApplicationContext(), "0" );
+ UiThreadHandler.postDelayed(() -> {
+ Logger.d(TAG, "startTanluService ---------- ");
+ MainService.Companion.launchService(getApplicationContext(), "0");
+ }, 58_000L
+ );
}
private void initADAS() {
- mServiceApis.getAdasControllerApi().init( AbsMogoApplication.getApp() );
+ mServiceApis.getAdasControllerApi().init(AbsMogoApplication.getApp());
}
@Override
- public void onLocationChanged( MogoLocation location ) {
- EventDispatchCenter.getInstance().onLocationChanged( location );
+ public void onLocationChanged(MogoLocation location) {
+ EventDispatchCenter.getInstance().onLocationChanged(location);
}
@Override
public void onDestroy() {
super.onDestroy();
- if ( mLocationClient != null ) {
- mLocationClient.removeLocationListener( this );
+ if (mLocationClient != null) {
+ mLocationClient.removeLocationListener(this);
mLocationClient.stop();
mLocationClient.destroy();
mLocationClient = null;
diff --git a/modules/mogo-module-service/src/main/AndroidManifest.xml b/modules/mogo-module-service/src/main/AndroidManifest.xml
index 3ef5034430..8eb5a9dd2c 100644
--- a/modules/mogo-module-service/src/main/AndroidManifest.xml
+++ b/modules/mogo-module-service/src/main/AndroidManifest.xml
@@ -1,2 +1,15 @@
+ package="com.mogo.module.service" >
+
+
+
+
+
+
+
+
+
+
+
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MarkerServiceHandler.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MarkerServiceHandler.java
index c76e7b3193..cb7fa6a938 100644
--- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MarkerServiceHandler.java
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MarkerServiceHandler.java
@@ -65,7 +65,12 @@ public class MarkerServiceHandler {
private static MapMarkerManager sMapMarkerManager;
- public static void init( final Context context ) {
+ public static synchronized void init( final Context context ) {
+
+ if ( sGpsSimulatorManager != null ) {
+ return;
+ }
+
sApis = ( IMogoServiceApis ) ARouter.getInstance().build( MogoServicePaths.PATH_SERVICE_APIS ).navigation( context );
sMapService = sApis.getMapServiceApi();
sImageloader = sApis.getImageLoaderApi();
@@ -85,7 +90,7 @@ public class MarkerServiceHandler {
sLauncher = sApis.getLauncherApi();
sFragmentManager = sApis.getFragmentManagerApi();
- sCarChatting = (ICarsChattingProvider)ARouter.getInstance().build( CallChattingProviderConstant.CAR_CALL_PROVIDER ).navigation( context );
+ sCarChatting = ( ICarsChattingProvider ) ARouter.getInstance().build( CallChattingProviderConstant.CAR_CALL_PROVIDER ).navigation( context );
sMapMarkerManager = MapMarkerManager.getInstance();
sMapMarkerManager.init( context );
@@ -93,7 +98,7 @@ public class MarkerServiceHandler {
sGpsSimulatorManager = ARouter.getInstance().navigation( IMogoGpsSimulatorManager.class );
}
- public static IMogoServiceApis getApis(){
+ public static IMogoServiceApis getApis() {
return sApis;
}
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 ca22d02c50..9d6c450152 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
@@ -302,9 +302,6 @@ public class MogoServices implements IMogoMapListener,
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 );
@@ -403,10 +400,6 @@ public class MogoServices implements IMogoMapListener,
}
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( MogoReceiver.ACTION_VOICE_UI );
filter.addAction( MogoReceiver.ACTION_ADAS_STATUS );
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/AccStatusIntentHandler.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/AccStatusIntentHandler.java
index b9f14e92da..5a9def8162 100644
--- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/AccStatusIntentHandler.java
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/AccStatusIntentHandler.java
@@ -5,6 +5,7 @@ import android.content.Intent;
import com.mogo.module.service.MarkerServiceHandler;
import com.mogo.module.service.ServiceConst;
+import com.mogo.module.service.receiver.AccStatusReceiver;
import com.mogo.module.service.receiver.MogoReceiver;
import com.mogo.utils.logger.Logger;
@@ -47,8 +48,8 @@ class AccStatusIntentHandler implements IntentHandler {
} else if ( Intent.ACTION_POWER_DISCONNECTED.equals( action ) ) {
MarkerServiceHandler.getMogoStatusManager().setAccStatus( ServiceConst.TYPE, false );
Logger.d( TAG, "acc status: %s", false );
- } else if ( MogoReceiver.ACTION_NWD_ACC.equals( action ) ) {
- int state = intent.getByteExtra( MogoReceiver.PARAM_ACC_STATUS, ( byte ) 0 );
+ } else if ( AccStatusReceiver.ACTION_NWD_ACC.equals( action ) ) {
+ int state = intent.getByteExtra( AccStatusReceiver.PARAM_ACC_STATUS, ( byte ) 0 );
Logger.d( TAG, "acc status: %s", state == 1 );
MarkerServiceHandler.getMogoStatusManager().setAccStatus( ServiceConst.TYPE, state == 1 );
}
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/IntentHandlerFactory.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/IntentHandlerFactory.java
index d67957cb8f..ea84b182e2 100644
--- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/IntentHandlerFactory.java
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/IntentHandlerFactory.java
@@ -4,6 +4,7 @@ import android.content.Context;
import android.content.Intent;
import com.mogo.module.service.ServiceConst;
+import com.mogo.module.service.receiver.AccStatusReceiver;
import com.mogo.module.service.receiver.MogoReceiver;
import java.util.HashMap;
@@ -31,7 +32,7 @@ public class IntentHandlerFactory {
mHandlers.put( MogoReceiver.ACTION_VOICE_UI, new VoiceUiIntentHandler() );
mHandlers.put( Intent.ACTION_POWER_CONNECTED, AccStatusIntentHandler.getInstance() );
mHandlers.put( Intent.ACTION_POWER_DISCONNECTED, AccStatusIntentHandler.getInstance() );
- mHandlers.put( MogoReceiver.ACTION_NWD_ACC, AccStatusIntentHandler.getInstance() );
+ mHandlers.put( AccStatusReceiver.ACTION_NWD_ACC, AccStatusIntentHandler.getInstance() );
mHandlers.put( MogoReceiver.ACTION_ADAS_STATUS, ADASStatusIntentHandler.getInstance() );
mHandlers.put( MogoReceiver.ACTIION_ADAS, ADASStatusIntentHandler.getInstance() );
mHandlers.put( MogoReceiver.ACTION_VOICE_READY, new AIAssistIntentHandler() );
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/receiver/AccStatusReceiver.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/receiver/AccStatusReceiver.java
new file mode 100644
index 0000000000..a5d1c55c1c
--- /dev/null
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/receiver/AccStatusReceiver.java
@@ -0,0 +1,30 @@
+package com.mogo.module.service.receiver;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+
+import com.mogo.module.service.MarkerServiceHandler;
+import com.mogo.module.service.intent.IntentHandlerFactory;
+
+public
+/**
+ * @author congtaowang
+ * @since 2020/6/19
+ *
+ * 描述
+ */
+class AccStatusReceiver extends BroadcastReceiver {
+
+ // 诺威达 acc 状态
+ public static final String PARAM_ACC_STATUS = "extra_mcu_state";
+
+ // 诺威达 acc 状态
+ public static final String ACTION_NWD_ACC = "com.nwd.action.ACTION_MCU_STATE_CHANGE";
+
+ @Override
+ public void onReceive( Context context, Intent intent ) {
+ MarkerServiceHandler.init( context );
+ IntentHandlerFactory.getInstance().handle( context, intent.getAction(), intent );
+ }
+}
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/receiver/MogoReceiver.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/receiver/MogoReceiver.java
index ede5636b6e..42f9bef659 100644
--- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/receiver/MogoReceiver.java
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/receiver/MogoReceiver.java
@@ -7,6 +7,7 @@ import android.text.TextUtils;
import com.alibaba.android.arouter.launcher.ARouter;
import com.mogo.commons.voice.VoiceIntentTrack;
+import com.mogo.module.service.MarkerServiceHandler;
import com.mogo.service.MogoServicePaths;
import com.mogo.service.intent.IMogoIntentManager;
import com.mogo.utils.logger.Logger;
@@ -34,12 +35,6 @@ public class MogoReceiver extends BroadcastReceiver {
// ADAS 状态 0 - 关闭 1 - 打开
public static final String PARAM_ADAS_STATUS = "adas_drawer_status";
- // 诺威达 acc 状态
- public static final String ACTION_NWD_ACC = "com.nwd.action.ACTION_MCU_STATE_CHANGE";
-
- // 诺威达 acc 状态
- public static final String PARAM_ACC_STATUS = "extra_mcu_state";
-
// 小智语音唤醒UI
public static final String ACTION_VOICE_UI = "com.zhidao.xiaozhi.wake.status";
public static final String PARRAM_WAKE_STATUS = "WAKE_STATUS";
@@ -61,7 +56,7 @@ public class MogoReceiver extends BroadcastReceiver {
private IMogoIntentManager mMogoIntentManager;
public MogoReceiver(Context context) {
- mMogoIntentManager = (IMogoIntentManager) ARouter.getInstance().build(MogoServicePaths.PATH_INTENT_MANAGER).navigation(context);
+ mMogoIntentManager = MarkerServiceHandler.getIntentManager();
}
@Override