diff --git a/app/build.gradle b/app/build.gradle index 455fd7f487..a74eef3605 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -259,8 +259,10 @@ android { apply from: "./productFlavors/fPadLenovoOchBusPassenger.gradle" apply from: "./productFlavors/fPadLenovoOchTaxiPassenger.gradle" apply from: "./productFlavors/fPadLenovoOchSweeper.gradle" + apply from: "./productFlavors/fMultiDisplayOchBus.gradle" apply from: "./productFlavors/fMultiDisplayOchTaxi.gradle" + apply from: "./productFlavors/fMultiDisplaySweeper.gradle" variantFilter { variant -> def names = variant.flavors*.name @@ -272,7 +274,7 @@ android { } // endregion // region 过滤sweper 的flavors - if (names.contains("sweeper") && !names.contains("fPadLenovoOchSweeper")) { + if (names.contains("sweeper") && !names.contains("fPadLenovoOchSweeper")&& !names.contains("fMultiDisplaySweeper")) { //Gradle会忽略满足上述条件的所有变体 setIgnore(true) } diff --git a/app/functions/och.gradle b/app/functions/och.gradle index e29a99cbe1..54d0bddf87 100644 --- a/app/functions/och.gradle +++ b/app/functions/och.gradle @@ -39,15 +39,18 @@ project.dependencies { // taxi乘客端 fPadLenovoOchTaxiPassengerImplementation (project(':OCH:mogo-och-taxi-passenger')) - // Bus司机端 + // 多屏幕-Bus司机端 fMultiDisplayOchBusImplementation (project(':OCH:mogo-och-bus')) - // Bus乘客端 + // 多屏幕-Bus乘客端 fMultiDisplayOchBusImplementation (project(':OCH:mogo-och-bus-passenger')) - // taxi司机端 + // 多屏幕-taxi司机端 fMultiDisplayOchTaxiImplementation (project(':OCH:mogo-och-taxi')) - // taxi乘客端 + // 多屏幕-taxi乘客端 fMultiDisplayOchTaxiImplementation (project(':OCH:mogo-och-taxi-passenger')) + // 清扫车-多屏幕 + fMultiDisplaySweeperImplementation (project(':OCH:mogo-och-sweeper')) + } } diff --git a/app/productFlavors/fMultiDisplaySweeper.gradle b/app/productFlavors/fMultiDisplaySweeper.gradle new file mode 100644 index 0000000000..fbfd08b1e7 --- /dev/null +++ b/app/productFlavors/fMultiDisplaySweeper.gradle @@ -0,0 +1,54 @@ +project.android.productFlavors { + // 支持多个屏幕异显示的终端,即一个终端包含司机端、乘客端 + fMultiDisplaySweeper { + externalNativeBuild { + ndk { + // 设置支持的SO库架构 + abiFilters "armeabi-v7a", "arm64-v8a" + } + } + minSdkVersion rootProject.ext.android.minSdkVersionPadLenovo + targetSdkVersion rootProject.ext.android.targetSdkVersionPadLenovo + versionCode rootProject.versionCode as int + versionName rootProject.versionName + // 应用包名 + applicationId rootProject.ext.android.fLauncherApplicationId + dimension "product" + + // 车机类型,主要用于区分自研车机还是别人家的车机,自研车机类型为0 + buildConfigField 'int', 'CAR_MACHINE_TYPE', '2' + + // 配置AndroidManifest.xml中用到的参数 + manifestPlaceholders = [ + // 高德地图鉴权信息 + AMAP_API_VALUE : rootProject.ext.android.fLauncherAmapApiValue, + // BUGLY_APP_CHANNEL + CHANNEL_VALUE : "fMultiDisplaySweeper", + // 在启动的时候把Task给清空 + ACTIVITY_ROOT : true, + // Activity的朝向 + SCREEN_ORIENTATION: "landscape" + ] + + // 是否需要实时上报坐标 + buildConfigField 'boolean', 'IS_NEED_UPLOAD_COORDINATES_IN_TIME', 'true' + // GPS数据提供源: 0-Android系统,1-工控机,2-OBU + buildConfigField 'int', 'GPS_PROVIDER', "1" + + // 构建的应用身份类型,具体查看 README.md APP_IDENTITY_MODE规则 + buildConfigField 'String', 'APP_IDENTITY_MODE', "\"Taxi_Driver_Base\"" + // 连接的工控机IP地址 + buildConfigField 'String', 'ADAS_CONNECT_IP', "\"192.168.1.102\"" + // 构建的是否是演示(美化)模式 + buildConfigField 'boolean', 'IS_DEMO_MODE', 'false' + // 构建的是否要动态更换模型 + buildConfigField 'boolean', 'IS_CAR_MODEL_CHANGE', 'true' + + // 构建 是否支持多屏异显异交互 + buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'true' + + //不能启动自驾的档位 + buildConfigField 'java.util.Set', 'UNABLE_LAUNCH_AUTOPILOT_GEAR', 'null' + } + +} \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainLauncherActivity.java b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainLauncherActivity.java index 7049008ae7..1af3a15d1b 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainLauncherActivity.java +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainLauncherActivity.java @@ -124,27 +124,26 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis .navigation(getContext()); } } - // 处理一个机器多个屏幕方案 + // TODO 董宏宇 目前处于测试阶段,处理一个机器多个屏幕方案 else { ochProvider = (IMoGoFunctionProvider) ARouter.getInstance() - .build("/passenger/api") + .build("/driver/api") .navigation(getContext()); -// -// // 启动乘客端Act -// if (AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode) || -// AppIdentityModeUtils.isTaxi(FunctionBuildConfig.appIdentityMode)) { -// MultiDisplayUtils.INSTANCE.startActWithSecond( -// this, -// PassengerLauncherActivity.class); -// } - - // 启动广告视频Atc + // 启动乘客端Act if (AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode) || AppIdentityModeUtils.isTaxi(FunctionBuildConfig.appIdentityMode)) { MultiDisplayUtils.INSTANCE.startActWithSecond( this, - VideoAdAtc.class); + PassengerLauncherActivity.class); } + +// // 启动广告视频Atc +// if (AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode) || +// AppIdentityModeUtils.isTaxi(FunctionBuildConfig.appIdentityMode)) { +// MultiDisplayUtils.INSTANCE.startActWithSecond( +// this, +// VideoAdAtc.class); +// } } if (ochProvider != null) { diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/PassengerLauncherActivity.java b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/PassengerLauncherActivity.java index fe16ad97a7..a8b04df52c 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/PassengerLauncherActivity.java +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/PassengerLauncherActivity.java @@ -129,8 +129,8 @@ public class PassengerLauncherActivity extends MainActivity implements IMogoInte * 加载网约车模块 */ private void loadOCHModule() { - IMoGoFunctionProvider ochProvider = (IMoGoFunctionProvider) ARouter.getInstance() - .build("/passenger/api") + IMoGoFunctionProvider ochProvider = (IMoGoFunctionProvider) ARouter.getInstance() + .build("/driver/api") .navigation(getContext()); if (ochProvider != null) { ochProvider.createCoverage(this, R.id.module_main_id_och_fragment); @@ -202,6 +202,7 @@ public class PassengerLauncherActivity extends MainActivity implements IMogoInte /** * 魔方按键分发 提测前注释 ToastUtils TODO + * * @param event * @return */