[sweeper运营&云控合并]feat: 添加 云控/运营 业务模式默认配置,SP配置的工具类和gradle设置;

This commit is contained in:
aibingbing
2023-10-23 19:54:59 +08:00
parent b2706a67eb
commit 65a9d7cdb5
8 changed files with 136 additions and 0 deletions

View File

@@ -175,6 +175,7 @@ android {
apply from: "./script/productFlavors/noop.gradle"
apply from: "./script/productFlavors/shuttle.gradle"
apply from: "./script/productFlavors/sweeperOperate.gradle"
apply from: "./script/productFlavors/sweeperCloud.gradle"
apply from: "./script/productFlavors/taxi.gradle"
apply from: "./script/productFlavors/taxiunmanned.gradle"
// 配置不同渠道参数,直接影响功能完整度

View File

@@ -6,6 +6,9 @@
"sweeperOperate" :{
"driver": ["ochFT"]
},
"sweeperCloud" :{
"driver": ["ochFT"]
},
"shuttle" :{
"driver": ["ochJL","ochM2"],
"passenger": ["ochJL","ochM2"]

View File

@@ -29,6 +29,8 @@ project.dependencies {
implementation project.project(':OCH:shuttle:passenger')
} else if (isCurrentDriver("sweeperOperate")) {
implementation project.project(':OCH:sweeper:driver')
} else if (isCurrentDriver("sweeperCloud")) {
implementation project.project('OCH:sweeper:driver')
} else if (isCurrentDriver("taxiunmanned")) {
implementation project.project(':OCH:taxi:unmanned-driver')
} else if (isCurrentPassenger("taxiunmanned")) {

View File

@@ -0,0 +1,33 @@
project.android.productFlavors {
// 清扫车业务
sweeperCloud {
dimension "product"
manifestPlaceholders = [
// 标识
CHANNEL_VALUE_HEAD: "Sweeper",
// 在启动的时候把Task给清空
ACTIVITY_ROOT : true,
// Activity的朝向
SCREEN_ORIENTATION:"landscape",
]
// ①标识
buildConfigField 'String', 'APP_IDENTITY_MODE_HEAD', "\"Sweeper\""
// ②连接的工控机IP地址
buildConfigField 'String', 'ADAS_CONNECT_IP', "\"192.168.8.102\""
// ③是否需要重写状态栏
buildConfigField 'boolean', 'IS_REPLACE_STATUSVIEW', 'false'
// ④构建 是否支持多屏异显异交互
buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'false'
// ⑤清扫车 默认模式(运营/云控)
buildConfigField 'String', 'SWEEPER_DEFAULT_MODE', '\"Cloud\"'
// ⑥清扫车 是否能切换模式
buildConfigField 'boolean', 'SWEEPER_CAN_SWITCH_MODE', 'true'
}
}

View File

@@ -23,5 +23,11 @@ project.android.productFlavors {
// ④构建 是否支持多屏异显异交互
buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'false'
// ⑤清扫车 默认模式(运营/云控)
buildConfigField 'String', 'SWEEPER_DEFAULT_MODE', '\"Operate\"'
// ⑥清扫车 是否能切换模式
buildConfigField 'boolean', 'SWEEPER_CAN_SWITCH_MODE', 'false'
}
}

View File

@@ -70,6 +70,10 @@ object ConfigStartUp {
FunctionBuildConfig.adasConnectIP = BuildConfig.ADAS_CONNECT_IP
// 是否开启secure校验
FunctionBuildConfig.isSecure = BuildConfig.secure
// 清扫车 默认业务模式
FunctionBuildConfig.sweeperDefaultMode = BuildConfig.SWEEPER_DEFAULT_MODE
// 清扫车 是否能切换当前业务模式
FunctionBuildConfig.sweeperCanSwitchMode = BuildConfig.SWEEPER_CAN_SWITCH_MODE
}
private fun initDebugConfig() {

View File

@@ -313,4 +313,18 @@ object FunctionBuildConfig {
@JvmField
var isFaultSlowDown = true
/**
* 清扫车 默认业务模式(云控)
*/
@Volatile
@JvmField
var sweeperDefaultMode = "Cloud"
/**
* 清扫车 是否能切换当前业务模式
*/
@Volatile
@JvmField
var sweeperCanSwitchMode = "true"
}

View File

@@ -0,0 +1,73 @@
package com.mogo.eagle.core.utilcode.mogo.vehicle
import com.mogo.eagle.core.utilcode.util.SPUtils
/**
* 清扫车 业务相关的车型配置
*/
object SweeperVehicleConfigUtils {
// 业务模式(云控/运营)
private const val BUSINESS_MODE_OPERATE = "Operate"
private const val BUSINESS_MODE_CLOUD = "Cloud"
// 本地存储SP key
private const val SP_KEY_SWEEPER_CURRENT_MODE = "key_sweeper_current_mode"
/**
* 是否 默认清扫车营运模式
*
* @param sweeperDefaultMode productFlavors 配置的默认值
* @return true - 是默认清扫车运营模式 false - 不是默认清扫车运营模式
*/
@JvmStatic
fun isDefaultSweeperOperateMode(sweeperDefaultMode: String): Boolean {
return BUSINESS_MODE_OPERATE == sweeperDefaultMode
}
/**
* 是否 默认清扫车云控模式
*
* @param sweeperDefaultMode productFlavors 配置的默认值
* @return true - 是默认清扫车云控模式 false - 不是默认清扫车云控模式
*/
@JvmStatic
fun isDefaultSweeperCloudMode(sweeperDefaultMode: String): Boolean {
return BUSINESS_MODE_CLOUD == sweeperDefaultMode
}
/**
* 保存 当前清扫业务模式到SP
*/
@JvmStatic
fun setSPCurrentSweeperMode(sweeperCurrentMode: String) {
SPUtils.getInstance().put(SP_KEY_SWEEPER_CURRENT_MODE, sweeperCurrentMode)
}
/**
* 是否SP中存在 当前清扫业务模式的配置
*/
@JvmStatic
fun isSPExistCurrentSweeperModeConfig(): Boolean {
return SPUtils.getInstance().contains(SP_KEY_SWEEPER_CURRENT_MODE)
}
/**
* 是否SP中 当前是运营业务模式
*/
@JvmStatic
fun isSPCurrentSweeperOperateMode(): Boolean {
return isSPExistCurrentSweeperModeConfig() &&
BUSINESS_MODE_OPERATE ==
SPUtils.getInstance().getString(SP_KEY_SWEEPER_CURRENT_MODE, BUSINESS_MODE_CLOUD)
}
/**
* 是否SP中 当前是云控业务模式
*/
@JvmStatic
fun isSPCurrentSweeperCloudMode(): Boolean {
return isSPExistCurrentSweeperModeConfig() &&
BUSINESS_MODE_CLOUD ==
SPUtils.getInstance().getString(SP_KEY_SWEEPER_CURRENT_MODE, BUSINESS_MODE_CLOUD)
}
}