opt
This commit is contained in:
@@ -23,6 +23,7 @@ import com.mogo.service.MogoServicePaths;
|
||||
import com.mogo.service.fragmentmanager.FragmentDescriptor;
|
||||
import com.mogo.service.fragmentmanager.IMogoFragmentManager;
|
||||
import com.mogo.service.map.IMogoMapService;
|
||||
import com.mogo.service.module.IMogoModuleProvider;
|
||||
|
||||
/**
|
||||
* @author congtaowang
|
||||
@@ -53,6 +54,11 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent
|
||||
private IMogoNavi mMogoNavi;
|
||||
private IMogoFragmentManager mMogoFragmentManager;
|
||||
|
||||
/**
|
||||
* 搜索莫模块
|
||||
*/
|
||||
private IMogoModuleProvider mSearchProvider;
|
||||
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
return R.layout.module_ext_layout_entrance;
|
||||
@@ -66,9 +72,9 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent
|
||||
|
||||
mSearch = findViewById( R.id.module_entrance_id_search );
|
||||
|
||||
Fragment fragment = ( Fragment ) ARouter.getInstance().build( MogoModulePaths.PATH_FRAGMENT_SEARCH ).navigation();
|
||||
|
||||
mSearch.setOnClickListener( view -> {
|
||||
mSearchProvider = ( IMogoModuleProvider ) ARouter.getInstance().build( MogoModulePaths.PATH_MODULE_SEARCH ).navigation();
|
||||
final Fragment fragment = mSearchProvider.createFragment( getContext(), null );
|
||||
mMogoFragmentManager.push( new FragmentDescriptor.Builder().fragment( fragment ).tag( MogoModulePaths.PATH_FRAGMENT_SEARCH ).notifyMainModule( true ).build() );
|
||||
} );
|
||||
|
||||
@@ -124,12 +130,16 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent
|
||||
|
||||
@Override
|
||||
public void onInitNaviFailure() {
|
||||
|
||||
if ( mSearchProvider != null && mSearchProvider.getNaviListener() != null ) {
|
||||
mSearchProvider.getNaviListener().onInitNaviFailure();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onInitNaviSuccess() {
|
||||
|
||||
if ( mSearchProvider != null && mSearchProvider.getNaviListener() != null ) {
|
||||
mSearchProvider.getNaviListener().onInitNaviSuccess();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -138,6 +148,9 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent
|
||||
return;
|
||||
}
|
||||
mNaviInfo.notifyChanged( naviinfo );
|
||||
if ( mSearchProvider != null && mSearchProvider.getNaviListener() != null ) {
|
||||
mSearchProvider.getNaviListener().onNaviInfoUpdate( naviinfo );
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -145,6 +158,9 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent
|
||||
mCommonAddress.setVisibility( View.GONE );
|
||||
mNaviInfo.setVisibility( View.VISIBLE );
|
||||
mExitNavi.setVisibility( View.VISIBLE );
|
||||
if ( mSearchProvider != null && mSearchProvider.getNaviListener() != null ) {
|
||||
mSearchProvider.getNaviListener().onStartNavi();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -152,15 +168,22 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent
|
||||
mCommonAddress.setVisibility( View.VISIBLE );
|
||||
mNaviInfo.setVisibility( View.GONE );
|
||||
mExitNavi.setVisibility( View.GONE );
|
||||
if ( mSearchProvider != null && mSearchProvider.getNaviListener() != null ) {
|
||||
mSearchProvider.getNaviListener().onStopNavi();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCalculateSuccess() {
|
||||
|
||||
if ( mSearchProvider != null && mSearchProvider.getNaviListener() != null ) {
|
||||
mSearchProvider.getNaviListener().onCalculateSuccess();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onoCalculateFailed() {
|
||||
|
||||
if ( mSearchProvider != null && mSearchProvider.getNaviListener() != null ) {
|
||||
mSearchProvider.getNaviListener().onoCalculateFailed();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,11 +26,13 @@ import com.mogo.service.module.ModuleType;
|
||||
@Route( path = ExtensionsModuleConst.PATH_ENTRANCE )
|
||||
public class EntranceProvider implements IMogoModuleProvider {
|
||||
|
||||
EntranceFragment mFragment;
|
||||
|
||||
@Override
|
||||
public Fragment createFragment( Context context, Bundle data ) {
|
||||
EntranceFragment fragment = new EntranceFragment();
|
||||
fragment.setArguments( data );
|
||||
return fragment;
|
||||
mFragment = new EntranceFragment();
|
||||
mFragment.setArguments( data );
|
||||
return mFragment;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -61,7 +63,7 @@ public class EntranceProvider implements IMogoModuleProvider {
|
||||
|
||||
@Override
|
||||
public IMogoNaviListener getNaviListener() {
|
||||
return null;
|
||||
return mFragment;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -379,6 +379,41 @@ public class MogoModulesManager implements MogoModulesHandler,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onCalculateSuccess() {
|
||||
for ( IMogoModuleProvider value : mModuleProviders.values() ) {
|
||||
if ( value.getType() == ModuleType.TYPE_CARD_FRAGMENT ) {
|
||||
if ( mEnableModuleName != null && TextUtils.equals( value.getModuleName(), mEnableModuleName ) ) {
|
||||
if ( value.getNaviListener() != null ) {
|
||||
value.getNaviListener().onCalculateSuccess();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if ( value.getNaviListener() != null ) {
|
||||
value.getNaviListener().onCalculateSuccess();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onoCalculateFailed() {
|
||||
for ( IMogoModuleProvider value : mModuleProviders.values() ) {
|
||||
if ( value.getType() == ModuleType.TYPE_CARD_FRAGMENT ) {
|
||||
if ( mEnableModuleName != null && TextUtils.equals( value.getModuleName(), mEnableModuleName ) ) {
|
||||
if ( value.getNaviListener() != null ) {
|
||||
value.getNaviListener().onoCalculateFailed();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if ( value.getNaviListener() != null ) {
|
||||
value.getNaviListener().onoCalculateFailed();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLocationChanged( MogoLocation location ) {
|
||||
for ( IMogoModuleProvider value : mModuleProviders.values() ) {
|
||||
@@ -437,15 +472,6 @@ public class MogoModulesManager implements MogoModulesHandler,
|
||||
mEnableModuleName = null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCalculateSuccess() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onoCalculateFailed() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMarkerReceive( String cardType, IMogoMarker marker ) {
|
||||
for ( IMogoModuleProvider value : mModuleProviders.values() ) {
|
||||
|
||||
@@ -57,7 +57,7 @@ public class SearchFragmentProvider implements IMogoModuleProvider {
|
||||
|
||||
@Override
|
||||
public int getType() {
|
||||
return ModuleType.TYPE_CARD_FRAGMENT;
|
||||
return ModuleType.TYPE_NAVI;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user