[Change]
[完成多物理设备和单设备多屏幕的工程适配;
待解决,需要处理两个身份通讯问题适配]

Signed-off-by: donghongyu <donghongyu@zhidaoauto.com>
This commit is contained in:
donghongyu
2022-11-28 22:35:19 +08:00
parent 5f1ecdd51f
commit 47161b4648
20 changed files with 249 additions and 162 deletions

View File

@@ -12,7 +12,10 @@ import com.mogo.och.common.module.biz.constant.OchCommonConst
import com.mogo.cloud.passport.MoGoAiCloudClient
import com.mogo.commons.debug.DebugConfig
import com.mogo.eagle.core.data.BaseData
import com.mogo.eagle.core.data.config.FunctionBuildConfig
import com.mogo.eagle.core.network.MoGoRetrofitFactory
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
import com.mogo.och.common.module.R
import com.mogo.och.common.module.biz.network.interceptor.transformTry
import io.reactivex.Observable
@@ -59,23 +62,22 @@ object OchCommonServiceManager {
) {
val sn = MoGoAiCloudClientConfig.getInstance().sn
var taxiLoginRespBeanObservable: Observable<TaxiLoginRespBean>? = null
when (DebugConfig.getProductFlavor()) {
"fPadLenovoOchTaxi" -> {
//出租车司机
taxiLoginRespBeanObservable = mOCHTaxiServiceApi.gotoLoginBycode4Taxi(
if (AppIdentityModeUtils.isTaxi(FunctionBuildConfig.appIdentityMode) &&
AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) {
//出租车司机
taxiLoginRespBeanObservable = mOCHTaxiServiceApi.gotoLoginBycode4Taxi(
MoGoAiCloudClientConfig.getInstance().serviceAppId,
MoGoAiCloudClientConfig.getInstance().token,
TaxiLoginReqBean(phone, code, sn, location4Login)
).transformTry()
}
"fPadLenovoOchBus" -> {
//小巴车司机
taxiLoginRespBeanObservable = mOCHTaxiServiceApi.gotoLoginBycode4Bus(
).transformTry()
} else if (AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode) &&
AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) {
//小巴车司机
taxiLoginRespBeanObservable = mOCHTaxiServiceApi.gotoLoginBycode4Bus(
MoGoAiCloudClientConfig.getInstance().serviceAppId,
MoGoAiCloudClientConfig.getInstance().token,
TaxiLoginReqBean(phone, code, sn, location4Login)
).transformTry()
}
).transformTry()
}
taxiLoginRespBeanObservable?.subscribe(OchCommonSubscribeImpl(context, callback, "gotoLoginBycode"))
}
@@ -90,23 +92,22 @@ object OchCommonServiceManager {
callback: OchCommonServiceCallback<BaseData>?
) {
var logout: Observable<BaseData>? = null
when (DebugConfig.getProductFlavor()) {
"fPadLenovoOchTaxi" -> {
//出租车司机
logout = mOCHTaxiServiceApi.logout4Taxi(
if (AppIdentityModeUtils.isTaxi(FunctionBuildConfig.appIdentityMode) &&
AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) {
//出租车司机
logout = mOCHTaxiServiceApi.logout4Taxi(
MoGoAiCloudClientConfig.getInstance().serviceAppId,
MoGoAiCloudClientConfig.getInstance().token,
TaxiLogoutReqBean(MoGoAiCloudClientConfig.getInstance().sn, location4Login)
).transformTry()
}
"fPadLenovoOchBus" -> {
//小巴车司机
logout = mOCHTaxiServiceApi.logout4Bus(
).transformTry()
} else if (AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode) &&
AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) {
//小巴车司机
logout = mOCHTaxiServiceApi.logout4Bus(
MoGoAiCloudClientConfig.getInstance().serviceAppId,
MoGoAiCloudClientConfig.getInstance().token,
TaxiLogoutReqBean(MoGoAiCloudClientConfig.getInstance().sn, location4Login)
).transformTry()
}
).transformTry()
}
logout?.subscribe(OchCommonSubscribeImpl(context, callback, "logout"))
}
@@ -128,19 +129,18 @@ object OchCommonServiceManager {
return
}
var flavor = ""
when (DebugConfig.getProductFlavor()) {
"fPadLenovoOchTaxi" -> {
//出租车司机
flavor = "taxi"
}
"fPadLenovoOchBus" -> {
//小巴车司机
flavor = "bus"
}
"fPadLenovoOchBusPassenger" -> {
//小巴车乘客
flavor = "bus/passenger"
}
if (AppIdentityModeUtils.isTaxi(FunctionBuildConfig.appIdentityMode) &&
AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) {
//出租车司机
flavor = "taxi"
} else if (AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode) &&
AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) {
//小巴车司机
flavor = "bus"
}else if (AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode) &&
AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)) {
//小巴车乘客
flavor = "bus/passenger"
}
mOCHTaxiServiceApi.queryDriverServiceStatusAndLoginStatus(
flavor,

View File

@@ -21,13 +21,18 @@ import com.alibaba.android.arouter.launcher.ARouter
import com.mogo.cloud.passport.MoGoAiCloudClientConfig
import com.mogo.commons.debug.DebugConfig
import com.mogo.commons.mvp.MvpDialogFragment
import com.mogo.eagle.core.data.config.FunctionBuildConfig
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager
import com.mogo.eagle.core.utilcode.kotlin.onClick
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
import com.mogo.eagle.core.utilcode.util.KeyboardUtils
import com.mogo.och.common.module.R
import com.mogo.och.common.module.biz.bean.TaxiLoginReqBean
import com.mogo.och.common.module.biz.constant.OchCommonConst
import com.mogo.och.common.module.biz.network.OchCommonServiceManager
import com.mogo.och.common.module.biz.network.interceptor.transformTry
import com.mogo.och.common.module.biz.presenter.OchCommonLoginPresenter
import com.mogo.och.common.module.biz.provider.LoginService
@@ -89,13 +94,14 @@ class TaxiLoginDialogFragment :
}
private fun initBg() {
when (DebugConfig.getProductFlavor()) {
"fPadLenovoOchTaxi" -> {
acivLoginBg.setImageResource(R.drawable.taxi_ic_login_bg)
}
"fPadLenovoOchBus" -> {
acivLoginBg.setImageResource(R.drawable.bus_ic_login_bg)
}
if (AppIdentityModeUtils.isTaxi(FunctionBuildConfig.appIdentityMode) &&
AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) {
//出租车司机
acivLoginBg.setImageResource(R.drawable.taxi_ic_login_bg)
} else if (AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode) &&
AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) {
//小巴车司机
acivLoginBg.setImageResource(R.drawable.bus_ic_login_bg)
}
}

