[dev_arch_opt_3.0]

[Change]
[修改业务线身份判断规则具体查看app\productFlavors\README.md]
This commit is contained in:
yangyakun
2023-01-11 13:10:03 +08:00
parent a7d179d713
commit 4674124add
13 changed files with 226 additions and 37 deletions

View File

@@ -0,0 +1,23 @@
APP_IDENTITY_MODE规则
业务线
Taxi 出租车
Bus 小巴
Sweeper 清扫车
角色
Driver 司机屏
Passenger 乘客屏
车型
Basc basc(东风、红旗、金旅)
M1 m1
M2 m2
Van 开沃
FT 福田
已有:
taxi司机屏 Taxi_Driver_Basc (东风、红旗司机端)
taxi乘客屏 Taxi_Passenger_Basc (东风、红旗乘客端)
bus司机屏 Bus_Driver_Basc (金旅小巴司机端)
Bus_Driver_Van (开沃小巴司机端)
bus乘客屏 Bus_Passenger_Basc (金旅、开沃小巴乘客端)
Bus_Passenger_M1 M1小巴乘客端
Bus_Passenger_M2 M2小巴乘客端
清扫车 Sweeper_Driver_FT (福田清扫车司机端)

View File

@@ -25,8 +25,8 @@ project.android.productFlavors {
// GPS数据提供源 0-Android系统1-工控机2-OBU
buildConfigField 'int', 'GPS_PROVIDER', "1"
// 构建的应用身份类型,出租车0|小巴A-司机|乘客
buildConfigField 'int', 'APP_IDENTITY_MODE', "0xA0"
// 构建的应用身份类型,具体查看 README.md APP_IDENTITY_MODE规则
buildConfigField 'String', 'APP_IDENTITY_MODE', "\"Bus_Driver_Basc\""
// 连接的工控机IP地址
buildConfigField 'String', 'ADAS_CONNECT_IP', "\"192.168.8.102\""
// 构建的是否是演示(美化)模式

View File

@@ -25,8 +25,8 @@ project.android.productFlavors {
// GPS数据提供源 0-Android系统1-工控机2-OBU
buildConfigField 'int', 'GPS_PROVIDER', "1"
// 构建的应用身份类型,出租车0|小巴A-司机|乘客
buildConfigField 'int', 'APP_IDENTITY_MODE', "0x00"
// 构建的应用身份类型,具体查看 README.md APP_IDENTITY_MODE规则
buildConfigField 'String', 'APP_IDENTITY_MODE', "\"Taxi_Driver_Basc\""
// 连接的工控机IP地址
buildConfigField 'String', 'ADAS_CONNECT_IP', "\"192.168.1.102\""
// 构建的是否是演示(美化)模式

View File

@@ -23,8 +23,8 @@ project.android.productFlavors {
// GPS数据提供源 0-Android系统1-工控机2-OBU
buildConfigField 'int', 'GPS_PROVIDER', "1"
// 构建的应用身份类型,司机|乘客
buildConfigField 'int', 'APP_IDENTITY_MODE', "0x00"
// 构建的应用身份类型,具体查看 README.md APP_IDENTITY_MODE规则
buildConfigField 'String', 'APP_IDENTITY_MODE', "\"Taxi_Driver_Basc\""
// 连接的工控机IP地址
buildConfigField 'String', 'ADAS_CONNECT_IP', "\"192.168.1.104\""
// 构建的是否是演示(美化)模式

View File

@@ -25,8 +25,8 @@ project.android.productFlavors {
// GPS数据提供源 0-Android系统1-工控机2-OBU
buildConfigField 'int', 'GPS_PROVIDER', "1"
// 构建的应用身份类型,出租车0|小巴A-司机|乘客
buildConfigField 'int', 'APP_IDENTITY_MODE', "0xA0"
// 构建的应用身份类型,具体查看 README.md APP_IDENTITY_MODE规则
buildConfigField 'String', 'APP_IDENTITY_MODE', "\"Bus_Driver_Basc\""
// 连接的工控机IP地址
buildConfigField 'String', 'ADAS_CONNECT_IP', "\"192.168.8.102\""
// 构建的是否是演示(美化)模式

View File

@@ -23,8 +23,8 @@ project.android.productFlavors {
// GPS数据提供源 0-Android系统1-工控机2-OBU
buildConfigField 'int', 'GPS_PROVIDER', "1"
// 构建的应用身份类型,出租车0|小巴A-司机0乘客1
buildConfigField 'int', 'APP_IDENTITY_MODE', "0xA1"
// 构建的应用身份类型,具体查看 README.md APP_IDENTITY_MODE规则
buildConfigField 'String', 'APP_IDENTITY_MODE', "\"Bus_Passenger_Basc\""
// 连接的工控机IP地址
buildConfigField 'String', 'ADAS_CONNECT_IP', "\"192.168.8.103\""
// 构建的是否是演示(美化)模式

View File

@@ -25,8 +25,8 @@ project.android.productFlavors {
// GPS数据提供源 0-Android系统1-工控机2-OBU
buildConfigField 'int', 'GPS_PROVIDER', "1"
// 构建的应用身份类型,出租车0|小巴A清扫车B-司机|乘客
buildConfigField 'int', 'APP_IDENTITY_MODE', "0xB0"
// 构建的应用身份类型,具体查看 README.md APP_IDENTITY_MODE规则
buildConfigField 'String', 'APP_IDENTITY_MODE', "\"Sweeper_Driver_FT\""
// 连接的工控机IP地址
buildConfigField 'String', 'ADAS_CONNECT_IP', "\"192.168.8.102\""
// 构建的是否是演示(美化)模式

View File

@@ -26,8 +26,8 @@ project.android.productFlavors {
// GPS数据提供源 0-Android系统1-工控机2-OBU
buildConfigField 'int', 'GPS_PROVIDER', "1"
// 构建的应用身份类型,出租车0|小巴A-司机|乘客
buildConfigField 'int', 'APP_IDENTITY_MODE', "0x00"
// 构建的应用身份类型,具体查看 README.md APP_IDENTITY_MODE规则
buildConfigField 'String', 'APP_IDENTITY_MODE', "\"Taxi_Driver_Basc\""
// 连接的工控机IP地址
buildConfigField 'String', 'ADAS_CONNECT_IP', "\"192.168.1.102\""
// 构建的是否是演示(美化)模式

View File

@@ -25,8 +25,8 @@ project.android.productFlavors {
// GPS数据提供源 0-Android系统1-工控机2-OBU
buildConfigField 'int', 'GPS_PROVIDER', "1"
// 构建的应用身份类型,出租车0|小巴A-司机0乘客1
buildConfigField 'int', 'APP_IDENTITY_MODE', "0x01"
// 构建的应用身份类型,具体查看 README.md APP_IDENTITY_MODE规则
buildConfigField 'String', 'APP_IDENTITY_MODE', "\"Taxi_Passenger_Basc\""
// 连接的工控机IP地址
buildConfigField 'String', 'ADAS_CONNECT_IP', "\"192.168.1.103\""
// 构建的是否是演示(美化)模式

View File

@@ -67,17 +67,17 @@ object FunctionBuildConfig {
/**
* 当前APP的身份模式
*
* 0x00 = 出租车-司机模式(默认)
* 0x01 = 出租车-乘客模式(部分功能受到限制)
* Taxi_Driver_Basc = 出租车-司机模式(默认)
* Taxi_Passenger_Basc = 出租车-乘客模式(部分功能受到限制)
*
* 0xA0 = 小巴车-司机模式(默认)
* 0xA1 = 小巴车-乘客模式(部分功能受到限制)
* Bus_Driver_Basc = 小巴车-司机模式(默认)
* Bus_Passenger_Basc = 小巴车-乘客模式(部分功能受到限制)
*
* 0xB0 = 清扫车-司机模式(默认)
* Sweeper_Driver_FT = 清扫车-司机模式(默认)
*/
@Volatile
@JvmField
var appIdentityMode = 0x00
var appIdentityMode = "Taxi_Driver_Basc"
/**
* 配置连接工控机的IP地址

View File

@@ -50,6 +50,9 @@ android {
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
testImplementation 'junit:junit:4.12'
testImplementation project(path: ':core:mogo-core-utils')
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
implementation rootProject.ext.dependencies.androidxappcompat
kapt rootProject.ext.dependencies.androidxannotation
api rootProject.ext.dependencies.glide

View File

@@ -1,7 +1,7 @@
package com.mogo.eagle.core.utilcode.mogo
fun AppIdentityModeUtils.getMisChannelCode(appIdentityMode: Int): Int {
fun AppIdentityModeUtils.getMisChannelCode(appIdentityMode: String): Int {
return when {
isTaxi(appIdentityMode) && isPassenger(appIdentityMode) -> 1
isTaxi(appIdentityMode) && isDriver(appIdentityMode) -> 2
@@ -17,6 +17,24 @@ fun AppIdentityModeUtils.getMisChannelCode(appIdentityMode: Int): Int {
* @see com.mogo.eagle.core.data.config.FunctionBuildConfig.appIdentityMode 判断身份
*/
object AppIdentityModeUtils {
// 身份
private const val DRIVER = "Driver"
private const val PASSENGER = "Passenger"
// 业务
private const val TAXI = "Taxi"
private const val BUS = "Bus"
private const val SWEEPER = "Sweeper"
private fun getInfo(appIdentityMode: String): Array<String> {
val split = appIdentityMode.split("_")
if (split.size == 3) {
return split.toTypedArray()
}
return arrayOf("", "", "")
}
/**
* 是否是 司机端(这里不细分具体是:小巴、出租车等类型)
*
@@ -24,8 +42,12 @@ object AppIdentityModeUtils {
* @return true - 是司机端 false - 不是司机端
*/
@JvmStatic
fun isDriver(appIdentityMode: Int): Boolean {
return appIdentityMode and 0x01 != 0x01
fun isDriver(appIdentityMode: String): Boolean {
val (_, identity, _) = getInfo(appIdentityMode)
if (!identity.isEmpty()) {
return identity == DRIVER
}
return false
}
/**
@@ -35,8 +57,12 @@ object AppIdentityModeUtils {
* @return true - 是乘客端 false - 不是乘客端
*/
@JvmStatic
fun isPassenger(appIdentityMode: Int): Boolean {
return appIdentityMode and 0x01 == 0x01
fun isPassenger(appIdentityMode: String): Boolean {
val (_, identity, _) = getInfo(appIdentityMode)
if (!identity.isEmpty()) {
return identity == PASSENGER
}
return false
}
/**
@@ -46,8 +72,12 @@ object AppIdentityModeUtils {
* @return true - 是小巴车端 false - 不是小巴车端
*/
@JvmStatic
fun isBus(appIdentityMode: Int): Boolean {
return appIdentityMode and 0xA0 == 0xA0
fun isBus(appIdentityMode: String): Boolean {
val (bussness, _, _) = getInfo(appIdentityMode)
if (!bussness.isEmpty()) {
return bussness == BUS
}
return false
}
/**
@@ -57,8 +87,12 @@ object AppIdentityModeUtils {
* @return true - 是清扫车端 false - 不是清扫车端
*/
@JvmStatic
fun isSweeper(appIdentityMode: Int): Boolean {
return appIdentityMode and 0xB0 == 0xB0
fun isSweeper(appIdentityMode: String): Boolean {
val (bussness, _, _) = getInfo(appIdentityMode)
if (!bussness.isEmpty()) {
return bussness == SWEEPER
}
return false
}
/**
@@ -68,8 +102,12 @@ object AppIdentityModeUtils {
* @return true - 是出租车端 false - 不是出租车端
*/
@JvmStatic
fun isTaxi(appIdentityMode: Int): Boolean {
return appIdentityMode and 0xA0 != 0xA0
fun isTaxi(appIdentityMode: String): Boolean {
val (bussness, _, _) = getInfo(appIdentityMode)
if (!bussness.isEmpty()) {
return bussness == TAXI
}
return false
}
@@ -80,7 +118,7 @@ object AppIdentityModeUtils {
* @return true - 是小巴车司机端 false - 不是小巴车司机端
*/
@JvmStatic
fun isBusDriver(appIdentityMode: Int): Boolean {
fun isBusDriver(appIdentityMode: String): Boolean {
return isBus(appIdentityMode) && isDriver(appIdentityMode)
}
@@ -91,7 +129,7 @@ object AppIdentityModeUtils {
* @return true - 是出租车司机端 false - 不是出租车司机端
*/
@JvmStatic
fun isTaxiDriver(appIdentityMode: Int): Boolean {
fun isTaxiDriver(appIdentityMode: String): Boolean {
return isTaxi(appIdentityMode) && isDriver(appIdentityMode)
}
@@ -102,7 +140,7 @@ object AppIdentityModeUtils {
* @return true - 是小巴车乘客端 false - 不是小巴车乘客端
*/
@JvmStatic
fun isBusPassenger(appIdentityMode: Int): Boolean {
fun isBusPassenger(appIdentityMode: String): Boolean {
return isBus(appIdentityMode) && isPassenger(appIdentityMode)
}
@@ -113,7 +151,7 @@ object AppIdentityModeUtils {
* @return true - 是出租车乘客端 false - 不是出租车乘客端
*/
@JvmStatic
fun isTaxiPassenger(appIdentityMode: Int): Boolean {
fun isTaxiPassenger(appIdentityMode: String): Boolean {
return isTaxi(appIdentityMode) && isPassenger(appIdentityMode)
}

View File

@@ -0,0 +1,125 @@
package com.mogo.eagle.core.utilcode
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
import com.zhidao.thirdlogin.utils.Aes
import org.junit.Assert.*
import org.junit.Test
/**
* Example local unit test, which will execute on the development machine (host).
*
* See [testing documentation](http://d.android.com/tools/testing).
*/
class ExampleUnitTest {
@Test
fun addition_isCorrect() {
assertEquals(4, 2 + 2)
println("start")
val mode1 = "Taxi_Driver_Basc"
val mode2 = "Taxi_Passenger_Basc"
val mode3 = "Bus_Driver_Basc"
val mode4 = "Bus_Passenger_Basc"
val mode5 = "Bus_Passenger_M1"
val mode6 = "Bus_Passenger_M2"
val mode7 = "Bus_Passenger_Van"
val mode8 = "Sweeper_Driver_FT"
println("${mode1}是bus:${AppIdentityModeUtils.isBus(mode1)}")
println("${mode2}是bus:${AppIdentityModeUtils.isBus(mode2)}")
println("${mode3}是bus:${AppIdentityModeUtils.isBus(mode3)}")
println("${mode4}是bus:${AppIdentityModeUtils.isBus(mode4)}")
println("${mode5}是bus:${AppIdentityModeUtils.isBus(mode5)}")
println("${mode6}是bus:${AppIdentityModeUtils.isBus(mode6)}")
println("${mode7}是bus:${AppIdentityModeUtils.isBus(mode7)}")
println("${mode8}是bus:${AppIdentityModeUtils.isBus(mode8)}")
println()
println()
println("${mode1}是taxi:${AppIdentityModeUtils.isTaxi(mode1)}")
println("${mode2}是taxi:${AppIdentityModeUtils.isTaxi(mode2)}")
println("${mode3}是taxi:${AppIdentityModeUtils.isTaxi(mode3)}")
println("${mode4}是taxi:${AppIdentityModeUtils.isTaxi(mode4)}")
println("${mode5}是taxi:${AppIdentityModeUtils.isTaxi(mode5)}")
println("${mode6}是taxi:${AppIdentityModeUtils.isTaxi(mode6)}")
println("${mode7}是taxi:${AppIdentityModeUtils.isTaxi(mode7)}")
println("${mode8}是taxi:${AppIdentityModeUtils.isTaxi(mode8)}")
println()
println()
println("${mode1}是sweeper:${AppIdentityModeUtils.isSweeper(mode1)}")
println("${mode2}是sweeper:${AppIdentityModeUtils.isSweeper(mode2)}")
println("${mode3}是sweeper:${AppIdentityModeUtils.isSweeper(mode3)}")
println("${mode4}是sweeper:${AppIdentityModeUtils.isSweeper(mode4)}")
println("${mode5}是sweeper:${AppIdentityModeUtils.isSweeper(mode5)}")
println("${mode6}是sweeper:${AppIdentityModeUtils.isSweeper(mode6)}")
println("${mode7}是sweeper:${AppIdentityModeUtils.isSweeper(mode7)}")
println("${mode8}是sweeper:${AppIdentityModeUtils.isSweeper(mode8)}")
println()
println()
println("${mode1}是driver:${AppIdentityModeUtils.isDriver(mode1)}")
println("${mode2}是driver:${AppIdentityModeUtils.isDriver(mode2)}")
println("${mode3}是driver:${AppIdentityModeUtils.isDriver(mode3)}")
println("${mode4}是driver:${AppIdentityModeUtils.isDriver(mode4)}")
println("${mode5}是driver:${AppIdentityModeUtils.isDriver(mode5)}")
println("${mode6}是driver:${AppIdentityModeUtils.isDriver(mode6)}")
println("${mode7}是driver:${AppIdentityModeUtils.isDriver(mode7)}")
println("${mode8}是driver:${AppIdentityModeUtils.isDriver(mode8)}")
println()
println()
println("${mode1}是passenger:${AppIdentityModeUtils.isPassenger(mode1)}")
println("${mode2}是passenger:${AppIdentityModeUtils.isPassenger(mode2)}")
println("${mode3}是passenger:${AppIdentityModeUtils.isPassenger(mode3)}")
println("${mode4}是passenger:${AppIdentityModeUtils.isPassenger(mode4)}")
println("${mode5}是passenger:${AppIdentityModeUtils.isPassenger(mode5)}")
println("${mode6}是passenger:${AppIdentityModeUtils.isPassenger(mode6)}")
println("${mode7}是passenger:${AppIdentityModeUtils.isPassenger(mode7)}")
println("${mode8}是passenger:${AppIdentityModeUtils.isPassenger(mode8)}")
println()
println()
println("${mode1}是busDriver:${AppIdentityModeUtils.isBusDriver(mode1)}")
println("${mode2}是busDriver:${AppIdentityModeUtils.isBusDriver(mode2)}")
println("${mode3}是busDriver:${AppIdentityModeUtils.isBusDriver(mode3)}")
println("${mode4}是busDriver:${AppIdentityModeUtils.isBusDriver(mode4)}")
println("${mode5}是busDriver:${AppIdentityModeUtils.isBusDriver(mode5)}")
println("${mode6}是busDriver:${AppIdentityModeUtils.isBusDriver(mode6)}")
println("${mode7}是busDriver:${AppIdentityModeUtils.isBusDriver(mode7)}")
println("${mode8}是busDriver:${AppIdentityModeUtils.isBusDriver(mode8)}")
println()
println()
println("${mode1}是buspassenger:${AppIdentityModeUtils.isBusPassenger(mode1)}")
println("${mode2}是buspassenger:${AppIdentityModeUtils.isBusPassenger(mode2)}")
println("${mode3}是buspassenger:${AppIdentityModeUtils.isBusPassenger(mode3)}")
println("${mode4}是buspassenger:${AppIdentityModeUtils.isBusPassenger(mode4)}")
println("${mode5}是buspassenger:${AppIdentityModeUtils.isBusPassenger(mode5)}")
println("${mode6}是buspassenger:${AppIdentityModeUtils.isBusPassenger(mode6)}")
println("${mode7}是buspassenger:${AppIdentityModeUtils.isBusPassenger(mode7)}")
println("${mode8}是buspassenger:${AppIdentityModeUtils.isBusPassenger(mode8)}")
println()
println()
println("${mode1}是taxidriver:${AppIdentityModeUtils.isTaxiDriver(mode1)}")
println("${mode2}是taxidriver:${AppIdentityModeUtils.isTaxiDriver(mode2)}")
println("${mode3}是taxidriver:${AppIdentityModeUtils.isTaxiDriver(mode3)}")
println("${mode4}是taxidriver:${AppIdentityModeUtils.isTaxiDriver(mode4)}")
println("${mode5}是taxidriver:${AppIdentityModeUtils.isTaxiDriver(mode5)}")
println("${mode6}是taxidriver:${AppIdentityModeUtils.isTaxiDriver(mode6)}")
println("${mode7}是taxidriver:${AppIdentityModeUtils.isTaxiDriver(mode7)}")
println("${mode8}是taxidriver:${AppIdentityModeUtils.isTaxiDriver(mode8)}")
println()
println()
println("${mode1}是taxiPassenger:${AppIdentityModeUtils.isTaxiPassenger(mode1)}")
println("${mode2}是taxiPassenger:${AppIdentityModeUtils.isTaxiPassenger(mode2)}")
println("${mode3}是taxiPassenger:${AppIdentityModeUtils.isTaxiPassenger(mode3)}")
println("${mode4}是taxiPassenger:${AppIdentityModeUtils.isTaxiPassenger(mode4)}")
println("${mode5}是taxiPassenger:${AppIdentityModeUtils.isTaxiPassenger(mode5)}")
println("${mode6}是taxiPassenger:${AppIdentityModeUtils.isTaxiPassenger(mode6)}")
println("${mode7}是taxiPassenger:${AppIdentityModeUtils.isTaxiPassenger(mode7)}")
println("${mode8}是taxiPassenger:${AppIdentityModeUtils.isTaxiPassenger(mode8)}")
println("end")
}
}