diff --git a/.idea/misc.xml b/.idea/misc.xml index 2ea71aea8b..2db9aab721 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,11 +1,9 @@ - - + + + + diff --git a/app/build.gradle b/app/build.gradle index 9ec67a2001..cd753934aa 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,8 +1,8 @@ -import java.text.SimpleDateFormat - apply plugin: 'com.android.application' +apply plugin: 'com.alibaba.arouter' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' +import java.text.SimpleDateFormat android { compileSdkVersion rootProject.ext.android.compileSdkVersion @@ -25,7 +25,7 @@ android { externalNativeBuild { ndk { // 设置支持的SO库架构 - abiFilters 'armeabi-v7a' + abiFilters 'armeabi-v7a','x86' } } } @@ -98,18 +98,21 @@ android { dimension "product" // 使用思必驰语音 buildConfigField 'int', 'AIType','2' + buildConfigField 'boolean', 'AI_ASSIST_ACTIVE_STAUTS', 'false' } // e系列 e8xx { dimension "product" // 使用思必驰语音 buildConfigField 'int', 'AIType','2' + buildConfigField 'boolean', 'AI_ASSIST_ACTIVE_STAUTS', 'true' } // d系列 d8xx { dimension "product" // 使用同行者语音 buildConfigField 'int', 'AIType','1' + buildConfigField 'boolean', 'AI_ASSIST_ACTIVE_STAUTS', 'true' } qa { dimension "env" @@ -175,7 +178,7 @@ dependencies { implementation rootProject.ext.dependencies.crashSdk implementation rootProject.ext.dependencies.androidxappcompat implementation rootProject.ext.dependencies.arouter - implementation rootProject.ext.dependencies.androidxmultidex + implementation rootProject.ext.dependencies.boostmultidex debugImplementation rootProject.ext.dependencies.leakcanary testImplementation rootProject.ext.dependencies.leakcanary releaseImplementation rootProject.ext.dependencies.leakcanarynoop @@ -281,3 +284,5 @@ def getGitCommit() { assert !gitCommit.isEmpty() gitCommit } + +//apply plugin: 'arouterhook' \ No newline at end of file diff --git a/app/src/main/java/com/mogo/launcher/MogoApplication.java b/app/src/main/java/com/mogo/launcher/MogoApplication.java index d50f474f69..ca92b2cb80 100644 --- a/app/src/main/java/com/mogo/launcher/MogoApplication.java +++ b/app/src/main/java/com/mogo/launcher/MogoApplication.java @@ -4,10 +4,9 @@ import android.content.Context; import android.content.Intent; import android.util.Log; -import androidx.multidex.MultiDex; - import com.alibaba.android.arouter.launcher.ARouter; import com.auto.zhidao.logsdk.CrashSystem; +import com.bytedance.boost_multidex.BoostMultiDex; import com.mogo.commons.AbsMogoApplication; import com.mogo.commons.debug.DebugConfig; import com.mogo.module.adcard.AdCardConstants; @@ -38,61 +37,66 @@ public class MogoApplication extends AbsMogoApplication { @Override public void onCreate() { - 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 ); + initDebugConfig(); super.onCreate(); // Crash 日志收集 final long start = System.currentTimeMillis(); - CrashSystem crashSystem = CrashSystem.getInstance( this ); + CrashSystem crashSystem = CrashSystem.getInstance(this); crashSystem.init(); //设置debug模式,日志不上传 - crashSystem.setDebug( BuildConfig.DEBUG ); - Logger.init( BuildConfig.DEBUG ? LogLevel.DEBUG : LogLevel.OFF ); + crashSystem.setDebug(BuildConfig.DEBUG); + Logger.init(BuildConfig.DEBUG ? LogLevel.DEBUG : LogLevel.OFF); // MogoModulePaths.addModule(new MogoModule(PATH_GUIDE_FRAGMENT, PATH_GUIDE_MODULE_NAME)); - MogoModulePaths.addModule( new MogoModule( AuthorizeConstant.PATH_AGREEMENT_FRAGMENT, AuthorizeConstant.PATH_AGREEMENT_MODULE_NAME ) ); + MogoModulePaths.addModule(new MogoModule(AuthorizeConstant.PATH_AGREEMENT_FRAGMENT, AuthorizeConstant.PATH_AGREEMENT_MODULE_NAME)); //运营位卡片,需要默认显示,放在第一个加载 - MogoModulePaths.addModule( new MogoModule( AdCardConstants.TAG, AdCardConstants.MODULE_NAME ) ); - if ( DebugConfig.isLauncher() ) { - MogoModulePaths.addModule( new MogoModule( MediaConstants.TAG, MediaConstants.MODULE_TYPE ) ); + MogoModulePaths.addModule(new MogoModule(AdCardConstants.TAG, AdCardConstants.MODULE_NAME)); + if (DebugConfig.isLauncher()) { + MogoModulePaths.addModule(new MogoModule(MediaConstants.TAG, MediaConstants.MODULE_TYPE)); } - MogoModulePaths.addModule( new MogoModule( CallChatConstant.PROVIDER, CallChatConstant.MODULE_NAME ) ); - MogoModulePaths.addModule( new MogoModule( TanluConstants.TAG, TanluConstants.MODEL_NAME ) ); - MogoModulePaths.addModule( new MogoModule( MogoServicePaths.PATH_SHARE, "ShareControl" ) ); + MogoModulePaths.addModule(new MogoModule(CallChatConstant.PROVIDER, CallChatConstant.MODULE_NAME)); + MogoModulePaths.addModule(new MogoModule(TanluConstants.TAG, TanluConstants.MODEL_NAME)); + MogoModulePaths.addModule(new MogoModule(MogoServicePaths.PATH_SHARE, "ShareControl")); - MogoModulePaths.addBaseModule( new MogoModule( ServiceConst.PATH_REFRESH_STRATEGY, ServiceConst.PATH_REFRESH_STRATEGY ) ); - MogoModulePaths.addBaseModule( new MogoModule( V2XConst.PATH_V2X_UI, V2XConst.PATH_V2X_UI ) ); + MogoModulePaths.addBaseModule(new MogoModule(ServiceConst.PATH_REFRESH_STRATEGY, ServiceConst.PATH_REFRESH_STRATEGY)); + MogoModulePaths.addBaseModule(new MogoModule(V2XConst.PATH_V2X_UI, V2XConst.PATH_V2X_UI)); // 暂时去掉推送 // MogoModulePaths.addModule(new MogoModule(PushUIConstants.TAG, PushUIConstants.TAG)); if (!DebugConfig.isLauncher()) { PersistentManager.getInstance().initManager(this); - Intent intent = new Intent( this, MogoMainService.class ); - startService( intent ); + Intent intent = new Intent(this, MogoMainService.class); + startService(intent); } - Log.i( "timer", "cost " + ( System.currentTimeMillis() - start ) + "ms" ); + Log.i("timer", "cost " + (System.currentTimeMillis() - start) + "ms"); + } + + private void initDebugConfig(){ + 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); + DebugConfig.setActiveAIAssistFlag( BuildConfig.AI_ASSIST_ACTIVE_STAUTS ); } @Override protected void init() { super.init(); - IMogoSocketManager mMogoSocketManager = ARouter.getInstance().navigation( IMogoSocketManager.class ); - if ( mMogoSocketManager != null ) { - mMogoSocketManager.init( getApplicationContext(), "com.mogo.launcher" ); + IMogoSocketManager mMogoSocketManager = ARouter.getInstance().navigation(IMogoSocketManager.class); + if (mMogoSocketManager != null) { + mMogoSocketManager.init(getApplicationContext(), "com.mogo.launcher"); } else { - Logger.e( TAG, "init socket server error." ); + Logger.e(TAG, "init socket server error."); } } @Override - protected void attachBaseContext( Context base ) { - super.attachBaseContext( base ); - MultiDex.install( base ); + protected void attachBaseContext(Context base) { + super.attachBaseContext(base); + BoostMultiDex.install(base); } } diff --git a/build.gradle b/build.gradle index 32a0f5815c..2ff4df7631 100644 --- a/build.gradle +++ b/build.gradle @@ -22,6 +22,7 @@ buildscript { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "com.alibaba:arouter-register:1.0.2" classpath 'com.hujiang.aspectjx:gradle-android-plugin-aspectjx:2.0.4' +// classpath "com.mogo.module.pluginhook:module-pluginhook:${HOOKPLUGIN_VERSION}" // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } diff --git a/config.gradle b/config.gradle index bf144b2c7a..2eb4156973 100644 --- a/config.gradle +++ b/config.gradle @@ -17,7 +17,7 @@ ext { androidxappcompat : "androidx.appcompat:appcompat:1.0.2", androidxccorektx : "androidx.core:core-ktx:1.2.0", androidxconstraintlayout : "androidx.constraintlayout:constraintlayout:1.1.3", - androidxmultidex : "androidx.multidex:multidex:2.0.1", + boostmultidex : "com.bytedance.boost_multidex:boost_multidex:1.0.1", androidxviewpager2 : "androidx.viewpager2:viewpager2:1.0.0", androidxrecyclerview : "androidx.recyclerview:recyclerview:1.1.0", androidxcardview : "androidx.cardview:cardview:1.0.0", 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 9ae726e19d..7ee9d3e79d 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 @@ -161,4 +161,16 @@ public class DebugConfig { public static void setUseCustomMap( boolean sUseCustomMap ) { DebugConfig.sUseCustomMap = sUseCustomMap; } + /** + * 是否支持临时激活小智 + */ + private static boolean sActiveAIAssistFlag = true; + + public static boolean isActiveAIAssistFlag() { + return sActiveAIAssistFlag; + } + + public static void setActiveAIAssistFlag( boolean sActiveAIAssistFlag ) { + DebugConfig.sActiveAIAssistFlag = sActiveAIAssistFlag; + } } diff --git a/gradle.properties b/gradle.properties index bd3adb2119..c0166e672c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -27,35 +27,35 @@ PASSWORD=xintai2018 RELEASE=false # 模块版本 ## 工程内模块 -MOGO_COMMONS_VERSION=1.2.1.8 -MOGO_UTILS_VERSION=1.2.1.8 -MAP_AMAP_VERSION=1.2.1.8 -MAP_CUSTOM_VERSION=1.2.1.8 -MAP_AUTONAVI_VERSION=1.2.1.8 -MOGO_MAP_VERSION=1.2.1.8 -MOGO_MAP_API_VERSION=1.2.1.8 -MOGO_SERVICE_VERSION=1.2.1.8 -MOGO_SERVICE_API_VERSION=1.2.1.8 -MOGO_CONNECTION_VERSION=1.2.1.8 -MOGO_MODULE_APPS_VERSION=1.2.1.8 -MOGO_MODULE_NAVI_VERSION=1.2.1.8 -MOGO_MODULE_SHARE_VERSION=1.2.1.8 -MOGO_MODULE_COMMON_VERSION=1.2.1.8 -MOGO_MODULE_MAIN_VERSION=1.2.1.8 -MOGO_MODULE_MAP_VERSION=1.2.1.8 -MOGO_MODULE_SERVICE_VERSION=1.2.1.8 -MOGO_MODULE_EXTENSIONS_VERSION=1.2.1.8 -MOGO_MODULE_SEARCH_VERSION=1.2.1.8 -MOGO_MODULE_BACK_VERSION=1.2.1.8 -MOGO_MODULE_GPS_SIMULATOR_VERSION=1.2.1.8 -MOGO_MODULE_GPS_SIMULATOR_DEBUG_VERSION=1.2.1.8 -MOGO_MODULE_GPS_SIMULATOR_NOOP_VERSION=1.2.1.8 -MOGO_MODULE_AUTHORIZE_VERSION=1.2.1.8 -MOGO_MODULE_GUIDE_VERSION=1.2.1.8 -MOGO_MODULE_MEDIA_VERSION=1.2.1.8 +MOGO_COMMONS_VERSION=1.2.1.9 +MOGO_UTILS_VERSION=1.2.1.9 +MAP_AMAP_VERSION=1.2.1.9 +MAP_CUSTOM_VERSION=1.2.1.9 +MAP_AUTONAVI_VERSION=1.2.1.9 +MOGO_MAP_VERSION=1.2.1.9 +MOGO_MAP_API_VERSION=1.2.1.9 +MOGO_SERVICE_VERSION=1.2.1.9 +MOGO_SERVICE_API_VERSION=1.2.1.9 +MOGO_CONNECTION_VERSION=1.2.1.9 +MOGO_MODULE_APPS_VERSION=1.2.1.9 +MOGO_MODULE_NAVI_VERSION=1.2.1.9 +MOGO_MODULE_SHARE_VERSION=1.2.1.9 +MOGO_MODULE_COMMON_VERSION=1.2.1.9 +MOGO_MODULE_MAIN_VERSION=1.2.1.9 +MOGO_MODULE_MAP_VERSION=1.2.1.9 +MOGO_MODULE_SERVICE_VERSION=1.2.1.9 +MOGO_MODULE_EXTENSIONS_VERSION=1.2.1.9 +MOGO_MODULE_SEARCH_VERSION=1.2.1.9 +MOGO_MODULE_BACK_VERSION=1.2.1.9 +MOGO_MODULE_GPS_SIMULATOR_VERSION=1.2.1.9 +MOGO_MODULE_GPS_SIMULATOR_DEBUG_VERSION=1.2.1.9 +MOGO_MODULE_GPS_SIMULATOR_NOOP_VERSION=1.2.1.9 +MOGO_MODULE_AUTHORIZE_VERSION=1.2.1.9 +MOGO_MODULE_GUIDE_VERSION=1.2.1.9 +MOGO_MODULE_MEDIA_VERSION=1.2.1.9 -MOGO_MODULE_MAIN_LAUNCHER_VERSION = 1.2.1.8 -MOGO_MODULE_MAIN_INDEPENDENT_VERSION = 1.2.1.8 +MOGO_MODULE_MAIN_LAUNCHER_VERSION = 1.2.1.9 +MOGO_MODULE_MAIN_INDEPENDENT_VERSION = 1.2.1.9 ## 工程外部模块 @@ -72,13 +72,19 @@ MOGO_MODULE_GUIDESHOW_PROVIDER_VERSION=1.0.2-SNAPSHOT # 在线车辆F MOGO_MODULE_ONLINECAR_VERSION=1.0.3.2 # v2x -MOGO_MODULE_V2X_VERSION=1.1.27 +MOGO_MODULE_V2X_VERSION=1.1.36 # 推送 MOGO_MODULE_PUSH_VERSION=1.0.1 # 广告资源位 MOGO_MODULE_AD_CARD_VERSION=1.0.1 # 探路上报和分享模块 -TANLULIB_VERSION=1.2.1.5 +TANLULIB_VERSION=1.2.1.7 + + +# Boost分包 +BOOST_MULTIDEX_VERSION=1.0.0 +# hook ARouter分包实现 +HOOKPLUGIN_VERSION=1.0.0 ## 产品库必备配置 applicationId=com.mogo.launcer diff --git a/main-extensions/mogo-module-main-launcher/src/main/java/com/zhidao/mogo/module/main/launcher/MainLauncherActivity.java b/main-extensions/mogo-module-main-launcher/src/main/java/com/zhidao/mogo/module/main/launcher/MainLauncherActivity.java index 59f382ce6a..3185b8bd34 100644 --- a/main-extensions/mogo-module-main-launcher/src/main/java/com/zhidao/mogo/module/main/launcher/MainLauncherActivity.java +++ b/main-extensions/mogo-module-main-launcher/src/main/java/com/zhidao/mogo/module/main/launcher/MainLauncherActivity.java @@ -29,7 +29,9 @@ public class MainLauncherActivity extends MainActivity { @Override protected void addModule() { super.addModule(); - MogoModulePaths.addModule( new MogoModule( BackToLauncherConst.MODULE_PATH, BackToLauncherConst.MODULE_NAME ) ); + if ( CarSeries.getSeries() == CarSeries.CAR_SERIES_F80X ) { + MogoModulePaths.addModule( new MogoModule( BackToLauncherConst.MODULE_PATH, BackToLauncherConst.MODULE_NAME ) ); + } } @Override diff --git a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/view/OnAiAssistClickListener.java b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/view/OnAiAssistClickListener.java index 393f3d9a6f..8be87989e0 100644 --- a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/view/OnAiAssistClickListener.java +++ b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/view/OnAiAssistClickListener.java @@ -30,7 +30,7 @@ class OnAiAssistClickListener implements View.OnClickListener { @Override public void onClick( View v ) { - if ( Devices.isBind() ) { + if ( Devices.isBind() || !DebugConfig.isActiveAIAssistFlag() ) { AIAssist.startAssistant( v.getContext() ); trackNavigatorClickEvent( 5 ); } else { diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerExploreWay.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerExploreWay.java index 255f74c6e3..946833bfff 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerExploreWay.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerExploreWay.java @@ -5,6 +5,7 @@ import android.text.TextUtils; import java.io.Serializable; import java.util.List; +import java.util.Objects; @SuppressWarnings("unused") public class MarkerExploreWay implements Serializable { @@ -137,7 +138,7 @@ public class MarkerExploreWay implements Serializable { } public String getPoiType() { - if ( TextUtils.isEmpty( poiType ) ) { + if (TextUtils.isEmpty(poiType)) { return MarkerPoiTypeEnum.FOURS_BLOCK_UP; } return poiType; @@ -155,6 +156,21 @@ public class MarkerExploreWay implements Serializable { this.uploadType = uploadType; } + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + MarkerExploreWay that = (MarkerExploreWay) o; + return Objects.equals(infoId, that.infoId) && + Objects.equals(type, that.type) && + Objects.equals(poiType, that.poiType); + } + + @Override + public int hashCode() { + return Objects.hash(infoId, type, poiType); + } + @Override public String toString() { return "MarkerExploreWay{" + diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/utils/CarSeries.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/utils/CarSeries.java index c487e3e99b..71bcd12274 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/utils/CarSeries.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/utils/CarSeries.java @@ -1,5 +1,7 @@ package com.mogo.module.common.utils; +import android.text.TextUtils; + import java.lang.reflect.Method; /** @@ -19,6 +21,9 @@ public class CarSeries { public static final int CAR_SERIES_G80X = 40; public static final int CAR_SERIES_E84X = 50; public static final int CAR_SERIES_E84XCD = 51; + public static final int CAR_SERIES_E85X = 50; + public static final int CAR_SERIES_E85XCD = 51; + public static final int CAR_SERIES_E85XJD = 51; public static int CAR_SERIES = 0; @@ -31,6 +36,10 @@ public class CarSeries { return CAR_SERIES; } String device = get( "ro.fota.device" ); + if ( TextUtils.isEmpty( device ) ) { + return CAR_SERIES_F80X; + } + if ( "FG166".equals( device ) ) { CAR_SERIES = CAR_SERIES_C80X; } else if ( "D801-802".equals( device ) ) { @@ -52,6 +61,14 @@ public class CarSeries { CAR_SERIES = CAR_SERIES_E84X; } else if ( "E84XCD".equals( device ) ) { CAR_SERIES = CAR_SERIES_E84XCD; + } else if ( "E851-852".equals( device ) ) { + CAR_SERIES = CAR_SERIES_E85X; + } else if ( "E85XCD".equals( device ) ) { + CAR_SERIES = CAR_SERIES_E85XCD; + } else if ( "E85XJD".equals( device ) ) { + CAR_SERIES = CAR_SERIES_E85XJD; + } else if ( device.startsWith( "E85" ) ) { + CAR_SERIES = CAR_SERIES_E85XJD; } else { CAR_SERIES = CAR_SERIES_F80X; } diff --git a/modules/mogo-module-extensions/build.gradle b/modules/mogo-module-extensions/build.gradle index 4ced0877b8..ae9b257292 100644 --- a/modules/mogo-module-extensions/build.gradle +++ b/modules/mogo-module-extensions/build.gradle @@ -43,6 +43,8 @@ dependencies { annotationProcessor rootProject.ext.dependencies.aroutercompiler implementation rootProject.ext.dependencies.rxjava implementation rootProject.ext.dependencies.rxandroid + implementation rootProject.ext.dependencies.tanluupload + if (Boolean.valueOf(RELEASE)) { api rootProject.ext.dependencies.mogomap api rootProject.ext.dependencies.mogomapapi diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java index bc8988abcc..6cf876ad86 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java @@ -6,6 +6,7 @@ import android.os.Bundle; import android.os.Handler; import android.os.Looper; import android.os.Message; +import android.util.Log; import android.util.TypedValue; import android.view.LayoutInflater; import android.view.View; @@ -56,6 +57,7 @@ import com.mogo.utils.LaunchUtils; import com.mogo.utils.ResourcesHelper; import com.mogo.utils.UiThreadHandler; import com.mogo.utils.logger.Logger; +import com.zhidao.roadcondition.service.DelayService; import java.util.ArrayList; import java.util.HashMap; @@ -525,6 +527,7 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent if ( mUploadRoadCondition == null ) { return; } + if ( descriptor == StatusDescriptor.UPLOADING ) { if ( isTrue ) { mUploading.setVisibility( View.VISIBLE ); @@ -561,6 +564,11 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent mCameraMode.setVisibility( View.VISIBLE ); } } + } else if (descriptor == StatusDescriptor.ACC_STATUS) { + Log.d(TAG, " onStatusChanged isTrue = " + isTrue); + if ( isTrue ) { + DelayService.Companion.launchService(getContext()); + } } } diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/navi/BaseNaviInfoView.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/navi/BaseNaviInfoView.java index 85faab6b7a..192cdfe588 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/navi/BaseNaviInfoView.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/navi/BaseNaviInfoView.java @@ -67,7 +67,7 @@ public abstract class BaseNaviInfoView { protected String getFormatSurplusTime( int seconds ) { if ( seconds > 60 * 60 ) { - mFormatSurplusDistanceUnit = "h"; + mFormatSurplusTimeUnit = "h"; return String.format( "%.1f", ( ( float ) seconds ) / ( 60 * 60 ) ); } diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/presenter/KwPresenter.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/presenter/KwPresenter.java index 75e49e751a..058866c6fb 100644 --- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/presenter/KwPresenter.java +++ b/modules/mogo-module-media/src/main/java/com/mogo/module/media/presenter/KwPresenter.java @@ -109,11 +109,11 @@ public class KwPresenter extends BaseMediaPresenter { @Override public void play(MediaInfoData mediaInfoData) { -// if (kwapi.isKuwoRunning()) { + if (kwapi.isKuwoRunning()) { kwapi.setPlayState(PlayState.STATE_PLAY); -// } else { -// kwapi.randomPlayMusic(); -// } + } else { + kwapi.startAPP(true); + } } @Override @@ -139,6 +139,8 @@ public class KwPresenter extends BaseMediaPresenter { public void next() { if (kwapi.isKuwoRunning()) { kwapi.setPlayState(PlayState.STATE_NEXT); + }else{ + kwapi.startAPP(true); } } diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java b/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java index 0fe8031300..fabec3de0d 100644 --- a/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java +++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java @@ -124,7 +124,7 @@ public class ShareControl implements IMogoShareManager, IMogoIntentListener, IMo mShareDialog.show(); } - private StepAfterAuth stepAfterAuth = new StepAfterAuth(-1, ""); + private StepAfterAuth stepAfterAuth = new StepAfterAuth(-1, "",false); @Override public void init(Context context) { @@ -141,7 +141,7 @@ public class ShareControl implements IMogoShareManager, IMogoIntentListener, IMo realShowDialog(); break; case STEP_AFTER_AUTH_TYPE_UPLOAD: - UploadHelper.INSTANCE.upload(mContext, stepAfterAuth.getUploadType()); + UploadHelper.INSTANCE.upload(mContext, stepAfterAuth.getUploadType(),stepAfterAuth.getForcePlayVoice()); dismissShareDialog(); break; case STEP_AFTER_AUTH_TYPE_SEEK_HELP: @@ -209,47 +209,47 @@ public class ShareControl implements IMogoShareManager, IMogoIntentListener, IMo break; case UNWAKE_UPLOAD_ROAD_BLOCK: if (needAuth()) { - goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_BLOCK); + goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_BLOCK,false); } else { - UploadHelper.INSTANCE.upload(mContext, TYPE_BLOCK); + UploadHelper.INSTANCE.upload(mContext, TYPE_BLOCK,false); } trackVoiceWithType(TYPE_BLOCK); break; case UNWAKE_UPLOAD_TRAFFIC_CHECK: if (needAuth()) { - goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_TRAFFIC_CHECK); + goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_TRAFFIC_CHECK,false); } else { - UploadHelper.INSTANCE.upload(mContext, TYPE_TRAFFIC_CHECK); + UploadHelper.INSTANCE.upload(mContext, TYPE_TRAFFIC_CHECK,false); } trackVoiceWithType(TYPE_TRAFFIC_CHECK); break; case UNWAKE_UPLOAD_ROAD_CLOSURE: if (needAuth()) { - goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_CLOSURE); + goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_CLOSURE,false); } else { - UploadHelper.INSTANCE.upload(mContext, TYPE_CLOSURE); + UploadHelper.INSTANCE.upload(mContext, TYPE_CLOSURE,false); } trackVoiceWithType(TYPE_CLOSURE); break; case UNWAKE_UPLOAD_ACCIDENT: if (needAuth()) { - goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_ACCIDENT); + goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_ACCIDENT,false); } else { - UploadHelper.INSTANCE.upload(mContext, TYPE_ACCIDENT); + UploadHelper.INSTANCE.upload(mContext, TYPE_ACCIDENT,false); } trackVoiceWithType(TYPE_ACCIDENT); break; case UNWAKE_UPLOAD_REAL_TIME_TRAFFIC: if (needAuth()) { - goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_REAL_TIME_TRAFFIC); + goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_REAL_TIME_TRAFFIC,false); } else { - UploadHelper.INSTANCE.upload(mContext, TYPE_REAL_TIME_TRAFFIC); + UploadHelper.INSTANCE.upload(mContext, TYPE_REAL_TIME_TRAFFIC,false); } trackVoiceWithType(TYPE_REAL_TIME_TRAFFIC); break; case UNWAKE_UPLOAD_SEEK_HELP: if (needAuth()) { - goAuth(STEP_AFTER_AUTH_TYPE_SEEK_HELP, TYPE_BLOCK); + goAuth(STEP_AFTER_AUTH_TYPE_SEEK_HELP, TYPE_BLOCK,false); } else { seekHelp(); } @@ -257,33 +257,33 @@ public class ShareControl implements IMogoShareManager, IMogoIntentListener, IMo break; case UNWAKE_UPLOAD_STAGNANT_WATER: if (needAuth()) { - goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_STAGNANT_WATER); + goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_STAGNANT_WATER,false); } else { - UploadHelper.INSTANCE.upload(mContext, TYPE_STAGNANT_WATER); + UploadHelper.INSTANCE.upload(mContext, TYPE_STAGNANT_WATER,false); } trackVoiceWithType(TYPE_STAGNANT_WATER); break; case UNWAKE_UPLOAD_ROAD_ICY: if (needAuth()) { - goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_ROAD_ICY); + goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_ROAD_ICY,false); } else { - UploadHelper.INSTANCE.upload(mContext, TYPE_ROAD_ICY); + UploadHelper.INSTANCE.upload(mContext, TYPE_ROAD_ICY,false); } trackVoiceWithType(TYPE_ROAD_ICY); break; case UNWAKE_UPLOAD_DENSE_FOG: if (needAuth()) { - goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_DENSE_FOG); + goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_DENSE_FOG,false); } else { - UploadHelper.INSTANCE.upload(mContext, TYPE_DENSE_FOG); + UploadHelper.INSTANCE.upload(mContext, TYPE_DENSE_FOG,false); } trackVoiceWithType(TYPE_DENSE_FOG); break; case UNWAKE_UPLOAD_ROAD_CONSTRUCTION: if (needAuth()) { - goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_ROAD_CONSTRUCTION); + goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_ROAD_CONSTRUCTION,false); } else { - UploadHelper.INSTANCE.upload(mContext, TYPE_ROAD_CONSTRUCTION); + UploadHelper.INSTANCE.upload(mContext, TYPE_ROAD_CONSTRUCTION,false); } trackVoiceWithType(TYPE_ROAD_CONSTRUCTION); break; @@ -307,7 +307,7 @@ public class ShareControl implements IMogoShareManager, IMogoIntentListener, IMo switch (intentStr) { case VOICE_CMD_PUB_TROUBLE_HELP: if (needAuth()) { - goAuth(STEP_AFTER_AUTH_TYPE_SEEK_HELP, TYPE_DENSE_FOG); + goAuth(STEP_AFTER_AUTH_TYPE_SEEK_HELP, TYPE_DENSE_FOG,false); } else { // 开启服务,准备上报求助 seekHelp(); @@ -321,63 +321,63 @@ public class ShareControl implements IMogoShareManager, IMogoIntentListener, IMo switch (ob) { case "积水": if (needAuth()) { - goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_STAGNANT_WATER); + goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_STAGNANT_WATER,false); } else { - UploadHelper.INSTANCE.upload(mContext, TYPE_STAGNANT_WATER); + UploadHelper.INSTANCE.upload(mContext, TYPE_STAGNANT_WATER,false); dismissShareDialog(); } trackVoiceWithType(TYPE_STAGNANT_WATER); break; case "积冰": if (needAuth()) { - goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_ROAD_ICY); + goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_ROAD_ICY,false); } else { - UploadHelper.INSTANCE.upload(mContext, TYPE_ROAD_ICY); + UploadHelper.INSTANCE.upload(mContext, TYPE_ROAD_ICY,false); dismissShareDialog(); } trackVoiceWithType(TYPE_ROAD_ICY); break; case "雾": if (needAuth()) { - goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_DENSE_FOG); + goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_DENSE_FOG,false); } else { - UploadHelper.INSTANCE.upload(mContext, TYPE_DENSE_FOG); + UploadHelper.INSTANCE.upload(mContext, TYPE_DENSE_FOG,false); dismissShareDialog(); } trackVoiceWithType(TYPE_DENSE_FOG); break; case "交通事故": if (needAuth()) { - goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_ACCIDENT); + goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_ACCIDENT,false); } else { - UploadHelper.INSTANCE.upload(mContext, TYPE_ACCIDENT); + UploadHelper.INSTANCE.upload(mContext, TYPE_ACCIDENT,false); dismissShareDialog(); } trackVoiceWithType(TYPE_ACCIDENT); break; case "施工": if (needAuth()) { - goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_ROAD_CONSTRUCTION); + goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_ROAD_CONSTRUCTION,false); } else { - UploadHelper.INSTANCE.upload(mContext, TYPE_ROAD_CONSTRUCTION); + UploadHelper.INSTANCE.upload(mContext, TYPE_ROAD_CONSTRUCTION,false); dismissShareDialog(); } trackVoiceWithType(TYPE_ROAD_CONSTRUCTION); break; case "封路": if (needAuth()) { - goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_CLOSURE); + goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_CLOSURE,false); } else { - UploadHelper.INSTANCE.upload(mContext, TYPE_CLOSURE); + UploadHelper.INSTANCE.upload(mContext, TYPE_CLOSURE,false); dismissShareDialog(); } trackVoiceWithType(TYPE_CLOSURE); break; case "交通检查": if (needAuth()) { - goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_TRAFFIC_CHECK); + goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_TRAFFIC_CHECK,false); } else { - UploadHelper.INSTANCE.upload(mContext, TYPE_TRAFFIC_CHECK); + UploadHelper.INSTANCE.upload(mContext, TYPE_TRAFFIC_CHECK,false); dismissShareDialog(); } trackVoiceWithType(TYPE_TRAFFIC_CHECK); @@ -392,20 +392,20 @@ public class ShareControl implements IMogoShareManager, IMogoIntentListener, IMo switch (obCondition) { case "路况": if (needAuth()) { - goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_REAL_TIME_TRAFFIC); + goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_REAL_TIME_TRAFFIC,false); } else { Logger.d(TAG, "分享框准备触发上报实时路况"); - UploadHelper.INSTANCE.upload(mContext, TYPE_REAL_TIME_TRAFFIC); + UploadHelper.INSTANCE.upload(mContext, TYPE_REAL_TIME_TRAFFIC,false); dismissShareDialog(); } trackVoiceWithType(TYPE_REAL_TIME_TRAFFIC); break; case "拥堵": if (needAuth()) { - goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_BLOCK); + goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_BLOCK,false); } else { Logger.d(TAG, "分享框准备触发上报拥堵"); - UploadHelper.INSTANCE.upload(mContext, TYPE_BLOCK); + UploadHelper.INSTANCE.upload(mContext, TYPE_BLOCK,false); dismissShareDialog(); } trackVoiceWithType(TYPE_BLOCK); @@ -421,7 +421,7 @@ public class ShareControl implements IMogoShareManager, IMogoIntentListener, IMo break; case UNWAKE_UPLOAD_ROAD_CONDITION: Logger.d(TAG, "免唤醒准备触发上报拥堵"); - UploadHelper.INSTANCE.upload(mContext, TYPE_BLOCK); + UploadHelper.INSTANCE.upload(mContext, TYPE_BLOCK,false); dismissShareDialog(); break; default: @@ -443,9 +443,10 @@ public class ShareControl implements IMogoShareManager, IMogoIntentListener, IMo return authorizeModuleManager.needAuthorize(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE); } - private void goAuth(int type, String uploadType) { + private void goAuth(int type, String uploadType,boolean forcePlayVoice) { stepAfterAuth.setType(type); stepAfterAuth.setUploadType(uploadType); + stepAfterAuth.setForcePlayVoice(forcePlayVoice); authorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE); } diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/bean/StepAfterAuth.kt b/modules/mogo-module-share/src/main/java/com/mogo/module/share/bean/StepAfterAuth.kt index d35dbaab2e..68e16ee164 100644 --- a/modules/mogo-module-share/src/main/java/com/mogo/module/share/bean/StepAfterAuth.kt +++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/bean/StepAfterAuth.kt @@ -3,7 +3,7 @@ package com.mogo.module.share.bean /** * 授权完成后,下一步要做的事情 */ -class StepAfterAuth(var type:Int,var uploadType:String) +class StepAfterAuth(var type:Int,var uploadType:String,var forcePlayVoice:Boolean = false) const val STEP_AFTER_AUTH_TYPE_SHOW_DIALOG = 1 const val STEP_AFTER_AUTH_TYPE_UPLOAD = 2 diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/dialog/LaucherShareDialog.java b/modules/mogo-module-share/src/main/java/com/mogo/module/share/dialog/LaucherShareDialog.java index c00caf03df..30154abf9e 100644 --- a/modules/mogo-module-share/src/main/java/com/mogo/module/share/dialog/LaucherShareDialog.java +++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/dialog/LaucherShareDialog.java @@ -204,7 +204,7 @@ public class LaucherShareDialog extends BaseFloatDialog implements View.OnClickL * 发送广播 1拥堵,2交通检查,3封路 */ private void sendShareReceiver(String type) { - UploadHelper.INSTANCE.upload(mContext, type); + UploadHelper.INSTANCE.upload(mContext, type,true); } /** diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/manager/UploadHelper.kt b/modules/mogo-module-share/src/main/java/com/mogo/module/share/manager/UploadHelper.kt index 61fcc30ad9..2e451ccd95 100644 --- a/modules/mogo-module-share/src/main/java/com/mogo/module/share/manager/UploadHelper.kt +++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/manager/UploadHelper.kt @@ -13,13 +13,13 @@ import com.mogo.utils.logger.Logger * 上报工具类 */ object UploadHelper { - fun upload(context:Context, type: String) { + fun upload(context:Context, type: String,forcePlayVoice:Boolean = false) { if(ServiceApisManager.serviceApis.statusManagerApi.isUploading){ Logger.d("UploadHelper", "正在上报===") TipToast.tip("正在上报,请稍后重试") }else { ServiceApisManager.serviceApis.statusManagerApi.setUploadingStatus("CARD_TYPE_ROAD_CONDITION", true) - if(DebugConfig.getAIType() == DebugConfig.AI_TYPE_TXZ) { + if(DebugConfig.getAIType() == DebugConfig.AI_TYPE_TXZ||forcePlayVoice) { AIAssist.getInstance(context).speakTTSVoice("感谢分享,正在上传") } Logger.d("UploadHelper", "upload ----> $type")