View File

@@ -1,31 +1,30 @@
package com.mogo.och.common.module.utils
import com.mogo.commons.debug.DebugConfig
import com.mogo.eagle.core.data.config.FunctionBuildConfig
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_BUS
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_BUS_P
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_TAXI
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_TAXI_P
object CallerLoggerUtils {
var flavorTag = when (DebugConfig.getProductFlavor()) {
"fPadLenovoOchTaxi" -> {
//出租车司机
M_TAXI
}
"fPadLenovoOchBus" -> {
//小巴车司机
M_BUS
}
"fPadLenovoOchTaxiPassenger" -> {
//出租车乘客
M_TAXI_P
}
"fPadLenovoOchBusPassenger" -> {
//小巴车乘客
M_BUS_P
}
else -> {
""
}
var flavorTag =if (AppIdentityModeUtils.isTaxi(FunctionBuildConfig.appIdentityMode)&&
AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)){
//出租车司机
M_TAXI
}else if (AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)&&
AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)){
//小巴车司机
M_BUS
}else if (AppIdentityModeUtils.isTaxi(FunctionBuildConfig.appIdentityMode)&&
AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)){
//出租车乘客
M_TAXI_P
}else if (AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)&&
AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)){
//小巴车乘客
M_BUS_P
}else{
""
}
}

View File

