dev
This commit is contained in:
@@ -1,14 +1,10 @@
|
||||
package com.mogo.module.main;
|
||||
|
||||
import android.view.MotionEvent;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.fragment.app.Fragment;
|
||||
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.mogo.commons.mvp.MvpActivity;
|
||||
import com.mogo.map.listener.IMogoMapListener;
|
||||
import com.mogo.map.model.MogoPoi;
|
||||
import com.mogo.module.main.cards.MogoModulesHandler;
|
||||
import com.mogo.module.main.cards.MogoModulesManager;
|
||||
import com.mogo.service.MogoServicePaths;
|
||||
@@ -25,8 +21,8 @@ import java.util.Collection;
|
||||
*/
|
||||
public class MainActivity extends MvpActivity< MainView, MainPresenter > implements MainView {
|
||||
|
||||
IMogoMapService ims;
|
||||
MogoModulesHandler handler;
|
||||
IMogoMapService mMogoMapService;
|
||||
MogoModulesHandler mMogoModuleHandler;
|
||||
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
@@ -36,14 +32,15 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
|
||||
@Override
|
||||
protected void initViews() {
|
||||
|
||||
handler = new MogoModulesManager( this );
|
||||
ims = ( IMogoMapService ) ARouter.getInstance().build( MogoServicePaths.PATH_SERVICES_MAP ).navigation();
|
||||
if ( ims != null ) {
|
||||
ims.registerHostMapListener( handler );
|
||||
mMogoModuleHandler = new MogoModulesManager( this );
|
||||
mMogoMapService = ( IMogoMapService ) ARouter.getInstance().build( MogoServicePaths.PATH_SERVICES_MAP ).navigation();
|
||||
if ( mMogoMapService != null ) {
|
||||
mMogoMapService.registerHostMapListener( mMogoModuleHandler );
|
||||
mMogoMapService.registerHostNaviListener( mMogoModuleHandler );
|
||||
}
|
||||
handler.loadMap( R.id.module_main_id_fragment_container );
|
||||
mMogoModuleHandler.loadMap( R.id.module_main_id_map_container );
|
||||
|
||||
Collection< IMogoModuleProvider > providers = handler.loadCards();
|
||||
Collection< IMogoModuleProvider > providers = mMogoModuleHandler.loadCards();
|
||||
for ( IMogoModuleProvider provider : providers ) {
|
||||
if ( provider == null ) {
|
||||
continue;
|
||||
@@ -57,7 +54,7 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
|
||||
}
|
||||
}
|
||||
}
|
||||
handler.setEnable( providers.iterator().next().getModuleName() );
|
||||
mMogoModuleHandler.setEnable( providers.iterator().next().getModuleName() );
|
||||
}
|
||||
|
||||
@NonNull
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.mogo.module.main.cards;
|
||||
|
||||
import com.mogo.map.listener.IMogoMapListener;
|
||||
import com.mogo.map.navi.IMogoNaviListener;
|
||||
import com.mogo.service.module.IMogoModuleProvider;
|
||||
|
||||
import java.util.Collection;
|
||||
@@ -11,7 +12,7 @@ import java.util.Collection;
|
||||
* <p>
|
||||
* 卡片管理
|
||||
*/
|
||||
public interface MogoModulesHandler extends IMogoMapListener {
|
||||
public interface MogoModulesHandler extends IMogoMapListener, IMogoNaviListener {
|
||||
|
||||
/**
|
||||
* 加载卡片
|
||||
|
||||
@@ -7,8 +7,12 @@ import android.view.MotionEvent;
|
||||
import androidx.fragment.app.Fragment;
|
||||
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.mogo.map.MogoLatLng;
|
||||
import com.mogo.map.listener.IMogoMapListener;
|
||||
import com.mogo.map.model.MogoPoi;
|
||||
import com.mogo.map.navi.IMogoNaviListener;
|
||||
import com.mogo.map.navi.MogoNaviInfo;
|
||||
import com.mogo.map.uicontroller.EnumMapUI;
|
||||
import com.mogo.module.common.MogoModulePaths;
|
||||
import com.mogo.module.main.MainActivity;
|
||||
import com.mogo.service.module.IMogoModuleProvider;
|
||||
@@ -26,7 +30,8 @@ import java.util.Set;
|
||||
* <p>
|
||||
* 卡片加载
|
||||
*/
|
||||
public class MogoModulesManager implements MogoModulesHandler, IMogoMapListener {
|
||||
public class MogoModulesManager implements MogoModulesHandler,
|
||||
IMogoMapListener, IMogoNaviListener {
|
||||
|
||||
private static final String TAG = "MogoModulesManager";
|
||||
|
||||
@@ -67,6 +72,10 @@ public class MogoModulesManager implements MogoModulesHandler, IMogoMapListener
|
||||
|
||||
}
|
||||
|
||||
private IMogoModuleProvider getModuleProvider( String tag ) {
|
||||
return mCardProviders.get( tag );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadMap( int containerId ) {
|
||||
mMapProvider = load( MogoModulePaths.PATH_MODULE_MAP );
|
||||
@@ -112,8 +121,9 @@ public class MogoModulesManager implements MogoModulesHandler, IMogoMapListener
|
||||
@Override
|
||||
public void onMapLoaded() {
|
||||
if ( mEnableModuleName != null ) {
|
||||
if ( mCardProviders.get( mEnableModuleName ) != null ) {
|
||||
mCardProviders.get( mEnableModuleName ).getMapListener().onMapLoaded();
|
||||
IMogoModuleProvider provider = getModuleProvider( mEnableModuleName );
|
||||
if ( provider != null ) {
|
||||
provider.getMapListener().onMapLoaded();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -121,8 +131,9 @@ public class MogoModulesManager implements MogoModulesHandler, IMogoMapListener
|
||||
@Override
|
||||
public void onTouch( MotionEvent motionEvent ) {
|
||||
if ( mEnableModuleName != null ) {
|
||||
if ( mCardProviders.get( mEnableModuleName ) != null ) {
|
||||
mCardProviders.get( mEnableModuleName ).getMapListener().onTouch( motionEvent );
|
||||
IMogoModuleProvider provider = getModuleProvider( mEnableModuleName );
|
||||
if ( provider != null ) {
|
||||
provider.getMapListener().onTouch( motionEvent );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -130,8 +141,91 @@ public class MogoModulesManager implements MogoModulesHandler, IMogoMapListener
|
||||
@Override
|
||||
public void onPOIClick( MogoPoi poi ) {
|
||||
if ( mEnableModuleName != null ) {
|
||||
if ( mCardProviders.get( mEnableModuleName ) != null ) {
|
||||
mCardProviders.get( mEnableModuleName ).getMapListener().onPOIClick( poi );
|
||||
IMogoModuleProvider provider = getModuleProvider( mEnableModuleName );
|
||||
if ( provider != null ) {
|
||||
provider.getMapListener().onPOIClick( poi );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMapClick( MogoLatLng latLng ) {
|
||||
if ( mEnableModuleName != null ) {
|
||||
IMogoModuleProvider provider = getModuleProvider( mEnableModuleName );
|
||||
if ( provider != null ) {
|
||||
provider.getMapListener().onMapClick( latLng );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLockMap( boolean isLock ) {
|
||||
if ( mEnableModuleName != null ) {
|
||||
IMogoModuleProvider provider = getModuleProvider( mEnableModuleName );
|
||||
if ( provider != null ) {
|
||||
provider.getMapListener().onLockMap( isLock );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMapModeChanged( EnumMapUI ui ) {
|
||||
if ( mEnableModuleName != null ) {
|
||||
IMogoModuleProvider provider = getModuleProvider( mEnableModuleName );
|
||||
if ( provider != null ) {
|
||||
provider.getMapListener().onMapModeChanged( ui );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onInitNaviFailure() {
|
||||
if ( mEnableModuleName != null ) {
|
||||
IMogoModuleProvider provider = getModuleProvider( mEnableModuleName );
|
||||
if ( provider != null && provider.getNaviListener() != null ) {
|
||||
provider.getNaviListener().onInitNaviFailure();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onInitNaviSuccess() {
|
||||
if ( mEnableModuleName != null ) {
|
||||
IMogoModuleProvider provider = getModuleProvider( mEnableModuleName );
|
||||
if ( provider != null && provider.getNaviListener() != null ) {
|
||||
provider.getNaviListener().onInitNaviSuccess();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNaviInfoUpdate( MogoNaviInfo naviinfo ) {
|
||||
if ( mEnableModuleName != null ) {
|
||||
IMogoModuleProvider provider = getModuleProvider( mEnableModuleName );
|
||||
if ( provider != null && provider.getNaviListener() != null ) {
|
||||
provider.getNaviListener().onNaviInfoUpdate( naviinfo );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStartNavi() {
|
||||
Logger.i( TAG, "导航已开始" );
|
||||
if ( mEnableModuleName != null ) {
|
||||
IMogoModuleProvider provider = getModuleProvider( mEnableModuleName );
|
||||
if ( provider != null && provider.getNaviListener() != null ) {
|
||||
provider.getNaviListener().onStartNavi();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStopNavi() {
|
||||
Logger.i( TAG, "导航已停止" );
|
||||
if ( mEnableModuleName != null ) {
|
||||
IMogoModuleProvider provider = getModuleProvider( mEnableModuleName );
|
||||
if ( provider != null && provider.getNaviListener() != null ) {
|
||||
provider.getNaviListener().onStopNavi();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user