From da0f3911c95e14ee3e93df09078fa5567f505b14 Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Tue, 13 Oct 2020 19:46:07 +0800 Subject: [PATCH] =?UTF-8?q?1.=20=E5=88=A0=E9=99=A4=E6=97=A0=E7=94=A8?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E9=A1=B9=202.=20=E5=86=85=E5=AD=98=E6=B3=84?= =?UTF-8?q?=E6=BC=8F=E4=BC=98=E5=8C=96=203.=20=E7=9B=91=E5=90=AC=E6=AF=94?= =?UTF-8?q?=E4=BA=9A=E8=BF=AA=E8=AF=AD=E9=9F=B3=E6=92=AD=E6=8A=A5=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E5=B9=BF=E6=92=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 20 --------- .../com/mogo/launcher/MogoApplication.java | 1 - .../com/mogo/commons/debug/DebugConfig.java | 17 -------- .../map/impl/amap/AMapNaviViewWrapper.java | 3 ++ .../mogo/map/impl/amap/AMapViewWrapper.java | 3 ++ .../com/mogo/map/impl/amap/AMapWrapper.java | 4 ++ .../amap/uicontroller/AMapUIController.java | 1 + .../service/marker/MapMarkerManager.java | 10 +---- tts/tts-di/build.gradle | 4 ++ .../main/java/com/mogo/tts/noop/DiTTS.java | 6 +-- .../java/com/mogo/tts/noop/TTSManager.java | 42 +++++++++++++++++-- 11 files changed, 58 insertions(+), 53 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 0ed3f79f2b..e6448a83fe 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -105,8 +105,6 @@ android { f8xx { applicationId rootProject.ext.android.fLauncherApplicationId dimension "product" - // 使用思必驰语音 - buildConfigField 'int', 'AIType', '2' buildConfigField 'boolean', 'AI_ASSIST_ACTIVE_STAUTS', 'false' // 车机类型,主要用于区分自研车机还是别人家的车机,自研车机类型为0 buildConfigField 'int', 'CAR_MACHINE_TYPE', '0' @@ -125,8 +123,6 @@ android { f80x { applicationId rootProject.ext.android.fLauncherApplicationId dimension "product" - // 使用思必驰语音 - buildConfigField 'int', 'AIType', '2' buildConfigField 'boolean', 'AI_ASSIST_ACTIVE_STAUTS', 'false' // 车机类型,主要用于区分自研车机还是别人家的车机,自研车机类型为0 buildConfigField 'int', 'CAR_MACHINE_TYPE', '0' @@ -145,8 +141,6 @@ android { e8xx { applicationId rootProject.ext.android.launcherApplicationId dimension "product" - // 使用思必驰语音 - buildConfigField 'int', 'AIType', '2' buildConfigField 'boolean', 'AI_ASSIST_ACTIVE_STAUTS', 'false' // 车机类型,主要用于区分自研车机还是别人家的车机,自研车机类型为0 buildConfigField 'int', 'CAR_MACHINE_TYPE', '0' @@ -165,8 +159,6 @@ android { em4 { applicationId rootProject.ext.android.launcherApplicationId dimension "product" - // 使用思必驰语音 - buildConfigField 'int', 'AIType', '2' buildConfigField 'boolean', 'AI_ASSIST_ACTIVE_STAUTS', 'false' // 车机类型,主要用于区分自研车机还是别人家的车机,自研车机类型为0 buildConfigField 'int', 'CAR_MACHINE_TYPE', '0' @@ -185,8 +177,6 @@ android { em3 { applicationId rootProject.ext.android.independentApplicationId dimension "product" - // 使用思必驰语音 - buildConfigField 'int', 'AIType', '2' buildConfigField 'boolean', 'AI_ASSIST_ACTIVE_STAUTS', 'false' // 车机类型,主要用于区分自研车机还是别人家的车机,自研车机类型为0 buildConfigField 'int', 'CAR_MACHINE_TYPE', '0' @@ -205,8 +195,6 @@ android { em1 { applicationId rootProject.ext.android.independentApplicationId dimension "product" - // 使用思必驰语音 - buildConfigField 'int', 'AIType', '2' buildConfigField 'boolean', 'AI_ASSIST_ACTIVE_STAUTS', 'false' // 车机类型,主要用于区分自研车机还是别人家的车机,自研车机类型为0 buildConfigField 'int', 'CAR_MACHINE_TYPE', '0' @@ -225,8 +213,6 @@ android { d8xx { applicationId rootProject.ext.android.independentApplicationId dimension "product" - // 使用同行者语音 - buildConfigField 'int', 'AIType', '1' buildConfigField 'boolean', 'AI_ASSIST_ACTIVE_STAUTS', 'false' // 车机类型,主要用于区分自研车机还是别人家的车机,自研车机类型为0 buildConfigField 'int', 'CAR_MACHINE_TYPE', '0' @@ -245,8 +231,6 @@ android { d80x { applicationId rootProject.ext.android.independentApplicationId dimension "product" - // 使用同行者语音 - buildConfigField 'int', 'AIType', '1' buildConfigField 'boolean', 'AI_ASSIST_ACTIVE_STAUTS', 'false' // 车机类型,主要用于区分自研车机还是别人家的车机,自研车机类型为0 buildConfigField 'int', 'CAR_MACHINE_TYPE', '0' @@ -265,8 +249,6 @@ android { d82x { applicationId rootProject.ext.android.independentApplicationId dimension "product" - // 使用同行者语音 - buildConfigField 'int', 'AIType', '1' buildConfigField 'boolean', 'AI_ASSIST_ACTIVE_STAUTS', 'false' // 车机类型,主要用于区分自研车机还是别人家的车机,自研车机类型为0 buildConfigField 'int', 'CAR_MACHINE_TYPE', '0' @@ -285,8 +267,6 @@ android { bydauto { applicationId rootProject.ext.android.bydautoIndependentApplicationId dimension "product" - // 不使用语音 - buildConfigField 'int', 'AIType', '0' buildConfigField 'boolean', 'AI_ASSIST_ACTIVE_STAUTS', 'false' // 车机类型,主要用于区分自研车机还是别人家的车机,其他车机,比亚迪定为1 buildConfigField 'int', 'CAR_MACHINE_TYPE', '1' diff --git a/app/src/main/java/com/mogo/launcher/MogoApplication.java b/app/src/main/java/com/mogo/launcher/MogoApplication.java index 41316c66a1..b77aa4cede 100644 --- a/app/src/main/java/com/mogo/launcher/MogoApplication.java +++ b/app/src/main/java/com/mogo/launcher/MogoApplication.java @@ -114,7 +114,6 @@ public class MogoApplication extends AbsMogoApplication { } DebugConfig.setNetMode( BuildConfig.NET_ENV ); DebugConfig.setDebug( BuildConfig.DEBUG ); - DebugConfig.setAIType( BuildConfig.AIType ); DebugConfig.setLaunchLocationService( BuildConfig.LAUNCH_LOCATION_SERVICE ); DebugConfig.setUseCustomNavi( BuildConfig.USE_CUSTOM_NAVI ); DebugConfig.setLauncher( BuildConfig.IS_LAUNCHER ); diff --git a/foudations/mogo-commons/src/main/java/com/mogo/commons/debug/DebugConfig.java b/foudations/mogo-commons/src/main/java/com/mogo/commons/debug/DebugConfig.java index 59f680eff2..22e8be6829 100644 --- a/foudations/mogo-commons/src/main/java/com/mogo/commons/debug/DebugConfig.java +++ b/foudations/mogo-commons/src/main/java/com/mogo/commons/debug/DebugConfig.java @@ -132,23 +132,6 @@ public class DebugConfig { DebugConfig.sUseCustomNavi = sUseCustomNavi; } - /** - * 设置使用哪个语音助手 - * - * @param aiType {@link #AI_TYPE_NOOP} {@link #AI_TYPE_TXZ} {@link #AI_TYPE_SPEECH} - */ - public static void setAIType( int aiType ) { - Logger.d( "DebugConfig", "setAiType: " + aiType ); - sAIType = aiType; - } - - /** - * 使用哪个语音助手 {@link #AI_TYPE_NOOP} {@link #AI_TYPE_TXZ} {@link #AI_TYPE_SPEECH} - */ - public static int getAIType() { - return sAIType; - } - /** * 设置当前车机类型 * diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java index 1b7e1ebc8b..f14d67a9ef 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java @@ -41,6 +41,7 @@ import com.mogo.map.impl.amap.marker.AMapMarkerWrapper; import com.mogo.map.impl.amap.message.AMapMessageListener; import com.mogo.map.impl.amap.message.AMapMessageManager; import com.mogo.map.impl.amap.navi.NaviClient; +import com.mogo.map.impl.amap.uicontroller.AMapUIController; import com.mogo.map.impl.amap.utils.MogoMapUtils; import com.mogo.map.impl.amap.utils.ObjectUtils; import com.mogo.map.listener.MogoMapListenerHandler; @@ -234,6 +235,8 @@ public class AMapNaviViewWrapper implements IMogoMapView, public void onDestroy() { if ( mMapView != null ) { mMapView.onDestroy(); + AMapUIController.getInstance().release(); + AMapWrapper.release(); Logger.d( TAG, "map onDestroy" ); } } diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapViewWrapper.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapViewWrapper.java index 766e1d8f0b..8ef68ba368 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapViewWrapper.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapViewWrapper.java @@ -39,6 +39,7 @@ import com.mogo.map.impl.amap.marker.AMapMarkerWrapper; import com.mogo.map.impl.amap.message.AMapMessageListener; import com.mogo.map.impl.amap.message.AMapMessageManager; import com.mogo.map.impl.amap.navi.NaviClient; +import com.mogo.map.impl.amap.uicontroller.AMapUIController; import com.mogo.map.impl.amap.utils.MogoMapUtils; import com.mogo.map.impl.amap.utils.ObjectUtils; import com.mogo.map.listener.MogoMapListenerHandler; @@ -236,6 +237,8 @@ public class AMapViewWrapper implements IMogoMapView, public void onDestroy() { if ( mMapView != null ) { mMapView.onDestroy(); + AMapUIController.getInstance().release(); + AMapWrapper.release(); Logger.d( TAG, "map onDestroy" ); } } diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapWrapper.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapWrapper.java index 2965606844..ceccf22eb6 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapWrapper.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapWrapper.java @@ -56,6 +56,10 @@ public class AMapWrapper implements IMogoMap { return sAMap; } + public static void release(){ + sAMap = null; + } + @Override public IMogoUiSettings getUiSettings() { if ( !checkAMap() ) { diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/uicontroller/AMapUIController.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/uicontroller/AMapUIController.java index 2e874886ae..113abe60f0 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/uicontroller/AMapUIController.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/uicontroller/AMapUIController.java @@ -51,6 +51,7 @@ public class AMapUIController implements IMogoMapUIController { } public synchronized void release() { + mClient = null; sInstance = null; } diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java index dc9b4602ee..2d071a7dfa 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java @@ -1,11 +1,8 @@ package com.mogo.module.service.marker; import android.content.Context; -import android.graphics.BitmapFactory; import android.graphics.Rect; import android.text.TextUtils; -import android.util.Log; -import android.view.animation.AccelerateInterpolator; import android.view.animation.LinearInterpolator; import com.mogo.commons.AbsMogoApplication; @@ -17,9 +14,7 @@ import com.mogo.map.marker.IMogoMarkerManager; import com.mogo.map.marker.MogoMarkerOptions; import com.mogo.map.marker.anim.OnMarkerAnimationListener; import com.mogo.map.uicontroller.EnumMapUI; -import com.mogo.module.carchattingprovider.ICallProviderResponse; import com.mogo.module.common.ModuleNames; -import com.mogo.module.common.MogoApisHandler; import com.mogo.module.common.api.CallChatApi; import com.mogo.module.common.entity.MarkerCarPois; import com.mogo.module.common.entity.MarkerCardResult; @@ -30,7 +25,6 @@ import com.mogo.module.common.entity.MarkerOnlineCar; import com.mogo.module.common.entity.MarkerResponse; import com.mogo.module.common.entity.MarkerShareMusic; import com.mogo.module.common.entity.MarkerShowEntity; -import com.mogo.module.common.utils.CarSeries; import com.mogo.module.service.MarkerServiceHandler; import com.mogo.module.service.R; import com.mogo.module.service.ServiceConst; @@ -48,8 +42,6 @@ import com.mogo.utils.UiThreadHandler; import com.mogo.utils.WorkThreadHandler; import com.mogo.utils.logger.Logger; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; @@ -225,7 +217,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener, } } MarkerServiceHandler.getMogoStatusManager().setUserInteractionStatus( TAG, true, false ); - MarkerServiceHandler.getMapUIController().moveToCenter( mogoMarker.getPosition(), CarSeries.getSeries() == CarSeries.CAR_SERIES_F80X ); + MarkerServiceHandler.getMapUIController().moveToCenter( mogoMarker.getPosition(), DebugConfig.isRoadEventAnimated() ); } private void updateCarUserInfoWindow( IMogoMarker marker ) { diff --git a/tts/tts-di/build.gradle b/tts/tts-di/build.gradle index caae249d60..c18e63eb3f 100644 --- a/tts/tts-di/build.gradle +++ b/tts/tts-di/build.gradle @@ -42,8 +42,12 @@ dependencies { if (Boolean.valueOf(RELEASE)) { implementation rootProject.ext.dependencies.ttsbase + implementation rootProject.ext.dependencies.mogoutils + implementation rootProject.ext.dependencies.mogocommons } else { implementation project(":tts:tts-base") + implementation project(":foudations:mogo-utils") + implementation project(":foudations:mogo-commons") } } diff --git a/tts/tts-di/src/main/java/com/mogo/tts/noop/DiTTS.java b/tts/tts-di/src/main/java/com/mogo/tts/noop/DiTTS.java index 1c0ac5d88d..284d867bca 100644 --- a/tts/tts-di/src/main/java/com/mogo/tts/noop/DiTTS.java +++ b/tts/tts-di/src/main/java/com/mogo/tts/noop/DiTTS.java @@ -19,7 +19,7 @@ public @Route( path = MogoTTSConstants.API_PATH ) class DiTTS implements IMogoTTS { - private static final String TAG = "DiTTS"; + public static final String TAG = "DiTTS"; private Context mContext; @@ -36,7 +36,7 @@ class DiTTS implements IMogoTTS { @Override public void speakTTSVoice( String tts ) { - TTSManager.getInstance().speakTTS( mContext, tts ); + TTSManager.getInstance( mContext ).speakTTS( mContext, tts ); } @Override @@ -86,7 +86,7 @@ class DiTTS implements IMogoTTS { @Override public void breakOffSpeak() { - TTSManager.getInstance().breakOffSpeak( mContext ); + TTSManager.getInstance( mContext ).breakOffSpeak( mContext ); } @Override diff --git a/tts/tts-di/src/main/java/com/mogo/tts/noop/TTSManager.java b/tts/tts-di/src/main/java/com/mogo/tts/noop/TTSManager.java index f094245439..af28a03c18 100644 --- a/tts/tts-di/src/main/java/com/mogo/tts/noop/TTSManager.java +++ b/tts/tts-di/src/main/java/com/mogo/tts/noop/TTSManager.java @@ -1,7 +1,13 @@ package com.mogo.tts.noop; +import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; +import android.content.IntentFilter; +import android.util.Log; + +import com.mogo.commons.debug.DebugConfig; +import com.mogo.utils.logger.Logger; public /** @@ -40,14 +46,44 @@ class TTSManager { private static volatile TTSManager sInstance; - private TTSManager() { + private TTSManager( Context context ) { + if ( DebugConfig.isDebug() && context != null ) { + TTSStatusReceiver receiver = new TTSStatusReceiver(); + IntentFilter filter = new IntentFilter(); + filter.addAction( "com.byd.NotifyService.thirdTtsFeedback" ); + context.registerReceiver( receiver, filter ); + } } - public static TTSManager getInstance() { + private static class TTSStatusReceiver extends BroadcastReceiver { + @Override + public void onReceive( Context context, Intent intent ) { + Logger.d( DiTTS.TAG, "receive tts callback status" ); + int state = intent.getExtras().getInt( "thirdTtsFeedback" ); + switch ( state ) { + case 0: + Logger.d( DiTTS.TAG, "反馈:" + "state=0 无法播报" ); + break; + case 1: + Log.d( DiTTS.TAG, "反馈:" + "state=1 开始播报" ); + break; + case 2: + Log.d( DiTTS.TAG, "反馈:" + "state=2 播报完毕" ); + break; + case 3: + Log.d( DiTTS.TAG, "反馈:" + "state=3" ); + break; + default: + Log.d( DiTTS.TAG, "未收到反馈值" ); + } + } + } + + public static TTSManager getInstance( Context context ) { if ( sInstance == null ) { synchronized ( TTSManager.class ) { if ( sInstance == null ) { - sInstance = new TTSManager(); + sInstance = new TTSManager( context ); } } }