From 11c0980d3574c7bf2e7697a9f1c960b1906050d8 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 30 Jul 2020 12:02:20 +0800 Subject: [PATCH 01/10] close the proguard for now ,because can't find netty log4j proguard class --- app/build.gradle | 6 +++--- app/proguard-rules.pro | 16 +++++++++++++--- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 0ef830f124..eaaa292644 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -44,9 +44,9 @@ android { signingConfig signingConfigs.release } release { - minifyEnabled true - zipAlignEnabled true - shrinkResources true + minifyEnabled false + zipAlignEnabled false + shrinkResources false signingConfig signingConfigs.release proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index 1e2af9ad7a..5df1580f5a 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -335,9 +335,12 @@ #-----Netty----- -keepattributes Signature,InnerClasses --keepclasseswithmembers class io.netty.** { - *; -} +-keep class io.netty.** {*;} +-keep class org.apache.** {*;} +-keep class org.apache.logging.**{*;} +-keepclasseswithmembers class io.netty.** {*;} +-keepclasseswithmembers class org.apache.logging.**{*;} +-keep class org.apache.http.**{*;} -dontwarn io.netty.** -dontwarn sun.** @@ -354,6 +357,13 @@ -keep class com.zhidao.autopilot.support.**{*;} -keep class com.zhidao.voice.library.**{*;} -keep class com.zhidao.voicesdk.**{*;} +-keep class com.zhidao.smartv2x.**{*;} +-keep class com.zhidao.accountsdk.**{*;} +-keep class com.zhidao.account.**{*;} +-keep class com.zhidao.locupload.**{*;} +-keep class com.zhidao.tcloginsdk.**{*;} +-keep class com.zhidao.utils.**{*;} +-keep class com.hw.videoprocessor.**{*;} -dontwarn com.elegant.network.** From 3ed51c39473287c93dea731dc025b8274f2b00d9 Mon Sep 17 00:00:00 2001 From: tongchenfei Date: Thu, 30 Jul 2020 15:26:46 +0800 Subject: [PATCH 02/10] bug fix --- .../module/extensions/utils/TopViewAnimHelper.java | 14 ++++++++++++++ .../module/extensions/utils/TopViewManager.java | 12 ++++++++++++ 2 files changed, 26 insertions(+) diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewAnimHelper.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewAnimHelper.java index 177aa0c2a8..bdda5bb436 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewAnimHelper.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewAnimHelper.java @@ -662,4 +662,18 @@ public class TopViewAnimHelper { tvTurnInfo.setVisibility(visibility); } + + public void removeAllView(){ + isTopViewOut = true; + int lastCount = topContainer.getChildCount(); + for (int i = 0; i < lastCount; i++) { + View child = topContainer.getChildAt(i); + viewCaches.remove(child); + IMogoTopViewStatusListener listener = statusListenerMap.remove(child); + if (listener != null) { + listener.onViewRemoved(child); + } + } + topContainer.removeAllViews(); + } } diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewManager.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewManager.java index 29a161821c..c5f4d77e80 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewManager.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewManager.java @@ -6,8 +6,12 @@ import android.view.ViewGroup; import android.view.ViewGroup.LayoutParams; import com.alibaba.android.arouter.facade.annotation.Route; +import com.alibaba.android.arouter.launcher.ARouter; import com.mogo.module.extensions.R; +import com.mogo.service.IMogoServiceApis; import com.mogo.service.MogoServicePaths; +import com.mogo.service.statusmanager.IMogoStatusChangedListener; +import com.mogo.service.statusmanager.StatusDescriptor; import com.mogo.service.windowview.IMogoTopViewManager; import com.mogo.service.windowview.IMogoTopViewStatusListener; @@ -21,10 +25,18 @@ public class TopViewManager implements IMogoTopViewManager { private Context context; private LayoutParams parentParams; + private IMogoServiceApis serviceApis; @Override public void init(Context context) { this.context = context; + serviceApis = + (IMogoServiceApis) ARouter.getInstance().build(MogoServicePaths.PATH_SERVICE_APIS).navigation(context); + serviceApis.getStatusManagerApi().registerStatusChangedListener(MogoServicePaths.PATH_EXTENSIONS_TOP_VIEW_MANAGER, StatusDescriptor.MAIN_PAGE_RESUME, (descriptor, isTrue) -> { + if (!isTrue) { + TopViewAnimHelper.getInstance().removeAllView(); + } + }); } @Override From aef7a4aa82e4f6bec7b881a9f7330b329d6c796b Mon Sep 17 00:00:00 2001 From: lixiaopeng Date: Thu, 30 Jul 2020 15:35:37 +0800 Subject: [PATCH 03/10] opt --- .idea/misc.xml | 2 +- gradle.properties | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.idea/misc.xml b/.idea/misc.xml index 21e99e2dc0..cd77a1f062 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -4,7 +4,7 @@ - + \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 45c439c828..46675692e3 100644 --- a/gradle.properties +++ b/gradle.properties @@ -63,7 +63,7 @@ MOGO_BASE_SERVICES_SDK_VERSION = 1.2.1.22 ## 工程外部模块 # 探路 -MOGO_MODULE_TANLU_VERSION=1.3.1.16 +MOGO_MODULE_TANLU_VERSION=1.3.1.19 # 车聊聊 CARCHATTING_VERSION=1.4.8 # 车聊聊接口 @@ -81,7 +81,7 @@ MOGO_MODULE_PUSH_NOOP_VERSION=1.1.5.6 # 广告资源位 MOGO_MODULE_AD_CARD_VERSION=1.0.1 # 探路上报和分享模块 -TANLULIB_VERSION=1.3.1.16 +TANLULIB_VERSION=1.3.1.19 MOGO_MODULE_EVENT_PANEL_VERSION = 1.0.0-SNAPSHOT MOGO_MODULE_EVENT_PANEL_NOOP_VERSION = 1.0.0-SNAPSHOT #左侧面板模块 From 68443c043fdbe4db94d7dcd0c1af7ee91bfc8152 Mon Sep 17 00:00:00 2001 From: tongchenfei Date: Thu, 30 Jul 2020 15:48:58 +0800 Subject: [PATCH 04/10] bug fix --- .../com/mogo/module/extensions/utils/TopViewAnimHelper.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewAnimHelper.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewAnimHelper.java index bdda5bb436..9359557453 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewAnimHelper.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewAnimHelper.java @@ -664,6 +664,7 @@ public class TopViewAnimHelper { } public void removeAllView(){ + Logger.d(TAG, "remove all view"); isTopViewOut = true; int lastCount = topContainer.getChildCount(); for (int i = 0; i < lastCount; i++) { @@ -675,5 +676,7 @@ public class TopViewAnimHelper { } } topContainer.removeAllViews(); + hideNaviView(); + MapCenterPointStrategy.setMapCenterPointByScene(mogoMapUIController, Scene.AIMLESS); } } From 6fd41b9958a21bf09430088d981600446897e0d3 Mon Sep 17 00:00:00 2001 From: lixiaopeng Date: Thu, 30 Jul 2020 15:50:49 +0800 Subject: [PATCH 05/10] opt --- gradle.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index 46675692e3..5f9477869a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -63,7 +63,7 @@ MOGO_BASE_SERVICES_SDK_VERSION = 1.2.1.22 ## 工程外部模块 # 探路 -MOGO_MODULE_TANLU_VERSION=1.3.1.19 +MOGO_MODULE_TANLU_VERSION=1.3.1.20 # 车聊聊 CARCHATTING_VERSION=1.4.8 # 车聊聊接口 @@ -81,7 +81,7 @@ MOGO_MODULE_PUSH_NOOP_VERSION=1.1.5.6 # 广告资源位 MOGO_MODULE_AD_CARD_VERSION=1.0.1 # 探路上报和分享模块 -TANLULIB_VERSION=1.3.1.19 +TANLULIB_VERSION=1.3.1.20 MOGO_MODULE_EVENT_PANEL_VERSION = 1.0.0-SNAPSHOT MOGO_MODULE_EVENT_PANEL_NOOP_VERSION = 1.0.0-SNAPSHOT #左侧面板模块 From 49fb4ce107d483c36348ffae5df0de35005cca4f Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 30 Jul 2020 16:03:13 +0800 Subject: [PATCH 06/10] .. --- app/proguard-rules.pro | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index 5df1580f5a..3f451d8bed 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -366,6 +366,8 @@ -keep class com.hw.videoprocessor.**{*;} -dontwarn com.elegant.network.** +-keep class com.bytedance.boost_multidex.**{*;} + From 45bcbaf979c2c29f718022c13c2bbe56fcdcc54b Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Thu, 30 Jul 2020 17:44:37 +0800 Subject: [PATCH 07/10] =?UTF-8?q?=E5=8D=87=E7=BA=A7passport=E7=9B=B8?= =?UTF-8?q?=E5=85=B3sdk=E3=80=81=E4=BF=AE=E6=94=B9=E5=9C=B0=E5=9B=BE"?= =?UTF-8?q?=E7=BB=A7=E7=BB=AD=E5=AF=BC=E8=88=AA"=E6=8C=87=E4=BB=A4?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config.gradle | 2 +- foudations/mogo-base-services-sdk/build.gradle | 2 +- .../src/main/java/com/mogo/module/map/MapPresenter.java | 3 +++ 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/config.gradle b/config.gradle index f0a58756c4..161085a014 100644 --- a/config.gradle +++ b/config.gradle @@ -130,7 +130,7 @@ targetSdkVersion : 22, jetbrainsannotationsjava5: "org.jetbrains:annotations-java5:15.0", // 统一登录 - accountsdk : "com.zhidao.accountservice:account-sdk:1.0.8", + accountsdk : "com.zhidao.accountservice:account-sdk:1.0.11", // crash crashSdk : "com.zhidaoauto.crash.log:library:1.0.5", kotlinstdlibjdk7 : "org.jetbrains.kotlin:kotlin-stdlib-jdk7", diff --git a/foudations/mogo-base-services-sdk/build.gradle b/foudations/mogo-base-services-sdk/build.gradle index 7237542631..6a9ad088e4 100644 --- a/foudations/mogo-base-services-sdk/build.gradle +++ b/foudations/mogo-base-services-sdk/build.gradle @@ -34,7 +34,7 @@ dependencies { // 长链 implementation 'com.zhidao.socket:built-in-socket:1.0.15' // passport - implementation 'com.zhidao.tcloginsdk:tclogin:1.1.0' + implementation 'com.zhidao.tcloginsdk:tclogin:1.1.3' annotationProcessor 'com.elegant.spi:compiler:1.0.3' diff --git a/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapPresenter.java b/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapPresenter.java index 0812fb9e2e..6340143aad 100644 --- a/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapPresenter.java +++ b/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapPresenter.java @@ -508,6 +508,9 @@ public class MapPresenter extends Presenter< MapView > implements onDisplayOverview(); break; case VoiceConstants.CMD_MAP_CONTINUE_NAVI_MODE: + if ( CustomNaviInterrupter.getInstance().interrupt() ) { + return; + } onContinueNavigation(); break; case VoiceConstants.CMD_MAP_CAR_UP_MODE_UN_WAKEUP: From 1153813221c4bcf3c1f2e0a8e8274a5ef51f68bf Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Fri, 31 Jul 2020 11:09:45 +0800 Subject: [PATCH 08/10] =?UTF-8?q?=E8=9E=8D=E5=90=88=E9=AB=98=E5=BE=B7?= =?UTF-8?q?=E5=B9=BF=E6=92=AD=E5=92=8C=E8=AF=AD=E9=9F=B3=E6=8C=87=E4=BB=A4?= =?UTF-8?q?=E6=8E=A7=E5=88=B6=E5=9C=B0=E5=9B=BE=E7=9A=84=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../services/passport/PassportManager.java | 30 +- .../module/map/AutoNaviBroadcastReceiver.java | 127 ++++++ .../module/map/MapControlCommandHandler.java | 94 +++++ .../java/com/mogo/module/map/MapFragment.java | 8 +- .../com/mogo/module/map/MapPresenter.java | 378 +++++------------- .../mogo/module/map/OnMapControlCallback.java | 42 ++ 6 files changed, 387 insertions(+), 292 deletions(-) create mode 100644 modules/mogo-module-map/src/main/java/com/mogo/module/map/AutoNaviBroadcastReceiver.java create mode 100644 modules/mogo-module-map/src/main/java/com/mogo/module/map/MapControlCommandHandler.java create mode 100644 modules/mogo-module-map/src/main/java/com/mogo/module/map/OnMapControlCallback.java diff --git a/foudations/mogo-base-services-apk/src/main/java/com/mogo/base/services/passport/PassportManager.java b/foudations/mogo-base-services-apk/src/main/java/com/mogo/base/services/passport/PassportManager.java index 2a23051695..ede1bc990e 100644 --- a/foudations/mogo-base-services-apk/src/main/java/com/mogo/base/services/passport/PassportManager.java +++ b/foudations/mogo-base-services-apk/src/main/java/com/mogo/base/services/passport/PassportManager.java @@ -10,6 +10,7 @@ import com.mogo.service.passport.IMogoPassportManager; import com.mogo.service.passport.IMogoTicketCallback; import com.mogo.utils.logger.Logger; import com.zhidao.account.sdk.AccountClientManager; +import com.zhidao.account.sdk.Environment; import com.zhidao.account.sdk.callback.TicketInfoCallback; import com.zhidao.account.sdk.network.NetEnvironManager; @@ -27,13 +28,14 @@ class PassportManager implements IMogoPassportManager { private static volatile PassportManager sInstance; - private PassportManager(){} + private PassportManager() { + } @Keep - public static PassportManager getInstance(){ - if( sInstance == null ){ - synchronized( PassportManager.class ) { - if( sInstance == null ){ + public static PassportManager getInstance() { + if ( sInstance == null ) { + synchronized ( PassportManager.class ) { + if ( sInstance == null ) { sInstance = new PassportManager(); } } @@ -41,7 +43,7 @@ class PassportManager implements IMogoPassportManager { return sInstance; } - public synchronized void release(){ + public synchronized void release() { sInstance = null; } @@ -77,11 +79,25 @@ class PassportManager implements IMogoPassportManager { @Override public void init( Context context ) { + AccountClientManager.init( context.getApplicationContext(), getNetEnvironment(), NetEnvironManager.OS_2C, "os2.0-launcher" ); + } + + private Environment getNetEnvironment() { int mode = DebugConfig.getNetMode(); if ( mode == DebugConfig.NET_MODE_DEMO ) { // 演示环境用 qa 的 mode = DebugConfig.NET_MODE_QA; } - AccountClientManager.init( context.getApplicationContext(), mode, NetEnvironManager.OS_2C, "os2.0-launcher" ); + switch ( mode ) { + case DebugConfig.NET_MODE_DEV: + return Environment.dev; + case DebugConfig.NET_MODE_DEMO: + case DebugConfig.NET_MODE_QA: + return Environment.qa; + case DebugConfig.NET_MODE_RELEASE: + default: + return Environment.release; + + } } } diff --git a/modules/mogo-module-map/src/main/java/com/mogo/module/map/AutoNaviBroadcastReceiver.java b/modules/mogo-module-map/src/main/java/com/mogo/module/map/AutoNaviBroadcastReceiver.java new file mode 100644 index 0000000000..242bbbce63 --- /dev/null +++ b/modules/mogo-module-map/src/main/java/com/mogo/module/map/AutoNaviBroadcastReceiver.java @@ -0,0 +1,127 @@ +package com.mogo.module.map; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.text.TextUtils; + +import com.mogo.commons.AbsMogoApplication; +import com.mogo.map.navi.MogoNaviConfig; +import com.mogo.map.uicontroller.EnumMapUI; +import com.mogo.utils.logger.Logger; + +public +/** + * @author congtaowang + * @since 2020/7/30 + * + * 接收高德地图车机版广播 + */ +class AutoNaviBroadcastReceiver extends BroadcastReceiver { + + public static final String TAG = "AutoNaviBroadcastReceiver"; + + public static final String AUTONAVI_STANDARD_BROADCAST_RECV = "AUTONAVI_STANDARD_BROADCAST_RECV"; + + public void register() { + IntentFilter inputFilter = new IntentFilter(); + inputFilter.addAction( AUTONAVI_STANDARD_BROADCAST_RECV ); + AbsMogoApplication.getApp().registerReceiver( this, inputFilter ); + } + + public void unregister() { + mCallback = null; + AbsMogoApplication.getApp().unregisterReceiver( this ); + } + + private OnMapControlCallback mCallback; + + public void setCallback( OnMapControlCallback mCallback ) { + this.mCallback = mCallback; + } + + @Override + public void onReceive( Context context, Intent intent ) { + String action = intent.getAction(); + + int keyType = intent.getIntExtra( "KEY_TYPE", 0 ); + int type = intent.getIntExtra( "EXTRA_TYPE", -1 ); + int operaType = intent.getIntExtra( "EXTRA_OPERA", -1 ); + + Logger.d( TAG, "action = %s, keyType=%s, type=%s, operType=%s", action, keyType, type, operaType ); + + if ( !TextUtils.equals( action, AUTONAVI_STANDARD_BROADCAST_RECV ) ) { + return; + } + + if ( mCallback == null ) { + return; + } + + if ( keyType == 10027 ) { + if ( type == 0 ) { + mCallback.onTrafficModeChanged( operaType == 0 ); + } else if ( type == 2 ) { + if ( operaType == 0 ) { + mCallback.onCameraModeChanged( EnumMapUI.CarUp_2D ); + } else if ( operaType == 1 ) { + mCallback.onCameraModeChanged( EnumMapUI.NorthUP_2D ); + } else if ( operaType == 2 ) { + mCallback.onCameraModeChanged( EnumMapUI.CarUp_3D ); + } + } + } else if ( keyType == 10048 ) { + //0:自动; 1:白天; 2:黑夜; + int dayNightMode = intent.getIntExtra( "EXTRA_DAY_NIGHT_MODE", -1 ); + if ( dayNightMode == 0 ) { + mCallback.onDayNightModeChanged( EnumMapUI.Type_AUTO_LIGHT_Night ); + } else if ( dayNightMode == 1 ) { + mCallback.onDayNightModeChanged( EnumMapUI.Type_Light ); + } else if ( dayNightMode == 2 ) { + mCallback.onDayNightModeChanged( EnumMapUI.Type_Night ); + } + } else if ( keyType == 10049 ) { + //继续导航 + boolean extraEnduranceData = intent.getBooleanExtra( "EXTRA_ENDURANCE_DATA", false ); + if ( extraEnduranceData ) { + mCallback.onContinueNavi(); + } + } else if ( keyType == 20009 ) { + mCallback.onOpenNavi(); + } else if ( keyType == 10038 || keyType == 10007 ) { + double lat; + double lon; + + if ( type == 10007 ) { + lat = intent.getDoubleExtra( "ENTRY_LAT", 0.0 ); + lon = intent.getDoubleExtra( "ENTRY_LON", 0.0 ); + } else { + lat = intent.getDoubleExtra( "LAT", 0.0 ); + lon = intent.getDoubleExtra( "LON", 0.0 ); + } + mCallback.onCalculatePath( lon, lat ); + } else if ( keyType == 10021 ) { + mCallback.onStopNaviInternal( intent ); + } else if ( keyType == 10005 ) { + // 仅在导航场景下,⽀持第三⽅进⾏路线偏好的重新选择。 + // 避免收费 | 1 + // 多策略算路 | 2 + // 不走高速 | 3 + // 躲避拥堵 | 4 + // 不走高速且避免收费 | 5 + // 不走高速且躲避拥堵 | 6 + // 躲避收费和拥堵 | 7 + // 不走高速躲避收费和拥堵 | 8 + // 高速优先 | 20 + // 躲避拥堵且高速优先 | 24 + int prefer = intent.getIntExtra( "NAVI_ROUTE_PREFER", 0 ); + MogoNaviConfig config = new MogoNaviConfig().congestion( prefer == 4 ) + .cost( prefer == 1 || prefer == 7 ) + .highSpeed( prefer == 20 ) + .avoidSpeed( prefer == 3 ); + mCallback.onReCalculatePath( config ); + } + mCallback.onEnd( intent ); + } +} diff --git a/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapControlCommandHandler.java b/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapControlCommandHandler.java new file mode 100644 index 0000000000..e8a38b4c45 --- /dev/null +++ b/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapControlCommandHandler.java @@ -0,0 +1,94 @@ +package com.mogo.module.map; + +import com.mogo.map.uicontroller.EnumMapUI; +import com.mogo.utils.logger.Logger; + +public +/** + * @author congtaowang + * @since 2020/7/30 + *

