This commit is contained in:
wangcongtao
2020-03-25 09:54:24 +08:00
parent ea437d47ca
commit 81d3cbfac0
12 changed files with 90 additions and 25 deletions

View File

@@ -12,10 +12,15 @@ import com.mogo.module.common.entity.MarkerShowEntity;
import com.mogo.module.service.marker.MapMarkerManager;
import com.mogo.service.IMogoServiceApis;
import com.mogo.service.MogoServicePaths;
import com.mogo.service.adas.IMogoADASController;
import com.mogo.service.analytics.IMogoAnalytics;
import com.mogo.service.cardmanager.IMogoCardManager;
import com.mogo.service.connection.IMogoSocketManager;
import com.mogo.service.datamanager.IMogoDataManager;
import com.mogo.service.fragmentmanager.IMogoFragmentManager;
import com.mogo.service.imageloader.IMogoImageloader;
import com.mogo.service.intent.IMogoIntentManager;
import com.mogo.service.launcher.IMogoLauncher;
import com.mogo.service.map.IMogoMapService;
import com.mogo.service.module.IMogoActionManager;
import com.mogo.service.module.IMogoRegisterCenter;
@@ -45,6 +50,11 @@ public class MarkerServiceHandler {
private static IMogoAnalytics mMogoAnalytics;
private static IMogoRegisterCenter mRegisterCenter;
private static IMogoActionManager mActionManager;
private static IMogoDataManager mDataManager;
private static IMogoIntentManager mIntentManager;
private static IMogoADASController mADASController;
private static IMogoLauncher mLauncher;
private static IMogoFragmentManager mFragmentManager;
private static MapMarkerManager mMapMarkerManager;
@@ -62,6 +72,11 @@ public class MarkerServiceHandler {
mLocationClient = mMapService.getSingletonLocationClient( context );
mRegisterCenter = mApis.getRegisterCenterApi();
mActionManager = mApis.getActionManagerApi();
mDataManager = mApis.getDataManagerApi();
mIntentManager = mApis.getIntentManagerApi();
mADASController = mApis.getAdasControllerApi();
mLauncher = mApis.getLauncherApi();
mFragmentManager = mApis.getFragmentManagerApi();
mMapMarkerManager = MapMarkerManager.getInstance();
mMapMarkerManager.init( context );
@@ -119,6 +134,26 @@ public class MarkerServiceHandler {
return mActionManager;
}
public static IMogoIntentManager getIntentManager() {
return mIntentManager;
}
public static IMogoADASController getADASController() {
return mADASController;
}
public static IMogoLauncher getLauncher() {
return mLauncher;
}
public static IMogoFragmentManager getFragmentManager() {
return mFragmentManager;
}
public static IMogoDataManager getDataManager() {
return mDataManager;
}
//TODO -------------以下方法是临时过度使用的后面统一使用getMapMarkerManager进行调用
/**

View File

@@ -152,6 +152,8 @@ public class MogoServices implements IMogoMapListener,
private IMogoFragmentManager mFragmentManager;
private IMogoNavi mNavi;
private IMogoRegisterCenter mRegisterCenter;
/**
* 地图视图初始化
*/
@@ -272,30 +274,30 @@ public class MogoServices implements IMogoMapListener,
public void init( Context context ) {
mContext = context;
MarkerServiceHandler.init( mContext );
mRefreshModel = new RefreshModel( context );
IMogoServiceApis apis = ( IMogoServiceApis ) ARouter.getInstance().build( MogoServicePaths.PATH_SERVICE_APIS ).navigation();
mMogoMapService = apis.getMapServiceApi();
mMogoMapService = MarkerServiceHandler.getMapService();
mUiController = mMogoMapService.getMapUIController();
mNavi = mMogoMapService.getNavi( context );
mStatusManager = apis.getStatusManagerApi();
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 );
MarkerServiceHandler.init( mContext );
registerMogoReceiver( context );
registerInternalUnWakeupWords();
IMogoRegisterCenter registerCenter = apis.getRegisterCenterApi();
registerCenter.registerMogoLocationListener( ServiceConst.TYPE, this );
registerCenter.registerMogoNaviListener( ServiceConst.TYPE, this );
registerCenter.registerMogoMapListener( ServiceConst.TYPE, this );
registerCenter.registerMogoAimlessModeListener( ServiceConst.TYPE, this );
mRegisterCenter = MarkerServiceHandler.getRegisterCenter();
mRegisterCenter.registerMogoLocationListener( ServiceConst.TYPE, this );
mRegisterCenter.registerMogoNaviListener( ServiceConst.TYPE, this );
mRegisterCenter.registerMogoMapListener( ServiceConst.TYPE, this );
mRegisterCenter.registerMogoAimlessModeListener( ServiceConst.TYPE, this );
mActionManager = apis.getActionManagerApi();
mActionManager = MarkerServiceHandler.getActionManager();
mIntentManager = apis.getIntentManagerApi();
mIntentManager = MarkerServiceHandler.getIntentManager();
mIntentManager.registerIntentListener( MogoReceiver.ACTIION_ADAS, this );
mIntentManager.registerIntentListener( Intent.ACTION_POWER_CONNECTED, this );
mIntentManager.registerIntentListener( Intent.ACTION_POWER_DISCONNECTED, this );
@@ -310,10 +312,10 @@ public class MogoServices implements IMogoMapListener,
mIntentManager.registerIntentListener( MogoReceiver.ACTION_VOICE_READY, this );
mIntentManager.registerIntentListener( MogoReceiver.ACTION_MOCK, this );
mADASController = apis.getAdasControllerApi();
mLauncher = apis.getLauncherApi();
mFragmentManager = apis.getFragmentManagerApi();
mCardManager = apis.getCardManagerApi();
mADASController = MarkerServiceHandler.getADASController();
mLauncher = MarkerServiceHandler.getLauncher();
mFragmentManager = MarkerServiceHandler.getFragmentManager();
mCardManager = MarkerServiceHandler.getMogoCardManager();
mFragmentManager.addMainFragmentStackTransactionListener( this );
initWorkThread();
@@ -438,6 +440,7 @@ public class MogoServices implements IMogoMapListener,
}
break;
case MotionEvent.ACTION_UP:
mStatusManager.setUserInteractionStatus( TAG, true, true );
break;
}
}

