From 08645d8d552f35aa3752ec28996e750c9c633f36 Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Mon, 3 Feb 2020 16:46:08 +0800 Subject: [PATCH] add card scroll cycle --- app/src/main/java/com/mogo/launcher/MogoApplication.java | 2 +- .../main/java/com/mogo/map/impl/amap/navi/NaviClient.java | 5 +++++ .../src/main/java/com/mogo/map/navi/IMogoNavi.java | 8 ++++++-- .../mogo-map/src/main/java/com/mogo/map/MogoNavi.java | 8 ++++++++ .../src/main/java/com/mogo/module/main/MainActivity.java | 4 +++- .../com/mogo/module/main/cards/CardModulesAdapter.java | 4 ++-- 6 files changed, 25 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/mogo/launcher/MogoApplication.java b/app/src/main/java/com/mogo/launcher/MogoApplication.java index f7ace7fcad..845b79a310 100644 --- a/app/src/main/java/com/mogo/launcher/MogoApplication.java +++ b/app/src/main/java/com/mogo/launcher/MogoApplication.java @@ -34,7 +34,7 @@ public class MogoApplication extends AbsMogoApplication { // MogoModulePaths.addModule( new MogoModule( Demo2Constants.TAG, "CARD_DEMO2" ) ); DebugConfig.setNetMode(BuildConfig.NET_ENV); //运营位卡片,需要默认显示,放在第一个加载 - MogoModulePaths.addModule(new MogoModule(AdCardConstants.TAG, AdCardConstants.MODULE_NAME)); +// MogoModulePaths.addModule(new MogoModule(AdCardConstants.TAG, AdCardConstants.MODULE_NAME)); MogoModulePaths.addModule(new MogoModule(OnLineCarConstants.TAG, OnLineCarConstants.MODULE_NAME)); MogoModulePaths.addModule(new MogoModule(TanluConstants.TAG, TanluConstants.MODEL_NAME)); MogoModulePaths.addModule(new MogoModule(CallChatConstant.PROVIDER, CallChatConstant.MODULE_NAME)); diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviClient.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviClient.java index 5af6826e99..52d98b5d51 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviClient.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviClient.java @@ -201,6 +201,11 @@ public class NaviClient implements IMogoNavi { return mAMapNavi.setBroadcastMode( mode ); } + @Override + public List< MogoLatLng > getNaviPathCoordinates() { + return null; + } + // -- end private boolean checkAMapNavi() { diff --git a/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/IMogoNavi.java b/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/IMogoNavi.java index 74f7579b07..ed0d6819fc 100644 --- a/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/IMogoNavi.java +++ b/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/IMogoNavi.java @@ -63,8 +63,7 @@ public interface IMogoNavi { * * @param isRealNavi true - 实时导航 false - 模拟导航 */ - void - startNavi( boolean isRealNavi ); + void startNavi( boolean isRealNavi ); /** * 是否正在导航 @@ -118,4 +117,9 @@ public interface IMogoNavi { */ boolean setBroadcastMode(int mode); + /** + * 获取导航沿途路线的点 + * @return + */ + List getNaviPathCoordinates(); } diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/MogoNavi.java b/libraries/mogo-map/src/main/java/com/mogo/map/MogoNavi.java index d93bc08212..97664d9dcd 100644 --- a/libraries/mogo-map/src/main/java/com/mogo/map/MogoNavi.java +++ b/libraries/mogo-map/src/main/java/com/mogo/map/MogoNavi.java @@ -149,4 +149,12 @@ public class MogoNavi implements IMogoNavi { } return false; } + + @Override + public List< MogoLatLng > getNaviPathCoordinates() { + if ( mDelegate != null ) { + return mDelegate.getNaviPathCoordinates(); + } + return null; + } } diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java index dd519188e3..ec5b6fbb73 100644 --- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java @@ -290,9 +290,11 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme @Override public void switch2( String cardType ) { if ( mCardModulesAdapter != null ) { + int position = mCardModulesAdapter.getProviderPosition( cardType ); if ( position != -1 ) { - mCardsContainer.setCurrentItem( position, Math.abs( mCurrentPosition - position ) == 1 ); + int lastFactPosition = mCardModulesAdapter.getFactPosition( mCurrentPosition ); + mCardsContainer.setCurrentItem( mCurrentPosition + position - lastFactPosition, Math.abs( lastFactPosition - position ) == 1 ); if ( !isClickMarker ) { mMogoCardManager.invoke( position, mMogoModuleHandler.getCurrentModuleName() ); } diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/CardModulesAdapter.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/CardModulesAdapter.java index c86fb39297..a44c518871 100644 --- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/CardModulesAdapter.java +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/CardModulesAdapter.java @@ -47,8 +47,8 @@ public class CardModulesAdapter extends FragmentStatePagerAdapter { @Override public int getCount() { - return mProviders.size(); -// return Integer.MAX_VALUE; +// return mProviders.size(); + return Integer.MAX_VALUE; } public IMogoModuleProvider getProvider( int position ) {