+ * 语音控制地图 + */ +class MapControlCommandHandler { + + private static final String TAG = "CustomVoiceCommandHandler"; + + private OnMapControlCallback mCallback; + + public void setCallback( OnMapControlCallback mCallback ) { + this.mCallback = mCallback; + } + + public void handleVoiceCommand( String cmd ) { + Logger.d( TAG, cmd ); + switch ( cmd ) { + case VoiceConstants.CMD_MAP_TRAFFIC_MODE_UN_WAKEUP: + case VoiceConstants.CMD_MAP_TRAFFIC_MODE: + mCallback.onTrafficModeChanged( true ); + break; + case VoiceConstants.CMD_MAP_UN_TRAFFIC_MODE_UN_WAKEUP: + case VoiceConstants.CMD_MAP_UN_TRAFFIC_MODE: + mCallback.onTrafficModeChanged( false ); + break; + case VoiceConstants.CMD_MAP_ZOOM_IN_UN_WAKEUP: + case VoiceConstants.CMD_MAP_ZOOM_IN: + mCallback.onZoomMap( true ); + break; + case VoiceConstants.CMD_MAP_ZOOM_OUT_UN_WAKEUP: + case VoiceConstants.CMD_MAP_ZOOM_OUT: + mCallback.onZoomMap( false ); + break; + case VoiceConstants.CMD_MAP_2D_UN_WAKEUP: + case VoiceConstants.CMD_MAP_2D: + case VoiceConstants.CMD_MAP_NORTH_UP_MODE_UN_WAKEUP: + case VoiceConstants.CMD_MAP_NORTH_UP_MODE: + mCallback.onCameraModeChanged( EnumMapUI.NorthUP_2D ); + break; + case VoiceConstants.CMD_MAP_3D_UN_WAKEUP: + case VoiceConstants.CMD_MAP_3D: + mCallback.onCameraModeChanged( EnumMapUI.CarUp_3D ); + break; + case VoiceConstants.CMD_MAP_DAY_TIME_MODE_UN_WAKEUP: + case VoiceConstants.CMD_MAP_DAY_TIME_MODE: + mCallback.onDayNightModeChanged( EnumMapUI.Type_Light ); + break; + case VoiceConstants.CMD_MAP_HISTORY_UN_WAKEUP: + case VoiceConstants.CMD_MAP_HISTORY: + mCallback.onOpenNavi(); + break; + case VoiceConstants.CMD_MAP_STOP_NAVI_MODE_UN_WAKEUP: + case VoiceConstants.CMD_MAP_STOP_NAVI_MODE: + break; + case VoiceConstants.CMD_MAP_NIGHT_MODE_UN_WAKEUP: + case VoiceConstants.CMD_MAP_NIGHT_MODE: + mCallback.onDayNightModeChanged( EnumMapUI.Type_Night ); + break; + case VoiceConstants.CMD_MAP_AUTO_LIGHT_NIGHT_MODE_UN_WAKEUP: + case VoiceConstants.CMD_MAP_AUTO_LIGHT_NIGHT_MODE: + mCallback.onDayNightModeChanged( EnumMapUI.Type_AUTO_LIGHT_Night ); + break; + case VoiceConstants.CMD_MAP_DISPLAY_OVERVIEW_MODE: + mCallback.onDisplayOverview(); + break; + case VoiceConstants.CMD_MAP_CONTINUE_NAVI_MODE: + mCallback.onContinueNavi(); + break; + case VoiceConstants.CMD_MAP_CAR_UP_MODE_UN_WAKEUP: + case VoiceConstants.CMD_MAP_CAR_UP_MODE: + mCallback.onCameraModeChanged( EnumMapUI.CarUp_2D ); + break; + case VoiceConstants.CMD_MAP_SPEAK_DRAFT_MODE: + case VoiceConstants.CMD_MAP_SPEAK_DRAFT_MODE_UN_WAKEUP: + break; + case VoiceConstants.CMD_MAP_SPEAK_DETAIL_MODE: + case VoiceConstants.CMD_MAP_SPEAK_DETAIL_MODE_UN_WAKEUP: + break; + case VoiceConstants.CMD_MAP_SPEAK_REMAIN: + break; + default: + break; + + } + } +} diff --git a/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapFragment.java b/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapFragment.java index 9a51a52573..a563efc7da 100644 --- a/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapFragment.java +++ b/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapFragment.java @@ -39,9 +39,6 @@ public class MapFragment extends MvpFragment< MapView, MapPresenter > implements @Override protected void initViews() { - //mMogoMapView = findViewById( R.id.module_map_id_map ); - //mMogoMap = mMogoMapView.getMap(); - //mMogoMap.getUIController().showMyLocation( true ); } @Override @@ -63,9 +60,6 @@ public class MapFragment extends MvpFragment< MapView, MapPresenter > implements @Override public void onActivityCreated( @Nullable Bundle savedInstanceState ) { super.onActivityCreated( savedInstanceState ); - //if ( mMogoMapView != null ) { - // mMogoMapView.onCreate( savedInstanceState ); - //} initMapView(); } @@ -125,7 +119,7 @@ public class MapFragment extends MvpFragment< MapView, MapPresenter > implements uiSettings.setZoomControlsEnabled( false ); //设置双指缩放手势是否可用。 uiSettings.setZoomGesturesEnabled( true ); - mMogoMap.getUIController().changeMapMode(EnumMapUI.NorthUP_2D); + mMogoMap.getUIController().changeMapMode( EnumMapUI.NorthUP_2D ); } } } diff --git a/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapPresenter.java b/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapPresenter.java index 6340143aad..f72c5dea25 100644 --- a/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapPresenter.java +++ b/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapPresenter.java @@ -1,16 +1,12 @@ package com.mogo.module.map; import android.app.ActivityManager; -import android.content.BroadcastReceiver; -import android.content.ComponentName; import android.content.Context; import android.content.Intent; -import android.content.IntentFilter; import android.graphics.Rect; import android.text.TextUtils; import androidx.annotation.NonNull; -import androidx.annotation.UiThread; import androidx.lifecycle.LifecycleOwner; import com.alibaba.android.arouter.launcher.ARouter; @@ -34,10 +30,8 @@ import com.mogo.service.launcher.IMogoLauncher; import com.mogo.service.map.IMogoMapService; import com.mogo.service.module.IMogoRegisterCenter; import com.mogo.service.module.IMogoSearchManager; -import com.mogo.service.module.IMogoSettingManager; import com.mogo.service.statusmanager.IMogoStatusManager; import com.mogo.service.strategy.IMogoRefreshStrategyController; -import com.mogo.utils.AppUtils; import com.mogo.utils.ResourcesHelper; import com.mogo.utils.UiThreadHandler; import com.mogo.utils.logger.Logger; @@ -54,10 +48,10 @@ import java.util.Map; public class MapPresenter extends Presenter< MapView > implements IMogoIntentListener, IMogoVoiceCmdCallBack, - IMogoNaviListener2 { + IMogoNaviListener2, + OnMapControlCallback { private static final String TAG = "MapPresenter"; - private static final String AUTONAVI_STANDARD_BROADCAST_RECV = "AUTONAVI_STANDARD_BROADCAST_RECV"; private IMogoMapService mMogoMapService; private IMogoIntentManager mMogoIntentManager; private IMogoSearchManager mSearchManager; @@ -66,7 +60,6 @@ public class MapPresenter extends Presenter< MapView > implements private IMogoRegisterCenter mRegisterCenter; private IMogoLauncher mLauncher; private IMogoSearchManager mMogoSearchManager; - private IMogoSettingManager mSettingManager; private Rect mDisplayOverviewBounds; @@ -80,114 +73,112 @@ public class MapPresenter extends Presenter< MapView > implements mView.getUIController().recoverLockMode(); } }; + private AutoNaviBroadcastReceiver mAutoNaviReceiver; + private MapControlCommandHandler mCustomVoiceCommandHandler; public MapPresenter( MapView view ) { super( view ); initBroadcast(); + mCustomVoiceCommandHandler = new MapControlCommandHandler(); + mCustomVoiceCommandHandler.setCallback( this ); } - private BroadcastReceiver broadcastReceiver; - /** * opera type为0:0 实时路况开;1实时路况关 type为1:0 放大地图; 1缩小地图 type为2:0切换2d车上; 1切换2d北上;2切换3d车上支持 */ private void initBroadcast() { - // 高德地图免唤醒 - broadcastReceiver = new BroadcastReceiver() { - @Override - public void onReceive( Context context, Intent intent ) { - String action = intent.getAction(); - Logger.d( TAG, "action = %s", action ); + mAutoNaviReceiver = new AutoNaviBroadcastReceiver(); + mAutoNaviReceiver.setCallback( this ); + mAutoNaviReceiver.register(); + } - if ( !TextUtils.equals( action, AUTONAVI_STANDARD_BROADCAST_RECV ) ) { - return; + @Override + public void onTrafficModeChanged( boolean open ) { + mView.getUIController().setTrafficEnabled( open ); + } + + @Override + public void onCameraModeChanged( EnumMapUI mode ) { + mView.getUIController().changeMapMode( mode ); + } + + @Override + public void onDayNightModeChanged( EnumMapUI mode ) { + mView.getUIController().changeMapMode( mode ); + } + + @Override + public void onContinueNavi() { + if ( CustomNaviInterrupter.getInstance().interrupt() ) { + return; + } + if ( mStatusManager.isMainPageOnResume() ) { + mStatusManager.setDisplayOverview( TAG, false ); + mView.getUIController().recoverLockMode(); + AIAssist.getInstance( getContext() ).speakTTSVoice( "已为您继续导航" ); + UiThreadHandler.removeCallbacks( mLockCarRunnable ); + } else { + mLauncher.backToLauncher( getContext() ); + UiThreadHandler.postDelayed( () -> { + try { + mStatusManager.setDisplayOverview( TAG, false ); + mView.getUIController().recoverLockMode(); + AIAssist.getInstance( getContext() ).speakTTSVoice( "已为您继续导航" ); + UiThreadHandler.removeCallbacks( mLockCarRunnable ); + } catch ( Exception e ) { + e.printStackTrace(); } - int key_type = intent.getIntExtra( "KEY_TYPE", 0 ); - int type = intent.getIntExtra( "EXTRA_TYPE", -1 ); - int opera_type = intent.getIntExtra( "EXTRA_OPERA", -1 ); - Logger.d( TAG, "key_type" + key_type ); - if ( key_type == 10027 ) { - if ( type == 0 ) { - onChangeTrafficMode( opera_type ); - } else if ( type == 2 ) { - onChangeCameraMode( opera_type ); - } - } else if ( key_type == 10048 ) { - //0:自动; 1:白天; 2:黑夜; - int day_night_mode = intent.getIntExtra( "EXTRA_DAY_NIGHT_MODE", -1 ); - onChangeDayNightMode( day_night_mode ); - //继续导航 - } else if ( key_type == 10049 ) { - if ( CustomNaviInterrupter.getInstance().interrupt() ) { - return; - } - boolean extra_endurance_data = intent.getBooleanExtra( "EXTRA_ENDURANCE_DATA", false ); - if ( extra_endurance_data ) { - onContinueNavigation(); - } - } else if ( key_type == 10006 ) { - // 避免冲突,会同时发送两个广播,这里不操作。 - //int extra_is_show = intent.getIntExtra( "EXTRA_IS_SHOW", 0 ); - //if ( extra_is_show == 0 ) { - // onDisplayOverview(); - //} else { - // onContinueNavigation(); - //} - } else if ( key_type == 10005 ) { - int navi_route_prefer = intent.getIntExtra( "NAVI_ROUTE_PREFER", type ); - } else if ( key_type == 20009 ) { - if ( CustomNaviInterrupter.getInstance().interrupt() ) { - return; - } - onOpenNavi(); - } else if ( key_type == 10038 || key_type == 10007 ) { - if ( CustomNaviInterrupter.getInstance().interrupt() ) { - return; - } + }, 2_000L ); + } + } + + @Override + public void onOpenNavi() { + if ( CustomNaviInterrupter.getInstance().interrupt() ) { + return; + } + mLauncher.backToLauncher( getContext() ); + if ( !mMogoMapService.getNavi( getContext() ).isNaviing() && !mStatusManager.isSearchUIShow() ) { + mSearchManager.showSearch(); + } + AIAssist.getInstance( getContext() ).speakTTSVoice( "已打开" ); + } + + @Override + public void onCalculatePath( double lon, double lat ) { + if ( CustomNaviInterrupter.getInstance().interrupt() ) { + return; + } + mLauncher.backToLauncher( getContext() ); + mMogoSearchManager.calculatePath( new MogoLatLng( lat, lon ) ); + } + + @Override + public void onStopNaviInternal( Intent intent ) { + if ( CustomNaviInterrupter.getInstance().interrupt() ) { + // 导航过程中语音指令退出导航,会出现 activity 不走 onResume 的情况 + UiThreadHandler.postDelayed( () -> { + if ( isForeground( getContext() ) && !hasOthersActivity() && !mStatusManager.isMainPageOnResume() ) { mLauncher.backToLauncher( getContext() ); - onChoosePath( intent, key_type ); - } else if ( key_type == 10021 ) { - if ( CustomNaviInterrupter.getInstance().interrupt() ) { - // 导航过程中语音指令退出导航,会出现 activity 不走 onResume 的情况 - UiThreadHandler.postDelayed( () -> { - if ( isForeground( getContext() ) && !hasOthersActivity() && !mStatusManager.isMainPageOnResume() ) { - mLauncher.backToLauncher( getContext() ); - } - }, 500L ); - mMogoIntentManager.invoke( AUTONAVI_STANDARD_BROADCAST_RECV, intent ); - return; - } - onStopNaviInternal(); - } else if ( key_type == 10005 ) { - // 仅在导航场景下,⽀持第三⽅进⾏路线偏好的重新选择。 - // 避免收费 | 1 - // 多策略算路 | 2 - // 不走高速 | 3 - // 躲避拥堵 | 4 - // 不走高速且避免收费 | 5 - // 不走高速且躲避拥堵 | 6 - // 躲避收费和拥堵 | 7 - // 不走高速躲避收费和拥堵 | 8 - // 高速优先 | 20 - // 躲避拥堵且高速优先 | 24 - if ( CustomNaviInterrupter.getInstance().interrupt() ) { - return; - } - int prefer = intent.getIntExtra( "NAVI_ROUTE_PREFER", 0 ); - MogoNaviConfig config = new MogoNaviConfig().congestion( prefer == 4 ) - .cost( prefer == 1 || prefer == 7 ) - .highSpeed( prefer == 20 ) - .avoidSpeed( prefer == 3 ); - mMogoMapService.getNavi( getContext() ).reCalculateRoute( config ); - } - mMogoIntentManager.invoke( AUTONAVI_STANDARD_BROADCAST_RECV, intent ); - } - }; + }, 500L ); + onEnd( intent ); + return; + } + mMogoMapService.getNavi( getContext() ).stopNavi(); + } - IntentFilter inputFilter = new IntentFilter(); - inputFilter.addAction( AUTONAVI_STANDARD_BROADCAST_RECV ); - getContext().registerReceiver( broadcastReceiver, inputFilter ); + @Override + public void onReCalculatePath( MogoNaviConfig config ) { + if ( CustomNaviInterrupter.getInstance().interrupt() ) { + return; + } + mMogoMapService.getNavi( getContext() ).reCalculateRoute( config ); + } + + @Override + public void onEnd( Intent intent ) { + mMogoIntentManager.invoke( AutoNaviBroadcastReceiver.AUTONAVI_STANDARD_BROADCAST_RECV, intent ); } private boolean isForeground( Context context ) { @@ -218,91 +209,8 @@ public class MapPresenter extends Presenter< MapView > implements return true; } - /** - * 切换交通态势模式 - * - * @param mode - */ - private void onChangeTrafficMode( int mode ) { - mView.getUIController().setTrafficEnabled( mode == 0 ); - } - - /** - * 切换地图视图朝向模式 - */ - private void onChangeCameraMode( int mode ) { - if ( mode == 0 ) { - mView.getUIController().changeMapMode( EnumMapUI.CarUp_2D ); - } else if ( mode == 1 ) { - mView.getUIController().changeMapMode( EnumMapUI.NorthUP_2D ); - } else if ( mode == 2 ) { - mView.getUIController().changeMapMode( EnumMapUI.CarUp_3D ); - } - } - - /** - * 切换白天黑夜模式 - * - * @param mode - */ - private void onChangeDayNightMode( int mode ) { - if ( mode == 0 ) { - mView.getUIController().changeMapMode( EnumMapUI.Type_AUTO_LIGHT_Night ); - } else if ( mode == 1 ) { - mView.getUIController().changeMapMode( EnumMapUI.Type_Light ); - } else if ( mode == 2 ) { - mView.getUIController().changeMapMode( EnumMapUI.Type_Night ); - } - } - - private void onStopNaviInternal() { - mMogoMapService.getNavi( getContext() ).stopNavi(); - } - - - /** - * 唤醒指令导航去哪里 - */ - private void onChoosePath( Intent intent, int type ) { - double lat; - double lon; - - if ( type == 10007 ) { - lat = intent.getDoubleExtra( "ENTRY_LAT", 0.0 ); - lon = intent.getDoubleExtra( "ENTRY_LON", 0.0 ); - } else { - lat = intent.getDoubleExtra( "LAT", 0.0 ); - lon = intent.getDoubleExtra( "LON", 0.0 ); - } - mMogoSearchManager.calculatePath( new MogoLatLng( lat, lon ) ); - } - - /** - * 继续导航 - */ - private void onContinueNavigation() { - - if ( mStatusManager.isMainPageOnResume() ) { - mStatusManager.setDisplayOverview( TAG, false ); - mView.getUIController().recoverLockMode(); - AIAssist.getInstance( getContext() ).speakTTSVoice( "已为您继续导航" ); - UiThreadHandler.removeCallbacks( mLockCarRunnable ); - } else { - mLauncher.backToLauncher( getContext() ); - UiThreadHandler.postDelayed( () -> { - try { - mStatusManager.setDisplayOverview( TAG, false ); - mView.getUIController().recoverLockMode(); - AIAssist.getInstance( getContext() ).speakTTSVoice( "已为您继续导航" ); - UiThreadHandler.removeCallbacks( mLockCarRunnable ); - } catch ( Exception e ) { - e.printStackTrace(); - } - }, 2_000L ); - } - } - - private void onDisplayOverview() { + @Override + public void onDisplayOverview() { if ( !mMogoMapService.getNavi( getContext() ).isNaviing() ) { Logger.d( TAG, "未开始导航." ); return; @@ -329,7 +237,8 @@ public class MapPresenter extends Presenter< MapView > implements UiThreadHandler.postDelayed( mLockCarRunnable, 20_000 ); } - private void zoomMap( boolean zoomIn ) { + @Override + public void onZoomMap( boolean zoomIn ) { boolean isLocked = mMogoMapService.getMapUIController().isCarLocked(); MapControlResult result = mView.getUIController().changeZoom( zoomIn ); if ( !CustomNaviInterrupter.getInstance().interrupt() ) { @@ -356,14 +265,6 @@ public class MapPresenter extends Presenter< MapView > implements } } - private void onOpenNavi() { - mLauncher.backToLauncher( getContext() ); - if ( !mMogoMapService.getNavi( getContext() ).isNaviing() && !mStatusManager.isSearchUIShow() ) { - mSearchManager.showSearch(); - } - AIAssist.getInstance( getContext() ).speakTTSVoice( "已打开" ); - } - @Override public void onCreate( @NonNull LifecycleOwner owner ) { super.onCreate( owner ); @@ -378,7 +279,6 @@ public class MapPresenter extends Presenter< MapView > implements mRegisterCenter.registerMogoNaviListener( TAG, this ); mLauncher = apis.getLauncherApi(); mMogoSearchManager = apis.getSearchManagerApi(); - mSettingManager = apis.getSettingManagerApi(); IMogoNavi mogoNavi = mMogoMapService.getNavi( getContext() ); mogoNavi.setCalculatePathDisplayBounds( new Rect( @@ -416,8 +316,8 @@ public class MapPresenter extends Presenter< MapView > implements @Override public void onDestroy( @NonNull LifecycleOwner owner ) { super.onDestroy( owner ); - if ( broadcastReceiver != null ) { - getContext().unregisterReceiver( broadcastReceiver ); + if ( mAutoNaviReceiver != null ) { + mAutoNaviReceiver.unregister(); } } @@ -454,85 +354,7 @@ public class MapPresenter extends Presenter< MapView > implements @Override public void onCmdSelected( String cmd ) { Logger.d( TAG, cmd ); - switch ( cmd ) { - case VoiceConstants.CMD_MAP_TRAFFIC_MODE_UN_WAKEUP: - case VoiceConstants.CMD_MAP_TRAFFIC_MODE: - mView.getUIController().setTrafficEnabled( true ); - break; - case VoiceConstants.CMD_MAP_UN_TRAFFIC_MODE_UN_WAKEUP: - case VoiceConstants.CMD_MAP_UN_TRAFFIC_MODE: - mView.getUIController().setTrafficEnabled( false ); - break; - case VoiceConstants.CMD_MAP_ZOOM_IN_UN_WAKEUP: - case VoiceConstants.CMD_MAP_ZOOM_IN: - zoomMap( true ); - break; - case VoiceConstants.CMD_MAP_ZOOM_OUT_UN_WAKEUP: - case VoiceConstants.CMD_MAP_ZOOM_OUT: - zoomMap( false ); - break; - case VoiceConstants.CMD_MAP_2D_UN_WAKEUP: - case VoiceConstants.CMD_MAP_2D: - case VoiceConstants.CMD_MAP_NORTH_UP_MODE_UN_WAKEUP: - case VoiceConstants.CMD_MAP_NORTH_UP_MODE: - mView.getUIController().changeMapMode( EnumMapUI.NorthUP_2D ); - break; - case VoiceConstants.CMD_MAP_3D_UN_WAKEUP: - case VoiceConstants.CMD_MAP_3D: - mView.getUIController().changeMapMode( EnumMapUI.CarUp_3D ); - break; - case VoiceConstants.CMD_MAP_DAY_TIME_MODE_UN_WAKEUP: - case VoiceConstants.CMD_MAP_DAY_TIME_MODE: - mView.getUIController().changeMapMode( EnumMapUI.Type_Light ); - AIAssist.getInstance( getContext() ).speakTTSVoice( "已切换", null ); - break; - case VoiceConstants.CMD_MAP_HISTORY_UN_WAKEUP: - case VoiceConstants.CMD_MAP_HISTORY: - onOpenNavi(); - break; - case VoiceConstants.CMD_MAP_STOP_NAVI_MODE_UN_WAKEUP: - case VoiceConstants.CMD_MAP_STOP_NAVI_MODE: - mLauncher.backToLauncher( getContext() ); - break; - case VoiceConstants.CMD_MAP_NIGHT_MODE_UN_WAKEUP: - case VoiceConstants.CMD_MAP_NIGHT_MODE: - mView.getUIController().changeMapMode( EnumMapUI.Type_Night ); - AIAssist.getInstance( getContext() ).speakTTSVoice( "已切换", null ); - break; - case VoiceConstants.CMD_MAP_AUTO_LIGHT_NIGHT_MODE_UN_WAKEUP: - case VoiceConstants.CMD_MAP_AUTO_LIGHT_NIGHT_MODE: - mView.getUIController().changeMapMode( EnumMapUI.Type_AUTO_LIGHT_Night ); - AIAssist.getInstance( getContext() ).speakTTSVoice( "已切换", null ); - break; - case VoiceConstants.CMD_MAP_DISPLAY_OVERVIEW_MODE: - onDisplayOverview(); - break; - case VoiceConstants.CMD_MAP_CONTINUE_NAVI_MODE: - if ( CustomNaviInterrupter.getInstance().interrupt() ) { - return; - } - onContinueNavigation(); - break; - case VoiceConstants.CMD_MAP_CAR_UP_MODE_UN_WAKEUP: - case VoiceConstants.CMD_MAP_CAR_UP_MODE: - mView.getUIController().changeMapMode( EnumMapUI.CarUp_2D ); - AIAssist.getInstance( getContext() ).speakTTSVoice( "已切换", null ); - break; - case VoiceConstants.CMD_MAP_SPEAK_DRAFT_MODE: - case VoiceConstants.CMD_MAP_SPEAK_DRAFT_MODE_UN_WAKEUP: - mSettingManager.speakDraft(); - AIAssist.getInstance( getContext() ).speakTTSVoice( "已切换", null ); - break; - case VoiceConstants.CMD_MAP_SPEAK_DETAIL_MODE: - case VoiceConstants.CMD_MAP_SPEAK_DETAIL_MODE_UN_WAKEUP: - mSettingManager.speakDetail(); - AIAssist.getInstance( getContext() ).speakTTSVoice( "已切换", null ); - break; - case VoiceConstants.CMD_MAP_SPEAK_REMAIN: - break; - default: - break; - } + mCustomVoiceCommandHandler.handleVoiceCommand( cmd ); } @Override diff --git a/modules/mogo-module-map/src/main/java/com/mogo/module/map/OnMapControlCallback.java b/modules/mogo-module-map/src/main/java/com/mogo/module/map/OnMapControlCallback.java new file mode 100644 index 0000000000..d0d074da5e --- /dev/null +++ b/modules/mogo-module-map/src/main/java/com/mogo/module/map/OnMapControlCallback.java @@ -0,0 +1,42 @@ +package com.mogo.module.map; + +import android.content.Intent; + +import com.mogo.map.navi.MogoNaviConfig; +import com.mogo.map.uicontroller.EnumMapUI; + +public interface OnMapControlCallback { + + // 交通态势 + void onTrafficModeChanged( boolean open ); + + // 2d、3d模式切换、正北、车头 + void onCameraModeChanged( EnumMapUI mode); + + // 白天、黑夜模式切换 + void onDayNightModeChanged( EnumMapUI mode ); + + // 继续导航 + void onContinueNavi(); + + // 打开导航 + void onOpenNavi(); + + // 开始路径规划 + void onCalculatePath( double lon, double lat ); + + // 调用停止导航方法 + void onStopNaviInternal( Intent intent ); + + // 重新规划路线 + void onReCalculatePath( MogoNaviConfig config ); + + // 结束 + void onEnd( Intent intent ); + + // 查看全程 + void onDisplayOverview(); + + // 缩放地图 + void onZoomMap( boolean zoomIn ); +} \ No newline at end of file From 1bf436d8267386f5c701bd382252033d8676cd4f Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Fri, 31 Jul 2020 12:29:53 +0800 Subject: [PATCH 09/10] =?UTF-8?q?1.=20=E8=A7=A3=E5=86=B3push=E6=8E=A8?= =?UTF-8?q?=E9=80=81=E7=9B=B8=E5=85=B3=E9=97=AE=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gradle.properties | 2 +- .../main/java/com/mogo/module/apps/AppsListActivity.java | 5 +++++ .../main/java/com/mogo/module/apps/AppsListPresenter.java | 6 ++++++ .../src/main/java/com/mogo/module/apps/AppsListView.java | 2 ++ .../mogo-module-extensions/src/main/res/values/strings.xml | 2 +- 5 files changed, 15 insertions(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index 316601007d..105d223f6c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -73,7 +73,7 @@ MOGO_MODULE_ONLINECAR_VERSION=1.0.3.2 # v2x MOGO_MODULE_V2X_VERSION=1.1.534 # 推送 -MOGO_MODULE_PUSH_VERSION=1.1.5.7 +MOGO_MODULE_PUSH_VERSION=1.1.6 MOGO_MODULE_PUSH_BASE_VERSION=1.1.5.5 MOGO_MODULE_PUSH_NOOP_VERSION=1.1.5.6 # 广告资源位 diff --git a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppsListActivity.java b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppsListActivity.java index fbaae3255b..1adc5272ea 100644 --- a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppsListActivity.java +++ b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppsListActivity.java @@ -129,6 +129,11 @@ public class AppsListActivity extends MvpActivity< AppsListView, AppsListPresent overridePendingTransition( R.anim.module_apps_anim_enter, R.anim.module_apps_anim_exit ); } + @Override + public void executeFinish() { + finish(); + } + @Override protected void onDestroy() { super.onDestroy(); diff --git a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppsListPresenter.java b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppsListPresenter.java index caf44c1c72..0ad09a3b10 100644 --- a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppsListPresenter.java +++ b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppsListPresenter.java @@ -13,6 +13,7 @@ import com.mogo.commons.voice.IMogoVoiceCmdCallBack; import com.mogo.service.MogoServicePaths; import com.mogo.service.intent.IMogoIntentListener; import com.mogo.service.intent.IMogoIntentManager; +import com.mogo.utils.logger.Logger; import org.json.JSONException; import org.json.JSONObject; @@ -38,6 +39,7 @@ public class AppsListPresenter extends Presenter< AppsListView > implements IMog super.onCreate( owner ); mIntentManager = ( IMogoIntentManager ) ARouter.getInstance().build( MogoServicePaths.PATH_INTENT_MANAGER ).navigation( getContext() ); mIntentManager.registerIntentListener( AppsConst.COMMAND_OPERATION, this ); + mIntentManager.registerIntentListener( Intent.ACTION_CLOSE_SYSTEM_DIALOGS, this ); AIAssist.getInstance( getContext() ).registerUnWakeupCommand( AppsConst.CMD_UN_WAKE_CLOSE_APP_LIST, AppsConst.CMD_UN_WAKE_WORDS_CLOSE_APP_LIST, this ); } @@ -56,6 +58,9 @@ public class AppsListPresenter extends Presenter< AppsListView > implements IMog } catch ( JSONException e ) { e.printStackTrace(); } + } else if ( Intent.ACTION_CLOSE_SYSTEM_DIALOGS.equals( intentStr ) ) { + Logger.d( TAG, "home 键导致 app 列表关闭" ); + mView.executeFinish(); } } @@ -90,6 +95,7 @@ public class AppsListPresenter extends Presenter< AppsListView > implements IMog public void onDestroy( @NonNull LifecycleOwner owner ) { super.onDestroy( owner ); mIntentManager.unregisterIntentListener( AppsConst.COMMAND_OPERATION, this ); + mIntentManager.unregisterIntentListener( Intent.ACTION_CLOSE_SYSTEM_DIALOGS, this ); AIAssist.getInstance( getContext() ).unregisterUnWakeupCommand( AppsConst.CMD_UN_WAKE_CLOSE_APP_LIST ); } } diff --git a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppsListView.java b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppsListView.java index d3ec317ed7..ee38e7c05d 100644 --- a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppsListView.java +++ b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppsListView.java @@ -11,4 +11,6 @@ import com.mogo.commons.mvp.IView; public interface AppsListView extends IView { void closeAppsPanel(); + + void executeFinish(); } diff --git a/modules/mogo-module-extensions/src/main/res/values/strings.xml b/modules/mogo-module-extensions/src/main/res/values/strings.xml index def8fbcd0e..bcfcbae52f 100644 --- a/modules/mogo-module-extensions/src/main/res/values/strings.xml +++ b/modules/mogo-module-extensions/src/main/res/values/strings.xml @@ -13,7 +13,7 @@ 周五 周六 - ··· + 99+ 搜索目的地 分享 From 5a2d3183c2640bdaf2547cf6ba7db756dcc3c1d6 Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Fri, 31 Jul 2020 12:37:07 +0800 Subject: [PATCH 10/10] opt --- .idea/misc.xml | 2 +- gradle.properties | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.idea/misc.xml b/.idea/misc.xml index cd77a1f062..21e99e2dc0 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -4,7 +4,7 @@ - + \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 86ca97cfd3..c6d8783b95 100644 --- a/gradle.properties +++ b/gradle.properties @@ -100,8 +100,8 @@ MOGO_MODULE_OBU_VERSION = 1.2.1.10-SNAPSHOT MOGO_MODULE_SPLASH_VERSION = 1.0.0-SNAPSHOT MOGO_MODULE_SPLASH_NOOP_VERSION = 1.0.0-SNAPSHOT -## 产品库必备配置 +## 产品库必备配置,产品库自动对versionCode和versionName版本进行升级 applicationId=com.mogo.launcer applicationName=IntelligentPilot versionCode=80007 -versionName=8.0.7-qa_1.1 \ No newline at end of file +versionName=8.0.7 \ No newline at end of file