Merge remote-tracking branch 'origin/dev_custom_map' into dev_custom_map

This commit is contained in:
jiaguofeng
2020-06-19 15:37:36 +08:00
9 changed files with 57 additions and 68 deletions

View File

@@ -34,8 +34,8 @@ MAP_CUSTOM_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
@@ -60,11 +60,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
# 视频引导接口
@@ -78,7 +78,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

View File

@@ -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"

View File

@@ -1,6 +1,5 @@
package com.mogo.module.main;
import android.content.Intent;
import android.location.Location;
import android.view.MotionEvent;
@@ -21,11 +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.AccStatusReceiver;
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;
@@ -43,8 +37,7 @@ public class EventDispatchCenter implements
IMogoCarLocationChangedListener2,
IMogoMapListener,
IMogoNaviListener2,
IMogoLocationListener,
IMogoIntentListener {
IMogoLocationListener {
private static volatile EventDispatchCenter sInstance;
@@ -66,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( AccStatusReceiver.ACTION_NWD_ACC, this );
}
@Override
public boolean onMarkerClicked( IMogoMarker marker ) {
IMogoMarkerClickListener listener = MogoRegisterCenterHandler.getInstance().getMarkerListener( marker.getOwner() );
@@ -437,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 ( 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();
if ( lifecycle != null ) {
lifecycle.accOn();
}
}
}
}
}
@Override
public void onArriveDestination() {
Iterator< IMogoNaviListener > iterator = MogoRegisterCenterHandler.getInstance().getNaviListeners();

View File

@@ -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() {

View File

@@ -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;

View File

@@ -27,6 +27,11 @@ android {
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {

View File

@@ -6,6 +6,7 @@ package com.mogo.service.module;
* <p>
* 卡片生命周期
*/
@Deprecated
public interface IMogoModuleLifecycle {
/**

View File

@@ -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;
}
}

View File

@@ -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