diff --git a/gradle.properties b/gradle.properties index b6a733117c..79610a7704 100644 --- a/gradle.properties +++ b/gradle.properties @@ -27,24 +27,24 @@ PASSWORD=xintai2018 RELEASE=false # 模块版本 ## 工程内模块 -MOGO_MODULE_SHARE_VERSION=1.0.2-SNAPSHOT -MOGO_COMMONS_VERSION=1.0.2-SNAPSHOT -MOGO_UTILS_VERSION=1.0.2-SNAPSHOT -MAP_AMAP_VERSION=1.0.2-SNAPSHOT -MOGO_MAP_VERSION=1.0.2-SNAPSHOT -MOGO_MAP_API_VERSION=1.0.2-SNAPSHOT -MOGO_MODULE_COMMON_VERSION=1.0.2-SNAPSHOT -MOGO_MODULE_MAIN_VERSION=1.0.2-SNAPSHOT -MOGO_MODULE_MAP_VERSION=1.0.2-SNAPSHOT -MOGO_SERVICE_VERSION=1.0.2-SNAPSHOT -MOGO_SERVICE_API_VERSION=1.0.2-SNAPSHOT -MOGO_MODULE_APPS_VERSION=1.0.2-SNAPSHOT -MOGO_CONNECTION_VERSION=1.0.2-SNAPSHOT -MOGO_MODULE_NAVI_VERSION=1.0.2-SNAPSHOT -MOGO_MODULE_SERVICE_VERSION=1.0.2-SNAPSHOT -MOGO_MODULE_EXTENSIONS_VERSION=1.0.2-SNAPSHOT -MOGO_MODULE_SEARCH_VERSION=1.0.2-SNAPSHOT -MOGO_MODULE_BACK_VERSION=1.0.2-SNAPSHOT +MOGO_MODULE_SHARE_VERSION=1.0.3-SNAPSHOT +MOGO_COMMONS_VERSION=1.0.3-SNAPSHOT +MOGO_UTILS_VERSION=1.0.3-SNAPSHOT +MAP_AMAP_VERSION=1.0.3-SNAPSHOT +MOGO_MAP_VERSION=1.0.3-SNAPSHOT +MOGO_MAP_API_VERSION=1.0.3-SNAPSHOT +MOGO_MODULE_COMMON_VERSION=1.0.3-SNAPSHOT +MOGO_MODULE_MAIN_VERSION=1.0.3-SNAPSHOT +MOGO_MODULE_MAP_VERSION=1.0.3-SNAPSHOT +MOGO_SERVICE_VERSION=1.0.3-SNAPSHOT +MOGO_SERVICE_API_VERSION=1.0.3-SNAPSHOT +MOGO_MODULE_APPS_VERSION=1.0.3-SNAPSHOT +MOGO_CONNECTION_VERSION=1.0.3-SNAPSHOT +MOGO_MODULE_NAVI_VERSION=1.0.3-SNAPSHOT +MOGO_MODULE_SERVICE_VERSION=1.0.3-SNAPSHOT +MOGO_MODULE_EXTENSIONS_VERSION=1.0.3-SNAPSHOT +MOGO_MODULE_SEARCH_VERSION=1.0.3-SNAPSHOT +MOGO_MODULE_BACK_VERSION=1.0.3-SNAPSHOT MOGO_MODULE_AUTHORIZE_VERSION=1.0.0-SNAPSHOT MOGO_MODULE_GUIDE_VERSION=1.0.0-SNAPSHOT @@ -56,7 +56,7 @@ CARCHATTING_VERSION=1.0.2.3-SNAPSHOT # 车聊聊接口 CARCHATTINGPROVIDER_VERSION=1.0.2.3-SNAPSHOT # 在线车辆F -MOGO_MODULE_ONLINECAR_VERSION=1.0.1-SNAPSHOT +MOGO_MODULE_ONLINECAR_VERSION=1.0.2-SNAPSHOT # v2x MOGO_MODULE_V2X_VERSION=1.0.3-SNAPSHOT # 媒体卡片 diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviListenerAdapter.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviListenerAdapter.java index b89eca72b5..d52c05fb59 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviListenerAdapter.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviListenerAdapter.java @@ -171,24 +171,33 @@ public class NaviListenerAdapter extends AMapNaviListenerAdapter { @Override public void onEndEmulatorNavi() { - stopNaviDelay(); + stopNaviDelay( () -> { + MogoNaviListenerHandler.getInstance().onEndEmulatorNavi(); + } ); } @Override public void onArriveDestination() { - stopNaviDelay(); + stopNaviDelay( () -> { + MogoNaviListenerHandler.getInstance().onArriveDestination(); + } ); } /** * 避免导航结束语音播报被立刻打断的情况 + * + * @param after 停止后的行为 */ - private void stopNaviDelay() { + private void stopNaviDelay( Runnable after ) { UiThreadHandler.postDelayed( () -> { if ( TextUtils.isEmpty( mLastSpeakWord ) || !mLastSpeakWord.contains( "结束" ) ) { AIAssist.getInstance( mContext ).speakTTSVoice( "到达目的地附近,本次导航结束" ); } mLastSpeakWord = ""; stopNavi(); + if ( after != null ) { + after.run(); + } }, 5_000L ); } @@ -238,10 +247,6 @@ public class NaviListenerAdapter extends AMapNaviListenerAdapter { if ( mNaviOverlayHelper != null ) { mNaviOverlayHelper.handleClickedPolyline( polyline, isNaviing() ); mAMapNavi.selectRouteId( mNaviOverlayHelper.getSelectedPathId() ); -// if ( isNaviing() ) { -// mAMapNavi.stopNavi(); -// mAMapNavi.startNavi( mClient.isRealNavi() ? NaviType.GPS : NaviType.EMULATOR ); -// } } } diff --git a/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/IMogoNaviListener2.java b/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/IMogoNaviListener2.java new file mode 100644 index 0000000000..831d5d77a0 --- /dev/null +++ b/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/IMogoNaviListener2.java @@ -0,0 +1,20 @@ +package com.mogo.map.navi; + +/** + * @author congtaowang + * @since 2019-12-25 + *

