This commit is contained in:
wangcongtao
2020-01-10 10:13:16 +08:00
parent 08680c99c0
commit d879b09075
14 changed files with 231 additions and 33 deletions

View File

@@ -1,6 +1,7 @@
package com.mogo.module.extensions.entrance;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.widget.TextView;
@@ -11,11 +12,17 @@ import androidx.fragment.app.Fragment;
import com.alibaba.android.arouter.launcher.ARouter;
import com.mogo.commons.mvp.MvpFragment;
import com.mogo.map.MogoLatLng;
import com.mogo.map.listener.IMogoMapListener;
import com.mogo.map.location.IMogoLocationClient;
import com.mogo.map.location.MogoLocation;
import com.mogo.map.model.MogoPoi;
import com.mogo.map.navi.IMogoNavi;
import com.mogo.map.navi.IMogoNaviListener;
import com.mogo.map.navi.MogoNaviInfo;
import com.mogo.map.uicontroller.EnumMapUI;
import com.mogo.map.uicontroller.IMogoMapUIController;
import com.mogo.module.common.MogoModulePaths;
import com.mogo.module.extensions.ExtensionsModuleConst;
import com.mogo.module.extensions.R;
import com.mogo.module.extensions.navi.NaviInfoView;
import com.mogo.service.MogoServicePaths;
@@ -23,6 +30,7 @@ import com.mogo.service.fragmentmanager.FragmentDescriptor;
import com.mogo.service.fragmentmanager.IMogoFragmentManager;
import com.mogo.service.map.IMogoMapService;
import com.mogo.service.module.IMogoModuleProvider;
import com.mogo.service.module.IMogoRegisterCenter;
import com.mogo.service.windowview.IMogoWindowManager;
import com.mogo.utils.TipToast;
@@ -32,7 +40,8 @@ import com.mogo.utils.TipToast;
* <p>
* 描述
*/
public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresenter > implements EntranceView {
public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresenter > implements EntranceView,
IMogoNaviListener, IMogoMapListener {
private View mSearch;
@@ -47,7 +56,7 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent
private View mMove2CurrentLocation;
private NaviInfoView mNaviInfo;
private View mExitNavi;
private TextView mExitNavi;
private IMogoMapService mService;
private IMogoMapUIController mMApUIController;
@@ -55,10 +64,13 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent
private IMogoNavi mMogoNavi;
private IMogoFragmentManager mMogoFragmentManager;
private IMogoRegisterCenter mMogoRegisterCenter;
/**
* 搜索莫模块
*/
private IMogoModuleProvider mSearchProvider;
private boolean mIsLock = true;
@Override
protected int getLayoutId() {
@@ -107,7 +119,11 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent
mExitNavi = findViewById( R.id.module_entrance_id_exit_navi );
mExitNavi.setOnClickListener( view -> {
if ( mMogoNavi != null ) {
mMogoNavi.stopNavi();
if ( mIsLock ) {
mMogoNavi.stopNavi();
} else {
mMApUIController.recoverLockMode();
}
}
} );
@@ -123,8 +139,91 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent
public void onActivityCreated( @Nullable Bundle savedInstanceState ) {
super.onActivityCreated( savedInstanceState );
mService = ( IMogoMapService ) ARouter.getInstance().build( MogoServicePaths.PATH_SERVICES_MAP ).navigation( getContext() );
mMogoRegisterCenter = ( IMogoRegisterCenter ) ARouter.getInstance().build( MogoServicePaths.PATH_REGISTER_CENTER ).navigation( getContext() );
mMApUIController = mService.getMapUIController();
mMogoLocationClient = mService.getLocationClient( getContext() );
mMogoNavi = mService.getNavi( getContext() );
mMogoRegisterCenter.registerMogoNaviListener( ExtensionsModuleConst.TYPE_ENTRANCE, this );
mMogoRegisterCenter.registerMogoMapListener( ExtensionsModuleConst.TYPE_ENTRANCE, this );
}
@Override
public void onInitNaviFailure() {
}
@Override
public void onInitNaviSuccess() {
}
@Override
public void onNaviInfoUpdate( MogoNaviInfo naviinfo ) {
if ( naviinfo == null ) {
return;
}
mNaviInfo.notifyChanged( naviinfo );
}
@Override
public void onStartNavi() {
mCommonAddress.setVisibility( View.GONE );
mNaviInfo.setVisibility( View.VISIBLE );
mExitNavi.setVisibility( View.VISIBLE );
}
@Override
public void onStopNavi() {
mCommonAddress.setVisibility( View.VISIBLE );
mNaviInfo.setVisibility( View.GONE );
mExitNavi.setVisibility( View.GONE );
}
@Override
public void onCalculateSuccess() {
}
@Override
public void onoCalculateFailed() {
}
@Override
public void onMapLoaded() {
}
@Override
public void onTouch( MotionEvent motionEvent ) {
}
@Override
public void onPOIClick( MogoPoi poi ) {
}
@Override
public void onMapClick( MogoLatLng latLng ) {
}
@Override
public void onLockMap( boolean isLock ) {
mIsLock = isLock;
if ( isLock ) {
mExitNavi.setText( R.string.module_ext_str_exit_navi );
} else {
mExitNavi.setText( R.string.module_ext_str_continue_navi );
}
}
@Override
public void onMapModeChanged( EnumMapUI ui ) {
}
@Override
public void onMapChanged( MogoLatLng latLng, float zoom, float tilt, float bearing ) {
}
}