diff --git a/gradle.properties b/gradle.properties
index 62ba842c5b..885d56c24a 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -33,8 +33,8 @@ MAP_AMAP_VERSION=1.2.1.5
MAP_AUTONAVI_VERSION=1.2.1.5
MOGO_MAP_VERSION=1.2.1.5
MOGO_MAP_API_VERSION=1.2.1.5
-MOGO_SERVICE_VERSION=1.2.1.5
-MOGO_SERVICE_API_VERSION=1.2.1.5
+MOGO_SERVICE_VERSION=1.2.1.6
+MOGO_SERVICE_API_VERSION=1.2.1.6
MOGO_CONNECTION_VERSION=1.2.1.5
MOGO_MODULE_APPS_VERSION=1.2.1.5
MOGO_MODULE_NAVI_VERSION=1.2.1.5
@@ -59,11 +59,11 @@ 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
+CARCHATTING_VERSION=1.0.7
# 车聊聊接口
-CARCHATTINGPROVIDER_VERSION=1.0.6
+CARCHATTINGPROVIDER_VERSION=1.0.7
# 视频引导
MOGO_MODULE_GUIDESHOW_VERSION=1.0.2-SNAPSHOT
# 视频引导接口
@@ -71,13 +71,13 @@ MOGO_MODULE_GUIDESHOW_PROVIDER_VERSION=1.0.2-SNAPSHOT
# 在线车辆F
MOGO_MODULE_ONLINECAR_VERSION=1.0.3.2
# v2x
-MOGO_MODULE_V2X_VERSION=1.1.24
+MOGO_MODULE_V2X_VERSION=1.1.25
# 推送
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-apps/src/main/java/com/mogo/module/apps/model/AppsModel.java b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/model/AppsModel.java
index a7be4b8197..7235c69ed9 100644
--- a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/model/AppsModel.java
+++ b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/model/AppsModel.java
@@ -36,7 +36,6 @@ public class AppsModel {
private AppsModel( Context context ) {
mContext = context;
- mAppFilter = new AppFilterImpl( context );
}
public static AppsModel getInstance( Context context ) {
@@ -69,6 +68,9 @@ public class AppsModel {
}
return;
}
+ if ( mAppFilter == null ) {
+ mAppFilter = new AppFilterImpl( mContext );
+ }
final PackageManager packageManager = mContext.getPackageManager();
List< PackageInfo > packages = packageManager.getInstalledPackages( 0 );
int counter = 0;
diff --git a/modules/mogo-module-authorize/src/main/res/layout/module_authorize_fragment.xml b/modules/mogo-module-authorize/src/main/res/layout/module_authorize_fragment.xml
index 5e5992f151..c8b7f7aa56 100644
--- a/modules/mogo-module-authorize/src/main/res/layout/module_authorize_fragment.xml
+++ b/modules/mogo-module-authorize/src/main/res/layout/module_authorize_fragment.xml
@@ -151,6 +151,8 @@
android:layout_height="0px"
android:layout_marginBottom="@dimen/dp_160"
android:scrollbarSize="@dimen/dp_207"
+ android:layout_marginTop="@dimen/dp_54"
+ android:scrollbarTrackHorizontal="@drawable/module_authorize_scrollbar"
android:scrollbarThumbVertical="@drawable/module_authorize_scrollbar"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
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..f3fec2a330 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
@@ -1,6 +1,5 @@
package com.mogo.module.main;
-import android.content.Intent;
import android.location.Location;
import android.view.MotionEvent;
@@ -21,10 +20,6 @@ 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.MogoReceiver;
-import com.mogo.service.intent.IMogoIntentListener;
-import com.mogo.service.intent.IMogoIntentManager;
-import com.mogo.service.module.IMogoModuleLifecycle;
import com.mogo.utils.logger.Logger;
import java.util.Iterator;
@@ -42,8 +37,7 @@ public class EventDispatchCenter implements
IMogoCarLocationChangedListener2,
IMogoMapListener,
IMogoNaviListener2,
- IMogoLocationListener,
- IMogoIntentListener {
+ IMogoLocationListener {
private static volatile EventDispatchCenter sInstance;
@@ -65,12 +59,6 @@ public class EventDispatchCenter implements
private static final String TAG = "DispatchCenter";
- 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 );
- }
-
@Override
public boolean onMarkerClicked( IMogoMarker marker ) {
IMogoMarkerClickListener listener = MogoRegisterCenterHandler.getInstance().getMarkerListener( marker.getOwner() );
@@ -436,32 +424,6 @@ public class EventDispatchCenter implements
Logger.i( TAG, "onLocationChanged event cost " + ( System.currentTimeMillis() - start ) + "ms" );
}
- @Override
- public void onIntentReceived( String intentStr, Intent intent ) {
-
- Iterator< IMogoModuleLifecycle > iterator = MogoRegisterCenterHandler.getInstance().getLifecycleListeners();
- if ( Intent.ACTION_POWER_CONNECTED.equals( intentStr ) ) {
- while ( iterator.hasNext() ) {
- IMogoModuleLifecycle lifecycle = iterator.next();
- if ( lifecycle != null ) {
- lifecycle.accOn();
- }
- }
- } 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 );
- if ( state == 1 ) {
- while ( iterator.hasNext() ) {
- IMogoModuleLifecycle lifecycle = iterator.next();
- if ( lifecycle != null ) {
- lifecycle.accOn();
- }
- }
- }
- }
- }
-
-
@Override
public void onArriveDestination() {
Iterator< IMogoNaviListener > iterator = MogoRegisterCenterHandler.getInstance().getNaviListeners();
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 876d4c01d2..71d7303ea9 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
@@ -60,7 +60,6 @@ public class MogoModulesManager implements MogoModulesHandler {
throw new NullPointerException( "activity can't be null." );
}
this.mActivity = activity;
- EventDispatchCenter.getInstance().registerReceiver( apis.getIntentManagerApi() );
}
private Context getContext() {
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 @@
* 卡片生命周期 */ +@Deprecated public interface IMogoModuleLifecycle { /** diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/statusmanager/IMogoStatusChangedListener.java b/services/mogo-service-api/src/main/java/com/mogo/service/statusmanager/IMogoStatusChangedListener.java index 908af22c34..47a501fb53 100644 --- a/services/mogo-service-api/src/main/java/com/mogo/service/statusmanager/IMogoStatusChangedListener.java +++ b/services/mogo-service-api/src/main/java/com/mogo/service/statusmanager/IMogoStatusChangedListener.java @@ -13,4 +13,14 @@ public interface IMogoStatusChangedListener { * @param isTrue true - accOn、adas ui show、voice ui show、push ui show、v2x ui show */ void onStatusChanged( StatusDescriptor descriptor, boolean isTrue ); + + /** + * 是否需要黏性状态: 先改变状态,后注册监听 + * + * @param descriptor 状态 + * @return 默认不需要 + */ + default boolean requestStickyStatus( StatusDescriptor descriptor ) { + return false; + } } diff --git a/services/mogo-service/src/main/java/com/mogo/service/impl/statusmanager/MogoStatusManager.java b/services/mogo-service/src/main/java/com/mogo/service/impl/statusmanager/MogoStatusManager.java index 06a9ce1779..b7e0eed831 100644 --- a/services/mogo-service/src/main/java/com/mogo/service/impl/statusmanager/MogoStatusManager.java +++ b/services/mogo-service/src/main/java/com/mogo/service/impl/statusmanager/MogoStatusManager.java @@ -227,14 +227,21 @@ public class MogoStatusManager implements IMogoStatusManager { } @Override - public void registerStatusChangedListener( String tag, StatusDescriptor descriptor, IMogoStatusChangedListener listeners ) { - if ( listeners == null || descriptor == null ) { + public void registerStatusChangedListener( String tag, StatusDescriptor descriptor, IMogoStatusChangedListener listener ) { + if ( listener == null || descriptor == null ) { return; } if ( !mListeners.containsKey( descriptor ) ) { mListeners.put( descriptor, new ArrayList<>() ); } - mListeners.get( descriptor ).add( listeners ); + mListeners.get( descriptor ).add( listener ); + + if ( listener.requestStickyStatus( descriptor ) ) { + Boolean val = mStatus.get( descriptor ); + if ( val != null ) { + listener.onStatusChanged( descriptor, get_bool_val( descriptor ) ); + } + } } @Override