+ * 导航监听:区分导航结束 + */ +public interface IMogoNaviListener2 extends IMogoNaviListener { + + /** + * 实际导航结束 + */ + void onArriveDestination(); + + /** + * 模拟导航结束 + */ + void onEndEmulatorNavi(); +} diff --git a/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/MogoNaviListenerHandler.java b/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/MogoNaviListenerHandler.java index 7cc2f00e1a..042db244bc 100644 --- a/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/MogoNaviListenerHandler.java +++ b/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/MogoNaviListenerHandler.java @@ -6,7 +6,7 @@ package com.mogo.map.navi; *

* 地图监听注册管理 */ -public class MogoNaviListenerHandler implements IMogoNaviListener, IMogoNaviListenerRegister, IMogoAimlessModeListener { +public class MogoNaviListenerHandler implements IMogoNaviListener2, IMogoNaviListenerRegister, IMogoAimlessModeListener { private static volatile MogoNaviListenerHandler sInstance; @@ -128,4 +128,18 @@ public class MogoNaviListenerHandler implements IMogoNaviListener, IMogoNaviList mAimlessDelegateListener.onUpdateCongestion( info ); } } + + @Override + public void onArriveDestination() { + if ( mDelegateListener instanceof IMogoNaviListener2 ) { + ( ( IMogoNaviListener2 ) mDelegateListener ).onArriveDestination(); + } + } + + @Override + public void onEndEmulatorNavi() { + if ( mDelegateListener instanceof IMogoNaviListener2 ) { + ( ( IMogoNaviListener2 ) mDelegateListener ).onEndEmulatorNavi(); + } + } } diff --git a/libraries/mogo-map-api/src/main/res/drawable-ldpi/ic_navi_start.png b/libraries/mogo-map-api/src/main/res/drawable-ldpi/ic_navi_start.png old mode 100755 new mode 100644 index b2efbe3bf6..32454791f8 Binary files a/libraries/mogo-map-api/src/main/res/drawable-ldpi/ic_navi_start.png and b/libraries/mogo-map-api/src/main/res/drawable-ldpi/ic_navi_start.png differ diff --git a/libraries/mogo-map-api/src/main/res/drawable-ldpi/ic_navi_target.png b/libraries/mogo-map-api/src/main/res/drawable-ldpi/ic_navi_target.png old mode 100755 new mode 100644 index 7ee0a97750..8669793958 Binary files a/libraries/mogo-map-api/src/main/res/drawable-ldpi/ic_navi_target.png and b/libraries/mogo-map-api/src/main/res/drawable-ldpi/ic_navi_target.png differ diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsModuleConst.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsModuleConst.java index 10bc476db0..aab4fbee5b 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsModuleConst.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsModuleConst.java @@ -36,6 +36,7 @@ public class ExtensionsModuleConst { //唤醒指令 //分享路况/上报路况/上报拥堵/上报交通检查/上报封路 唤醒 public static final String UPLOAD_ROAD_CONDITION_AWAKEN = "com.zhidao.pathfinder.report.roadCondition"; + public static final String UPLOAD_ROAD_CONDITION = "command_upload_roadcondition"; //关闭分享框 唤醒 public static final String SHARE_DIALOG_CLOSE = "com.zhidao.share.close"; // 两次未回复关闭分享对话框 diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntrancePresenter.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntrancePresenter.java index 93465a16f1..00d5b691a4 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntrancePresenter.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntrancePresenter.java @@ -125,6 +125,8 @@ public class EntrancePresenter extends Presenter { * 注册唤醒命令 */ private void registerAwakeVoice() { + mogoIntentManager.registerIntentListener(ExtensionsModuleConst.UPLOAD_ROAD_CONDITION, mogoIntentListener); + mogoIntentManager.registerIntentListener(ExtensionsModuleConst.GO_TO_SHARE, mogoIntentListener); mogoIntentManager.registerIntentListener(ExtensionsModuleConst.SHARE_DIALOG_CLOSE, mogoIntentListener); mogoIntentManager.registerIntentListener(ExtensionsModuleConst.UPLOAD_ROAD_CONDITION_AWAKEN, mogoIntentListener); @@ -206,6 +208,8 @@ public class EntrancePresenter extends Presenter { ShareControl.getInstance(mContext).dismissDialog(); Logger.d(TAG, "mogoIntentListener 两次未回复关闭对话框"); } + } else if (intentStr.equals(ExtensionsModuleConst.UPLOAD_ROAD_CONDITION)) { //上报路况 免唤醒 --ok + uploadRoadCondition(); } } }; @@ -244,7 +248,8 @@ public class EntrancePresenter extends Presenter { Log.d(TAG, "handleNeedAuthorizeCmd 上报封路 ----> "); uploadRoadClosed(); } else if (mVoiceCmdType.equals(ExtensionsModuleConst.UPLOAD_ROAD_BLOCK) - || mVoiceCmdType.equals(ExtensionsModuleConst.UPLOAD_ROAD_CONDITION_AWAKEN)) { //上报拥堵, 分享路况, 上报路况 + || mVoiceCmdType.equals(ExtensionsModuleConst.UPLOAD_ROAD_CONDITION_AWAKEN) + || mVoiceCmdType.equals(ExtensionsModuleConst.UPLOAD_ROAD_CONDITION)) { //上报拥堵, 分享路况, 上报路况 Log.d(TAG, "handleNeedAuthorizeCmd 上报路况 ----> "); uploadRoadCondition(); } diff --git a/modules/mogo-module-extensions/src/main/res/drawable/shape_react_blue_grident.xml b/modules/mogo-module-extensions/src/main/res/drawable/shape_react_blue_grident.xml index 29d764182d..3c91cb81a9 100644 --- a/modules/mogo-module-extensions/src/main/res/drawable/shape_react_blue_grident.xml +++ b/modules/mogo-module-extensions/src/main/res/drawable/shape_react_blue_grident.xml @@ -1,11 +1,14 @@ - + - + diff --git a/modules/mogo-module-extensions/src/main/res/drawable/shape_round_gray.xml b/modules/mogo-module-extensions/src/main/res/drawable/shape_round_gray.xml new file mode 100644 index 0000000000..37f8498d8c --- /dev/null +++ b/modules/mogo-module-extensions/src/main/res/drawable/shape_round_gray.xml @@ -0,0 +1,7 @@ + + + + + + diff --git a/modules/mogo-module-extensions/src/main/res/layout/dialog_navi_notice.xml b/modules/mogo-module-extensions/src/main/res/layout/dialog_navi_notice.xml index 9b5e0a7fa9..219a84d48b 100644 --- a/modules/mogo-module-extensions/src/main/res/layout/dialog_navi_notice.xml +++ b/modules/mogo-module-extensions/src/main/res/layout/dialog_navi_notice.xml @@ -1,58 +1,48 @@ - - + - + + + - - - - - - \ No newline at end of file diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java index b932dcf256..961aafd349 100644 --- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java @@ -19,6 +19,7 @@ import com.mogo.map.model.MogoPoi; import com.mogo.map.navi.IMogoAimlessModeListener; import com.mogo.map.navi.IMogoCarLocationChangedListener; import com.mogo.map.navi.IMogoNaviListener; +import com.mogo.map.navi.IMogoNaviListener2; import com.mogo.map.navi.MogoCongestionInfo; import com.mogo.map.navi.MogoNaviInfo; import com.mogo.map.navi.MogoTraffic; @@ -59,7 +60,7 @@ import java.util.Map; */ public class MogoModulesManager implements MogoModulesHandler, IMogoMapListener, - IMogoNaviListener, + IMogoNaviListener2, IMogoLocationListener, IMogoIntentListener { @@ -671,6 +672,42 @@ public class MogoModulesManager implements MogoModulesHandler, } } + @Override + public void onArriveDestination() { + Iterator< IMogoNaviListener > iterator = MogoRegisterCenterHandler.getInstance().getNaviListeners(); + if ( iterator == null ) { + return; + } + while ( iterator.hasNext() ) { + IMogoNaviListener listener = iterator.next(); + if ( listener instanceof IMogoNaviListener2 ) { + try { + ( ( IMogoNaviListener2 ) listener ).onArriveDestination(); + } catch ( Exception e ) { + Logger.e( TAG, e, "error." ); + } + } + } + } + + @Override + public void onEndEmulatorNavi() { + Iterator< IMogoNaviListener > iterator = MogoRegisterCenterHandler.getInstance().getNaviListeners(); + if ( iterator == null ) { + return; + } + while ( iterator.hasNext() ) { + IMogoNaviListener listener = iterator.next(); + if ( listener instanceof IMogoNaviListener2 ) { + try { + ( ( IMogoNaviListener2 ) listener ).onEndEmulatorNavi(); + } catch ( Exception e ) { + Logger.e( TAG, e, "error." ); + } + } + } + } + @Override public String getCurrentModuleName() { return mEnableModuleName; diff --git a/modules/mogo-module-search/src/main/res/drawable/shape_react_blue_grident.xml b/modules/mogo-module-search/src/main/res/drawable/shape_react_blue_grident.xml index 804e5a8de3..88bff113e6 100644 --- a/modules/mogo-module-search/src/main/res/drawable/shape_react_blue_grident.xml +++ b/modules/mogo-module-search/src/main/res/drawable/shape_react_blue_grident.xml @@ -5,5 +5,10 @@ android:angle="180" android:endColor="#3E7FFC" android:startColor="#5CC1FF" /> + + + diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java index 2112206b1c..65e4a298f7 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java @@ -440,7 +440,7 @@ public class MogoServices implements IMogoMapListener, } break; case MotionEvent.ACTION_UP: - mStatusManager.setUserInteractionStatus( TAG, true, true ); + restartAutoRefreshAtTime( ServiceConst.DEFAULT_AUTO_REFRESH_WHEN_INTERRUPT ); break; } }