dev
This commit is contained in:
@@ -10,7 +10,7 @@
|
||||
android:launchMode="singleInstance"
|
||||
android:resizeableActivity="true"
|
||||
android:resumeWhilePausing="true"
|
||||
android:screenOrientation="nosensor"
|
||||
android:screenOrientation="landscape"
|
||||
android:stateNotNeeded="true"
|
||||
android:taskAffinity=""
|
||||
android:windowSoftInputMode="adjustPan">
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,6 +6,15 @@
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/module_main_id_fragment_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" />
|
||||
android:layout_width="300dp"
|
||||
android:layout_height="match_parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/module_main_id_map_container"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
app:layout_constraintLeft_toRightOf="@+id/module_main_id_fragment_container"
|
||||
app:layout_constraintRight_toRightOf="parent" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -30,14 +30,14 @@ android {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
||||
|
||||
implementation project(":libraries:mogo-map")
|
||||
implementation project(":libraries:mogo-map-api")
|
||||
implementation project(":foudations:mogo-utils")
|
||||
api project(":foudations:mogo-commons")
|
||||
implementation project(':services:mogo-service-api')
|
||||
api project(':services:mogo-service-api')
|
||||
implementation project(':modules:mogo-module-common')
|
||||
implementation rootProject.ext.dependencies.androidxappcompat
|
||||
implementation rootProject.ext.dependencies.androidxconstraintlayout
|
||||
|
||||
@@ -5,12 +5,10 @@ import android.os.Bundle;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.alibaba.android.arouter.facade.annotation.Route;
|
||||
import com.mogo.commons.mvp.MvpFragment;
|
||||
import com.mogo.map.IMogoMap;
|
||||
import com.mogo.map.IUiSettings;
|
||||
import com.mogo.map.IMogoUiSettings;
|
||||
import com.mogo.map.MogoMapView;
|
||||
import com.mogo.module.common.MogoModulePaths;
|
||||
|
||||
/**
|
||||
* @author congtaowang
|
||||
@@ -83,16 +81,29 @@ public class MapFragment extends MvpFragment< MapView, MapPresenter > implements
|
||||
|
||||
private void initMapView() {
|
||||
if ( mMogoMap != null ) {
|
||||
IUiSettings settings = mMogoMap.getUiSettings();
|
||||
if ( settings != null ) {
|
||||
settings.setCompassEnabled( false );
|
||||
settings.setLogoEnable( false );
|
||||
settings.setMyLocationButtonEnabled( false );
|
||||
settings.setRotateGesturesEnabled( false );
|
||||
settings.setZoomControlsEnabled( false );
|
||||
settings.setScaleControlsEnabled( false );
|
||||
IMogoUiSettings uiSettings = mMogoMap.getUiSettings();
|
||||
if ( uiSettings != null ) {
|
||||
//设置所有手势是否可用
|
||||
uiSettings.setAllGesturesEnabled( true );
|
||||
//设置指南针是否可见。
|
||||
uiSettings.setCompassEnabled( false );
|
||||
//设置室内地图楼层切换控件是否可见。
|
||||
uiSettings.setIndoorSwitchEnabled( true );
|
||||
//设置定位按钮是否可见。
|
||||
uiSettings.setMyLocationButtonEnabled( false );
|
||||
//设置旋转手势是否可用。
|
||||
uiSettings.setRotateGesturesEnabled( false );
|
||||
//设置比例尺控件是否可见
|
||||
uiSettings.setScaleControlsEnabled( false );
|
||||
//设置拖拽手势是否可用。
|
||||
uiSettings.setScrollGesturesEnabled( true );
|
||||
//设置倾斜手势是否可用。
|
||||
uiSettings.setTiltGesturesEnabled( false );
|
||||
//设置缩放按钮是否可见。
|
||||
uiSettings.setZoomControlsEnabled( false );
|
||||
//设置双指缩放手势是否可用。
|
||||
uiSettings.setZoomGesturesEnabled( true );
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@ import androidx.fragment.app.Fragment;
|
||||
|
||||
import com.alibaba.android.arouter.facade.annotation.Route;
|
||||
import com.mogo.map.listener.IMogoMapListener;
|
||||
import com.mogo.map.navi.IMogoNaviListener;
|
||||
import com.mogo.module.common.MogoModulePaths;
|
||||
import com.mogo.service.module.IMogoModuleLifecycle;
|
||||
import com.mogo.service.module.IMogoModuleProvider;
|
||||
@@ -62,4 +63,9 @@ public class MapFragmentProvider implements IMogoModuleProvider {
|
||||
public IMogoMapListener getMapListener() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IMogoNaviListener getNaviListener() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user