Merge remote-tracking branch 'origin/feature/v1.0.0' into feature/v1.0.0

# Conflicts:
#	modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java
This commit is contained in:
董宏宇
2020-01-09 16:38:26 +08:00
4 changed files with 71 additions and 20 deletions

View File

@@ -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();
}
}
}

View File

@@ -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

View File

@@ -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(IMogoMarker marker) {
for (IMogoModuleProvider value : mModuleProviders.values()) {

View File

@@ -57,7 +57,7 @@ public class SearchFragmentProvider implements IMogoModuleProvider {
@Override
public int getType() {
return ModuleType.TYPE_CARD_FRAGMENT;
return ModuleType.TYPE_NAVI;
}
@Override