From 2ecf3e3ebd3aadd93d5265c59c6d14bac12ee20e Mon Sep 17 00:00:00 2001 From: yangyakun Date: Wed, 22 Feb 2023 11:13:05 +0800 Subject: [PATCH] =?UTF-8?q?[m1]=20[1.1.2]=20=E5=8C=85=E8=BD=A6=E7=BB=93?= =?UTF-8?q?=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 8 ++- app/functions/och.gradle | 5 +- app/productFlavors/README.md | 17 +++--- app/productFlavors/flavorsFilterConfig.gradle | 22 +++++++- app/productFlavors/ochDriverM1.gradle | 52 +++++++++++++++++++ ...ssengerM1.gradle => ochPassengerM1.gradle} | 4 +- .../utilcode/mogo/AppIdentityModeUtils.kt | 32 ++++++++---- 7 files changed, 117 insertions(+), 23 deletions(-) create mode 100644 app/productFlavors/ochDriverM1.gradle rename app/productFlavors/{fOchBusPassengerM1.gradle => ochPassengerM1.gradle} (95%) diff --git a/app/build.gradle b/app/build.gradle index 2587488dc4..d7f0d4ff9a 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -251,6 +251,10 @@ android { shuttle{ dimension "product" } + // 包车业务 + charter{ + dimension "product" + } // 配置网络环境,QA、线上、演示 qa { @@ -273,7 +277,6 @@ android { apply from: "./productFlavors/fOchShuttle.gradle" apply from: "./productFlavors/fOchTaxi.gradle" apply from: "./productFlavors/fOchBusPassenger.gradle" - apply from: "./productFlavors/fOchBusPassengerM1.gradle" apply from: "./productFlavors/fOchBusPassengerM2.gradle" apply from: "./productFlavors/fOchShuttlePassenger.gradle" apply from: "./productFlavors/fOchTaxiPassenger.gradle" @@ -281,6 +284,9 @@ android { apply from: "./productFlavors/fMultiDisplayOchBus.gradle" apply from: "./productFlavors/fMultiDisplayOchTaxi.gradle" apply from: "./productFlavors/flavorsFilterConfig.gradle" + //包车 + apply from: "./productFlavors/ochDriverM1.gradle" + apply from: "./productFlavors/ochPassengerM1.gradle" packagingOptions { exclude 'META-INF/io.netty.versions.properties' diff --git a/app/functions/och.gradle b/app/functions/och.gradle index 8388840e97..b2430e4a50 100644 --- a/app/functions/och.gradle +++ b/app/functions/och.gradle @@ -39,9 +39,12 @@ project.dependencies { fOchBusImplementation (project(':OCH:mogo-och-bus')) // Bus乘客端 fOchBusPassengerImplementation (project(':OCH:mogo-och-bus-passenger')) - fOchBusPassengerM1Implementation (project(':OCH:mogo-och-bus-passenger')) fOchBusPassengerM2Implementation (project(':OCH:mogo-och-bus-passenger')) + // 包车 + ochDriverM1Implementation (project(':OCH:mogo-och-bus')) + ochPassengerM1Implementation (project(':OCH:mogo-och-bus-passenger')) + // taxi司机端 fOchTaxiImplementation (project(':OCH:mogo-och-taxi')) // taxi乘客端 diff --git a/app/productFlavors/README.md b/app/productFlavors/README.md index 66b93ae8f2..99b243fa63 100644 --- a/app/productFlavors/README.md +++ b/app/productFlavors/README.md @@ -13,11 +13,12 @@ APP_IDENTITY_MODE规则: Van 开沃 FT 福田 已有: - taxi司机屏 Taxi_Driver_Base (东风、红旗司机端) - taxi乘客屏 Taxi_Passenger_Base (东风、红旗乘客端) - bus司机屏 Bus_Driver_Base (金旅小巴司机端) - Bus_Driver_Van (开沃小巴司机端) - bus乘客屏 Bus_Passenger_Base (金旅、开沃小巴乘客端) - Bus_Passenger_M1 (M1小巴乘客端) - Bus_Passenger_M2 (M2小巴乘客端) - 清扫车 Sweeper_Driver_FT (福田清扫车司机端) \ No newline at end of file + taxi司机屏 Taxi_Driver_DFHQ (东风、红旗司机端) + taxi乘客屏 Taxi_Passenger_DFHQ (东风、红旗乘客端) + bus司机屏 Bus_Driver_JLKV (金旅公交车司机端) + Bus_Driver_Van (开沃公交车司机端) + bus乘客屏 Bus_Passenger_JLKV (金旅、开沃公交车乘客端) + Bus_Passenger_M2 (M2公交车乘客端) + 清扫车 Sweeper_Driver_FT (福田清扫车司机端) + 包车 Charter_Driver_M1 (M1包车司机端) + Charter_Passenger_M1 (M1包车乘客端) \ No newline at end of file diff --git a/app/productFlavors/flavorsFilterConfig.gradle b/app/productFlavors/flavorsFilterConfig.gradle index 92ab21d059..27dce97c46 100644 --- a/app/productFlavors/flavorsFilterConfig.gradle +++ b/app/productFlavors/flavorsFilterConfig.gradle @@ -43,13 +43,22 @@ project.android.variantFilter { variant -> if (names.contains("fOchBus")) { } else if (names.contains("fOchBusPassenger")) { } else if (names.contains("fMultiDisplayOchBus")) { - } else if (names.contains("fOchBusPassengerM1")) { } else if (names.contains("fOchBusPassengerM2")) { } else { setIgnore(true) } } // endregion + // region 过滤charter 包车 的flavors + if (names.contains("charter")) { + //Gradle会忽略满足上述条件的所有变体 + if (names.contains("ochDriverM1")) { + } else if (names.contains("ochPassengerM1")) { + } else { + setIgnore(true) + } + } + // endregion } else if(names.contains("dali")){ // region 过滤noop 的flavors 不带och业务的 @@ -85,13 +94,22 @@ project.android.variantFilter { variant -> if (names.contains("fOchBus")) { } else if (names.contains("fOchBusPassenger")) { } else if (names.contains("fMultiDisplayOchBus")) { - } else if (names.contains("fOchBusPassengerM1")) { } else if (names.contains("fOchBusPassengerM2")) { } else { setIgnore(true) } } // endregion + // region 过滤charter 包车 的flavors + if (names.contains("charter")) { + //Gradle会忽略满足上述条件的所有变体 + if (names.contains("ochDriverM1")) { + } else if (names.contains("ochPassengerM1")) { + } else { + setIgnore(true) + } + } + // endregion } else { setIgnore(true) diff --git a/app/productFlavors/ochDriverM1.gradle b/app/productFlavors/ochDriverM1.gradle new file mode 100644 index 0000000000..84d2a1930b --- /dev/null +++ b/app/productFlavors/ochDriverM1.gradle @@ -0,0 +1,52 @@ +project.android.productFlavors { + // 衡阳-联想Pad-网约车-小巴车 + ochDriverM1 { + 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 "vehicle" + matchingFallbacks = ['jinlvvan'] + + // 车机类型,主要用于区分自研车机还是别人家的车机,自研车机类型为0 + buildConfigField 'int', 'CAR_MACHINE_TYPE', '2' + // 配置AndroidManifest.xml中用到的参数 + manifestPlaceholders = [ + // 高德地图鉴权信息 + AMAP_API_VALUE : rootProject.ext.android.fLauncherAmapApiValue, + // BUGLY_APP_CHANNEL + CHANNEL_VALUE : "fOchBus", + // 在启动的时候把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', "\"Charter_Driver_M1\"" + // 连接的工控机IP地址 + buildConfigField 'String', 'ADAS_CONNECT_IP', "\"192.168.8.102\"" + // 构建的是否是演示(美化)模式 + buildConfigField 'boolean', 'IS_DEMO_MODE', 'false' + // 构建的是否要动态更换模型 + buildConfigField 'boolean', 'IS_CAR_MODEL_CHANGE', 'true' + // 是否需要重写状态栏 + buildConfigField 'boolean', 'IS_REPLACE_STATUSVIEW', 'false' + + // 构建 是否支持多屏异显异交互 + buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'false' + } +} \ No newline at end of file diff --git a/app/productFlavors/fOchBusPassengerM1.gradle b/app/productFlavors/ochPassengerM1.gradle similarity index 95% rename from app/productFlavors/fOchBusPassengerM1.gradle rename to app/productFlavors/ochPassengerM1.gradle index 207c5b2b13..c60d13e0b5 100644 --- a/app/productFlavors/fOchBusPassengerM1.gradle +++ b/app/productFlavors/ochPassengerM1.gradle @@ -1,6 +1,6 @@ project.android.productFlavors { // 衡阳-联想Pad-网约车-小巴车-乘客端 - fOchBusPassengerM1 { + ochPassengerM1 { externalNativeBuild { ndk { // 设置支持的SO库架构 @@ -36,7 +36,7 @@ project.android.productFlavors { buildConfigField 'int', 'GPS_PROVIDER', "1" // 构建的应用身份类型,具体查看 README.md APP_IDENTITY_MODE规则 - buildConfigField 'String', 'APP_IDENTITY_MODE', "\"Bus_Passenger_M1\"" + buildConfigField 'String', 'APP_IDENTITY_MODE', "\"Charter_Passenger_M1\"" // 连接的工控机IP地址 buildConfigField 'String', 'ADAS_CONNECT_IP', "\"192.168.8.103\"" // 构建的是否是演示(美化)模式 diff --git a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/mogo/AppIdentityModeUtils.kt b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/mogo/AppIdentityModeUtils.kt index 55e04731dc..88228b80ca 100644 --- a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/mogo/AppIdentityModeUtils.kt +++ b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/mogo/AppIdentityModeUtils.kt @@ -24,6 +24,7 @@ object AppIdentityModeUtils { private const val BUS = "Bus" private const val SWEEPER = "Sweeper" private const val SHUTTLE = "Shuttle" + private const val CHARTER = "Charter" // 车型 private const val M1 = "M1" @@ -106,15 +107,6 @@ object AppIdentityModeUtils { } return false } - - @JvmStatic - fun isM1(appIdentityMode: String): Boolean { - val (_, _, model) = getInfo(appIdentityMode) - if (model.isNotEmpty()) { - return model == M1 - } - return false - } @JvmStatic fun isM2(appIdentityMode: String): Boolean { val (_, _, model) = getInfo(appIdentityMode) @@ -204,5 +196,27 @@ object AppIdentityModeUtils { } + /** + * 是否包车 + */ + @JvmStatic + fun isCharter(appIdentityMode: String): Boolean { + val (bussness, _, _) = getInfo(appIdentityMode) + if (bussness.isNotEmpty()) { + return bussness == CHARTER + } + return false + } + @JvmStatic + fun isM1(appIdentityMode: String): Boolean { + val (_, _, model) = getInfo(appIdentityMode) + if (model.isNotEmpty()) { + return model == M1 + } + return false + } + + + }