View File

@@ -98,20 +98,26 @@ public class MogoDataHandler implements IMogoDataManager {
}
public void invoke( String tag, Object data ) {
if ( tag == null || mListeners.get( tag ) == null ) {
@Override
public void syncData( String module, Object object ) {
if ( module == null || mListeners.get( module ) == null ) {
return;
}
try {
Iterator< IMogoDataChangedListener > iterator = mListeners.get( tag ).iterator();
Iterator< IMogoDataChangedListener > iterator = mListeners.get( module ).iterator();
while ( iterator.hasNext() ) {
IMogoDataChangedListener listener = iterator.next();
if ( listener != null ) {
listener.onDataSetChanged( data );
listener.onDataSetChanged( object );
}
}
} catch ( Exception e ) {
Logger.e( TAG, e, "error." );
}
}
@Deprecated
public void invoke( String tag, Object data ) {
syncData( tag, data );
}
}

View File

@@ -36,6 +36,11 @@ public class MogoDataManager implements IMogoDataManager {
MogoDataHandler.getInstance().removeDataFrom( module, object );
}
@Override
public void syncData( String module, Object object ) {
MogoDataHandler.getInstance().syncData( module, object );
}
@Override
public void init( Context context ) {
MogoDataHandler.getInstance().init( context );

View File

@@ -24,7 +24,6 @@ import com.mogo.module.common.entity.MarkerShowEntity;
import com.mogo.module.service.MarkerServiceHandler;
import com.mogo.module.service.ServiceConst;
import com.mogo.module.service.Utils;
import com.mogo.module.service.datamanager.MogoDataHandler;
import com.mogo.module.service.utils.ViewUtils;
import com.mogo.service.cardmanager.IMogoCardChangedListener;
import com.mogo.service.connection.IMogoOnMessageListener;
@@ -697,7 +696,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
}
try {
Logger.d( TAG, "dispatch data to %s", biz );
MogoDataHandler.getInstance().invoke( biz, object );
MarkerServiceHandler.getDataManager().syncData( biz, object );
} catch ( Exception e ) {
e.printStackTrace();
}