@@ -228,6 +228,8 @@ 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"
packagingOptions {
exclude 'META-INF/io.netty.versions.properties'

View File

@@ -52,6 +52,42 @@ project.dependencies {
exclude group: 'com.mogo.eagle.core' //by group
exclude group: 'com.mogo.eagle.core.function' //by group
}
// Bus司机端
fMultiDisplayOchBusImplementation(rootProject.ext.dependencies.mogoochbus) {
exclude group: 'com.mogo.commons' //by group
exclude group: 'com.mogo.module' //by group
exclude group: 'com.mogo.map' //by group
exclude group: 'com.mogo.eagle.core' //by group
exclude group: 'com.mogo.eagle.core.function' //by group
}
// Bus乘客端
fMultiDisplayOchBusImplementation(rootProject.ext.dependencies.mogoochbus) {
exclude group: 'com.mogo.commons' //by group
exclude group: 'com.mogo.module' //by group
exclude group: 'com.mogo.map' //by group
exclude group: 'com.mogo.eagle.core' //by group
exclude group: 'com.mogo.eagle.core.function' //by group
}
// taxi司机端
fMultiDisplayOchTaxiImplementation(rootProject.ext.dependencies.mogoochtaxi) {
exclude group: 'com.mogo.commons' //by group
exclude group: 'com.mogo.module' //by group
exclude group: 'com.mogo.map' //by group
exclude group: 'com.mogo.eagle.core' //by group
exclude group: 'com.mogo.eagle.core.function' //by group
}
// taxi乘客端
fMultiDisplayOchTaxiImplementation(rootProject.ext.dependencies.mogoochtaxi) {
exclude group: 'com.mogo.commons' //by group
exclude group: 'com.mogo.module' //by group
exclude group: 'com.mogo.map' //by group
exclude group: 'com.mogo.eagle.core' //by group
exclude group: 'com.mogo.eagle.core.function' //by group
}
} else {
fPadLenovoImplementation (project(':OCH:mogo-och-noop')) {
exclude group: 'com.mogo.commons' //by group
@@ -78,7 +114,7 @@ project.dependencies {
}
// Bus乘客端
fPadLenovoOchBusImplementation (project(':OCH:mogo-och-bus-passenger')) {
fPadLenovoOchBusPassengerImplementation (project(':OCH:mogo-och-bus-passenger')) {
exclude group: 'com.mogo.commons' //by group
exclude group: 'com.mogo.module' //by group
exclude group: 'com.mogo.map' //by group
@@ -96,7 +132,43 @@ project.dependencies {
}
// taxi乘客端
fPadLenovoOchTaxiImplementation (project(':OCH:mogo-och-taxi-passenger')) {
fPadLenovoOchTaxiPassengerImplementation (project(':OCH:mogo-och-taxi-passenger')) {
exclude group: 'com.mogo.commons' //by group
exclude group: 'com.mogo.module' //by group
exclude group: 'com.mogo.map' //by group
exclude group: 'com.mogo.eagle.core' //by group
exclude group: 'com.mogo.eagle.core.function' //by group
}
// Bus司机端
fMultiDisplayOchBusImplementation (project(':OCH:mogo-och-bus')) {
exclude group: 'com.mogo.commons' //by group
exclude group: 'com.mogo.module' //by group
exclude group: 'com.mogo.map' //by group
exclude group: 'com.mogo.eagle.core' //by group
exclude group: 'com.mogo.eagle.core.function' //by group
}
// Bus乘客端
fMultiDisplayOchBusImplementation (project(':OCH:mogo-och-bus-passenger')) {
exclude group: 'com.mogo.commons' //by group
exclude group: 'com.mogo.module' //by group
exclude group: 'com.mogo.map' //by group
exclude group: 'com.mogo.eagle.core' //by group
exclude group: 'com.mogo.eagle.core.function' //by group
}
// taxi司机端
fMultiDisplayOchTaxiImplementation (project(':OCH:mogo-och-taxi')) {
exclude group: 'com.mogo.commons' //by group
exclude group: 'com.mogo.module' //by group
exclude group: 'com.mogo.map' //by group
exclude group: 'com.mogo.eagle.core' //by group
exclude group: 'com.mogo.eagle.core.function' //by group
}
// taxi乘客端
fMultiDisplayOchTaxiImplementation (project(':OCH:mogo-och-taxi-passenger')) {
exclude group: 'com.mogo.commons' //by group
exclude group: 'com.mogo.module' //by group
exclude group: 'com.mogo.map' //by group

View File

@@ -1,37 +1,39 @@
project.android.productFlavors {
// f系列-
f8xx {
//
fMultiDisplayOchBus {
externalNativeBuild {
ndk {
// SO库架构
abiFilters "arm64-v8a"
}
}
minSdkVersion rootProject.ext.android.minSdkVersion
targetSdkVersion rootProject.ext.android.targetSdkVersion
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', '0'
buildConfigField 'int', 'CAR_MACHINE_TYPE', '2'
//
manifestPlaceholders = [AMAP_API_VALUE: rootProject.ext.android.fLauncherAmapApiValue, CHANNEL_VALUE: "f8xx",ACTIVITY_ROOT:true]
//
buildConfigField 'boolean', 'IS_MAP_BASED', 'true'
manifestPlaceholders = [AMAP_API_VALUE: rootProject.ext.android.fLauncherAmapApiValue, CHANNEL_VALUE: "fPadLenovoOchBus",ACTIVITY_ROOT:true]
//
buildConfigField 'boolean', 'IS_NEED_UPLOAD_COORDINATES_IN_TIME', 'true'
// GPS数据提供源 0-Android系统1-2-OBU
buildConfigField 'int', 'GPS_PROVIDER', "1"
//
buildConfigField 'int', 'APP_IDENTITY_MODE', "0x00"
// 0|A-
buildConfigField 'int', 'APP_IDENTITY_MODE', "0xA0"
// IP地址
buildConfigField 'String', 'ADAS_CONNECT_IP', "\"192.168.8.102\""
//
buildConfigField 'boolean', 'IS_DEMO_MODE', 'false'
//
buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'true'
}
}

View File

@@ -1,37 +1,39 @@
project.android.productFlavors {
// f系列--
fochtaxi {
//
fMultiDisplayOchTaxi {
externalNativeBuild {
ndk {
// SO库架构
abiFilters "arm64-v8a"
}
}
minSdkVersion rootProject.ext.android.minSdkVersion
targetSdkVersion rootProject.ext.android.targetSdkVersion
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', '0'
buildConfigField 'int', 'CAR_MACHINE_TYPE', '2'
//
manifestPlaceholders = [AMAP_API_VALUE: rootProject.ext.android.fLauncherAmapApiValue, CHANNEL_VALUE: "fochtaxi",ACTIVITY_ROOT:true]
//
buildConfigField 'boolean', 'IS_MAP_BASED', 'true'
manifestPlaceholders = [AMAP_API_VALUE: rootProject.ext.android.fLauncherAmapApiValue, CHANNEL_VALUE: "fPadLenovoOchTaxi",ACTIVITY_ROOT:true]
//
buildConfigField 'boolean', 'IS_NEED_UPLOAD_COORDINATES_IN_TIME', 'true'
// GPS数据提供源 0-Android系统1-2-OBU
buildConfigField 'int', 'GPS_PROVIDER', "1"
//
// 0|A-
buildConfigField 'int', 'APP_IDENTITY_MODE', "0x00"
// IP地址
buildConfigField 'String', 'ADAS_CONNECT_IP', "\"192.168.1.102\""
//
buildConfigField 'boolean', 'IS_DEMO_MODE', 'false'
//
buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'true'
}
}

View File

@@ -32,5 +32,8 @@ project.android.productFlavors {
buildConfigField 'String', 'ADAS_CONNECT_IP', "\"192.168.1.104\""
// 构建的是否是演示(美化)模式
buildConfigField 'boolean', 'IS_DEMO_MODE', 'false'
// 构建 是否支持多屏异显异交互
buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'false'
}
}

View File

@@ -34,5 +34,8 @@ project.android.productFlavors {
buildConfigField 'String', 'ADAS_CONNECT_IP', "\"192.168.8.102\""
// 构建的是否是演示(美化)模式
buildConfigField 'boolean', 'IS_DEMO_MODE', 'false'
// 构建 是否支持多屏异显异交互
buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'false'
}
}

View File

@@ -32,5 +32,8 @@ project.android.productFlavors {
buildConfigField 'String', 'ADAS_CONNECT_IP', "\"192.168.8.103\""
// 构建的是否是演示(美化)模式
buildConfigField 'boolean', 'IS_DEMO_MODE', 'false'
// 构建 是否支持多屏异显异交互
buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'false'
}
}

View File

@@ -34,5 +34,8 @@ project.android.productFlavors {
buildConfigField 'String', 'ADAS_CONNECT_IP', "\"192.168.8.102\""
// 构建的是否是演示(美化)模式
buildConfigField 'boolean', 'IS_DEMO_MODE', 'false'
// 构建 是否支持多屏异显异交互
buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'false'
}
}

View File

@@ -35,6 +35,9 @@ project.android.productFlavors {
buildConfigField 'String', 'ADAS_CONNECT_IP', "\"192.168.1.102\""
// 构建的是否是演示(美化)模式
buildConfigField 'boolean', 'IS_DEMO_MODE', 'false'
// 构建 是否支持多屏异显异交互
buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'false'
}
}

View File

@@ -34,6 +34,9 @@ project.android.productFlavors {
buildConfigField 'String', 'ADAS_CONNECT_IP', "\"192.168.1.103\""
// 构建的是否是演示(美化)模式
buildConfigField 'boolean', 'IS_DEMO_MODE', 'false'
// 构建 是否支持多屏异显异交互
buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'false'
}
}

View File

@@ -1,37 +0,0 @@
project.android.productFlavors {
// f系列-网约车-小巴车
fochbus {
externalNativeBuild {
ndk {
// 设置支持的SO库架构
abiFilters "arm64-v8a"
}
}
minSdkVersion rootProject.ext.android.minSdkVersion
targetSdkVersion rootProject.ext.android.targetSdkVersion
// 应用包名
applicationId rootProject.ext.android.fLauncherApplicationId
dimension "product"
// 车机类型主要用于区分自研车机还是别人家的车机自研车机类型为0
buildConfigField 'int', 'CAR_MACHINE_TYPE', '0'
//高德地图鉴权信息
manifestPlaceholders = [AMAP_API_VALUE: rootProject.ext.android.fLauncherAmapApiValue, CHANNEL_VALUE: "fochbus",ACTIVITY_ROOT:true]
// 是否基于地图
buildConfigField 'boolean', 'IS_MAP_BASED', 'true'
// 是否需要实时上报坐标
buildConfigField 'boolean', 'IS_NEED_UPLOAD_COORDINATES_IN_TIME', 'true'
// GPS数据提供源 0-Android系统1-工控机2-OBU
buildConfigField 'int', 'GPS_PROVIDER', "1"
// 构建的应用身份类型,司机|乘客
buildConfigField 'int', 'APP_IDENTITY_MODE', "0x00"
// 连接的工控机IP地址
buildConfigField 'String', 'ADAS_CONNECT_IP', "\"192.168.8.102\""
// 构建的是否是演示(美化)模式
buildConfigField 'boolean', 'IS_DEMO_MODE', 'false'
}
}

View File

@@ -1,7 +1,15 @@
// 将 install 和 assemble 任务按功能分组
afterEvaluate {
def launcher = [ "fPadLenovo","fPadLenovoOchSweeper", "fPadLenovoOchTaxi", "fPadLenovoOchBus", "fPadLenovoOchBusPassenger", "fPadLenovoOchTaxiPassenger"]
def launcher = [
"fPadLenovo",
"fPadLenovoOchSweeper",
"fPadLenovoOchTaxi",
"fPadLenovoOchBus",
"fPadLenovoOchBusPassenger",
"fPadLenovoOchTaxiPassenger",
"MultiDisplayOchBus",
"MultiDisplayOchTaxi"]
it.getTasks().iterator().forEachRemaining {
def task = it

View File

@@ -76,6 +76,7 @@ class ConfigStartUp : AndroidStartup<Boolean>() {
DebugConfig.setCarMachineType(BuildConfig.CAR_MACHINE_TYPE)
DebugConfig.setProductFlavor(BuildConfig.FLAVOR_product)
DebugConfig.setSocketAppId(BuildConfig.SOCKET_APP_ID)
DebugConfig.setMultiDisplay(BuildConfig.IS_MULTI_DISPLAY)
DebugConfig.setScheduleCalculateNotHomeCompanyDistanceForPush(BuildConfig.IS_SUPPORT_SCHEDULE_CALCULATE_NOT_HOME_COMPANY_DISTANCE_FOR_PUSH)
DebugConfig.setNeedUploadCoordinatesInTime(BuildConfig.IS_NEED_UPLOAD_COORDINATES_IN_TIME)
DebugConfig.setObuType(
@@ -87,11 +88,8 @@ class ConfigStartUp : AndroidStartup<Boolean>() {
// 配置BuglyAppIDMoGoEagleEye
CrashReportConstants.buglyAppID = "ac71228f85"
// TODO: @王明君 ,这里判断方式可以替换为使用 AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)等进行替换
if (DebugConfig.getProductFlavor() == "fPadLenovoOchTaxi" || DebugConfig.getProductFlavor() == "fPadLenovoOchBus"
|| DebugConfig.getProductFlavor() == "fPadLenovoOchTaxiPassenger"
|| DebugConfig.getProductFlavor() == "fPadLenovoOchBusPassenger"
|| DebugConfig.getProductFlavor() == "fPadLenovoOchSweeper") {
if (AppIdentityModeUtils.isTaxi(FunctionBuildConfig.appIdentityMode)||
AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)) {
//控制HMI展示元素 将不用手动调用setXXXXXViewVisibility
HmiBuildConfig.isShowSpeedView = false
HmiBuildConfig.isShowAutopilotStatusView = false
@@ -101,32 +99,14 @@ class ConfigStartUp : AndroidStartup<Boolean>() {
HmiBuildConfig.isShowUpgradeTipsView = false
}
if (DebugConfig.getProductFlavor() == "fPadLenovoOchTaxi" || DebugConfig.getProductFlavor() == "fPadLenovoOchTaxiPassenger") {
if (AppIdentityModeUtils.isTaxi(FunctionBuildConfig.appIdentityMode)) {
HdMapBuildConfig.currentCarVrIconRes = R.raw.chuzuche
} else if (DebugConfig.getProductFlavor() == "fPadLenovoOchBus" || DebugConfig.getProductFlavor() == "fPadLenovoOchBusPassenger"
|| DebugConfig.getProductFlavor() == "fPadLenovoOchSweeper") {
} else if (AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)) {
HdMapBuildConfig.currentCarVrIconRes = R.raw.xiaobache
HmiBuildConfig.isShowBrakeLightView = false
HmiBuildConfig.isShowTurnLightView = false
}
if (DebugConfig.getProductFlavor() == "fPadLenovoOchTaxiPassenger") {
//是否显示 红绿等
HmiBuildConfig.isShowTrafficLightView = false
//是否显示 限速UI
HmiBuildConfig.isShowLimitingVelocityView = false
//是否显示 路侧监控
HmiBuildConfig.isShowCameraView = false
} else if (DebugConfig.getProductFlavor() == "fPadLenovoOchBusPassenger") {
//是否显示 红绿等
HmiBuildConfig.isShowTrafficLightView = false
//是否显示 限速UI
HmiBuildConfig.isShowLimitingVelocityView = false
//是否显示 路侧监控
HmiBuildConfig.isShowCameraView = false
//白天模式
FunctionBuildConfig.skinMode = 1
}
if (AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)) {
if (AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)) {
//是否显示 红绿等

View File

@@ -40,6 +40,7 @@ import com.mogo.eagle.core.utilcode.util.ThreadPoolService
import com.mogo.eagle.core.utilcode.util.TimeUtils
import com.mogo.map.location.GDLocationClient
import com.mogo.eagle.core.data.constants.HostConst
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
import com.rousetime.android_startup.AndroidStartup
import com.zhjt.mogo_core_function_devatools.env.EnvChangeManager
import com.zhjt.service.chain.ChainLog
@@ -365,7 +366,8 @@ class HttpDnsStartUp : AndroidStartup<Boolean>() {
private fun initCloudClientConfig() {
// 使用旧Socket链路 true = 旧链路false = 新链路
if (DebugConfig.getProductFlavor() == "fPadLenovoOchTaxi" || DebugConfig.getProductFlavor() == "fPadLenovoOchBus" || DebugConfig.getProductFlavor() == "fPadLenovoOchTaxiPassenger" || DebugConfig.getProductFlavor() == "fPadLenovoOchBusPassenger") {
if (AppIdentityModeUtils.isTaxi(FunctionBuildConfig.appIdentityMode)||
AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)) {
clientConfig.isUseOriginSocket = true
}
}

View File

@@ -168,6 +168,7 @@ class AutoPilotAndCheckView @JvmOverloads constructor(
actvLoginout.visibility = View.VISIBLE
CallerHmiManager.setBusOperationView(toolBusOperationView)
// TODO 这里判断方式可以替换为使用 AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)等进行替换
when (DebugConfig.getProductFlavor()) {
"fPadLenovoOchTaxi" -> {
//出租车司机

View File

@@ -99,7 +99,7 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis
if (AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode) &&
AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)) {
FrameLayout frameLayout = findViewById(R.id.module_main_id_map_fragment_container);
frameLayout.setPadding(0, 0, AutoSizeUtils.dp2px(getContext(),700), 0);
frameLayout.setPadding(0, 0, AutoSizeUtils.dp2px(getContext(), 700), 0);
}
}
@@ -144,20 +144,39 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis
* 加载网约车模块
*/
private void loadOCHModule() {
IMoGoFunctionProvider ochProvider = (IMoGoFunctionProvider) ARouter.getInstance()
.build("/driver/api")
.navigation(getContext());
IMoGoFunctionProvider ochProvider;
// 兼容处理之前联想PAD及小巴车多个设备部署不同APP方案
if (!DebugConfig.isMultiDisplay()) {
if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) {
ochProvider = (IMoGoFunctionProvider) ARouter.getInstance()
.build("/driver/api")
.navigation(getContext());
} else {
ochProvider = (IMoGoFunctionProvider) ARouter.getInstance()
.build("/passenger/api")
.navigation(getContext());
}
}
// 处理一个机器多个屏幕方案
else {
// 这里先加载司机端
ochProvider = (IMoGoFunctionProvider) ARouter.getInstance()
.build("/driver/api")
.navigation(getContext());
// 启动乘客端Act
if (AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode) ||
AppIdentityModeUtils.isTaxi(FunctionBuildConfig.appIdentityMode)) {
MultiDisplayUtils.INSTANCE.startActWithProcess(
this,
2,
PassengerLauncherActivity.class);
}
}
if (ochProvider != null) {
ochProvider.createCoverage(this, R.id.module_main_id_och_fragment);
}
// TODO这里只针对目前有的 Bus、Taxi业务进行异屏幕启动这里需要考虑现有方案如何兼容
if (AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode) ||
AppIdentityModeUtils.isTaxi(FunctionBuildConfig.appIdentityMode)) {
MultiDisplayUtils.INSTANCE.startActWithProcess(
this,
2,
PassengerLauncherActivity.class);
}
}
@Subscribe(sticky = true)
@@ -225,6 +244,7 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis
/**
* 魔方按键分发 提测前注释 ToastUtils TODO
*
* @param event
* @return
*/

View File

@@ -290,4 +290,16 @@ public class DebugConfig {
public static boolean isUseAdasRecognize() {
return isUseAdasRecognize;
}
// 兼容是否支持多屏幕方案
private static boolean isMultiDisplay = false;
public static void setMultiDisplay(boolean status) {
isMultiDisplay = status;
}
public static boolean isMultiDisplay() {
return isMultiDisplay;
}
}