diff --git a/app/build.gradle b/app/build.gradle index ac5a0db6ae..3a3707d12e 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -85,8 +85,6 @@ android { dimension "basic" // 是否启动位置服务 buildConfigField 'boolean', 'LAUNCH_LOCATION_SERVICE', 'false' - // 是否使用高德sdk自定义导航 - buildConfigField 'boolean', 'USE_CUSTOM_NAVI', 'true' // 是否作为 launcher 运行 buildConfigField 'boolean', 'IS_LAUNCHER', 'false' buildConfigField 'String', 'SOCKET_APP_ID', '\"com.mogo.launcher\"' @@ -96,8 +94,6 @@ android { dimension "basic" // 是否启动位置服务 buildConfigField 'boolean', 'LAUNCH_LOCATION_SERVICE', 'true' - // 是否使用高德sdk自定义导航 - buildConfigField 'boolean', 'USE_CUSTOM_NAVI', 'true' // 是否作为 launcher 运行 buildConfigField 'boolean', 'IS_LAUNCHER', 'true' buildConfigField 'String', 'SOCKET_APP_ID', '\"com.mogo.launcher\"' @@ -113,6 +109,8 @@ android { buildConfigField 'int', 'CAR_MACHINE_TYPE', '0' buildConfigField 'boolean', 'ROAD_EVENT_ANIMATED', 'true' manifestPlaceholders = [AMAP_API_VALUE: rootProject.ext.android.fLauncherAmapApiValue] + // 是否使用高德sdk自定义导航 + buildConfigField 'boolean', 'USE_CUSTOM_NAVI', 'false' } // e系列,采用Launcher方案 e8xx { @@ -125,6 +123,8 @@ android { buildConfigField 'int', 'CAR_MACHINE_TYPE', '0' buildConfigField 'boolean', 'ROAD_EVENT_ANIMATED', 'true' manifestPlaceholders = [AMAP_API_VALUE: rootProject.ext.android.commonLauncherAmapApiValue] + // 是否使用高德sdk自定义导航 + buildConfigField 'boolean', 'USE_CUSTOM_NAVI', 'false' } // 同上 em4 { @@ -137,6 +137,8 @@ android { buildConfigField 'int', 'CAR_MACHINE_TYPE', '0' buildConfigField 'boolean', 'ROAD_EVENT_ANIMATED', 'true' manifestPlaceholders = [AMAP_API_VALUE: rootProject.ext.android.commonLauncherAmapApiValue] + // 是否使用高德sdk自定义导航 + buildConfigField 'boolean', 'USE_CUSTOM_NAVI', 'false' } // e系列-2+32,对标D系列2+32,采用独立app的形式 em3 { @@ -149,6 +151,8 @@ android { buildConfigField 'int', 'CAR_MACHINE_TYPE', '0' buildConfigField 'boolean', 'ROAD_EVENT_ANIMATED', 'false' manifestPlaceholders = [AMAP_API_VALUE: rootProject.ext.android.commonIndependentAmapApiValue] + // 是否使用高德sdk自定义导航 + buildConfigField 'boolean', 'USE_CUSTOM_NAVI', 'false' } // e系列-1+16,对标D系列1+16,采用独立app形式 em1 { @@ -161,6 +165,8 @@ android { buildConfigField 'int', 'CAR_MACHINE_TYPE', '0' buildConfigField 'boolean', 'ROAD_EVENT_ANIMATED', 'false' manifestPlaceholders = [AMAP_API_VALUE: rootProject.ext.android.commonIndependentAmapApiValue] + // 是否使用高德sdk自定义导航 + buildConfigField 'boolean', 'USE_CUSTOM_NAVI', 'false' } // d系列 d8xx { @@ -173,6 +179,8 @@ android { buildConfigField 'int', 'CAR_MACHINE_TYPE', '0' buildConfigField 'boolean', 'ROAD_EVENT_ANIMATED', 'false' manifestPlaceholders = [AMAP_API_VALUE: rootProject.ext.android.commonIndependentAmapApiValue] + // 是否使用高德sdk自定义导航 + buildConfigField 'boolean', 'USE_CUSTOM_NAVI', 'false' } // d系列 1+16 版本 d82x{ @@ -185,6 +193,8 @@ android { buildConfigField 'int', 'CAR_MACHINE_TYPE', '0' buildConfigField 'boolean', 'ROAD_EVENT_ANIMATED', 'false' manifestPlaceholders = [AMAP_API_VALUE: rootProject.ext.android.commonIndependentAmapApiValue] + // 是否使用高德sdk自定义导航 + buildConfigField 'boolean', 'USE_CUSTOM_NAVI', 'false' } // 比亚迪 bydauto{ @@ -197,6 +207,8 @@ android { buildConfigField 'int', 'CAR_MACHINE_TYPE', '1' buildConfigField 'boolean', 'ROAD_EVENT_ANIMATED', 'true' manifestPlaceholders = [AMAP_API_VALUE: rootProject.ext.android.bydautoIndependentApiValue] + // 是否使用高德sdk自定义导航 + buildConfigField 'boolean', 'USE_CUSTOM_NAVI', 'true' } qa { dimension "env" diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/MogoNavi.java b/libraries/mogo-map/src/main/java/com/mogo/map/MogoNavi.java index cd43c4147c..8880284851 100644 --- a/libraries/mogo-map/src/main/java/com/mogo/map/MogoNavi.java +++ b/libraries/mogo-map/src/main/java/com/mogo/map/MogoNavi.java @@ -6,6 +6,7 @@ import android.content.pm.PackageManager; import android.graphics.Rect; import android.location.Location; +import com.mogo.commons.debug.DebugConfig; import com.mogo.map.impl.amap.navi.NaviClient; import com.mogo.map.impl.automap.navi.AutoNaviClient; import com.mogo.map.navi.IMogoCarLocationChangedListener2; @@ -30,7 +31,9 @@ public class MogoNavi implements IMogoNavi { private static volatile MogoNavi sInstance; private MogoNavi( Context context ) { - if ( AppUtils.isAppInstalled( context, "com.autonavi.amapauto" ) ) { + if ( DebugConfig.isUseCustomNavi() ) { + mDelegate = NaviClient.getInstance( context ); + } else if ( AppUtils.isAppInstalled( context, "com.autonavi.amapauto" ) ) { mDelegate = AutoNaviClient.getInstance( context ); } else { mDelegate = NaviClient.getInstance( context ); diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/map/CustomNaviInterrupter.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/map/CustomNaviInterrupter.java index 701bfa73c2..202b048045 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/map/CustomNaviInterrupter.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/map/CustomNaviInterrupter.java @@ -38,13 +38,18 @@ class CustomNaviInterrupter implements Interrupter { /** * 判断是否用自己的导航 + * 1. 项目是否强制使用自己的导航 + * 2. 是否安装了高德车机版地图 + * 3. 默认使用自己的导航 + * * @return true-用高德公版车机版地图 false-用Launcher自己的导航 */ @Override public boolean interrupt() { - if ( AppUtils.isAppInstalled( AbsMogoApplication.getApp(), "com.autonavi.amapauto" ) - || !DebugConfig.isUseCustomNavi() ) { - Logger.d( TAG, "do not use custom map function." ); + if ( DebugConfig.isUseCustomNavi() ) { + return false; + } + if ( AppUtils.isAppInstalled( AbsMogoApplication.getApp(), "com.autonavi.amapauto" ) ) { return true; } return false;