[fea]
[删除车型维度]
This commit is contained in:
yangyakun
2025-01-23 14:55:57 +08:00
parent 496af11530
commit bf313f04c1
98 changed files with 1540 additions and 1689 deletions

View File

@@ -165,21 +165,6 @@ class BindingCarNetWorkManager private constructor() {
})
}
private fun updateCarVrIconRes(brandId: String?) {
d(SceneConstant.M_DEVA + TAG, "CarModelChange : ${DebugConfig.isCarModelChange()}")
if (!DebugConfig.isCarModelChange()) {
return
}
if (brandId == null || brandId.isEmpty()) {
return
}
d(SceneConstant.M_DEVA + TAG, "getDefaultId() : ${getDefaultId()} ---- brandId = $brandId")
if (getDefaultId() == brandId) {
return
}
d(SceneConstant.M_DEVA + TAG, "updateCarVrIconRes : $brandId")
}
@ChainLog(
linkChainLog = ChainConstant.CHAIN_TYPE_STATUS,
linkCode = ChainConstant.CHAIN_SOURCE_INIT,

View File

@@ -59,7 +59,7 @@
android:hardwareAccelerated="true"
android:launchMode="singleTask"
android:resizeableActivity="false"
android:screenOrientation="landscape"
android:screenOrientation="locked"
android:resumeWhilePausing="true"
android:stateNotNeeded="true"
android:theme="@style/Main"
@@ -89,7 +89,7 @@
android:process=":passenger"
android:resizeableActivity="false"
android:resumeWhilePausing="true"
android:screenOrientation="landscape"
android:screenOrientation="locked"
android:stateNotNeeded="true"
android:theme="@style/Main"
android:windowSoftInputMode="adjustPan|stateHidden">

View File

@@ -2093,13 +2093,13 @@ internal class DebugSettingView @JvmOverloads constructor(
AppIdentityModeUtils.getProduct(
FunctionBuildConfig.appIdentityMode
)
}"
}_${AppIdentityModeUtils.getVehicle(FunctionBuildConfig.appIdentityMode)}"
tvAppVersionNameKey.text =
"鹰眼版本:${AppUtils.getAppVersionName()} Git Hash${AppConfigInfo.workingBranchHash}\n渠道信息:${AppConfigInfo.flavor}_${
AppIdentityModeUtils.getProduct(
FunctionBuildConfig.appIdentityMode
)
}"
}_${AppIdentityModeUtils.getVehicle(FunctionBuildConfig.appIdentityMode)}"
tvAutopilotProtocolVersionInfo.text =
"Autopilot协议版本${CallerAutoPilotControlManager.getProtocolVersion()}"

View File

@@ -45,17 +45,6 @@ public class MainLauncherActivity extends MainActivity {
EventBus.getDefault().register(this);
CallerLogger.i(M_HMI + TAG, "onCreate");
if(DebugConfig.isMultiDisplay()){
try {
// 在第二个屏幕启动乘客端app
// 多进程方案
CallerLogger.i(M_HMI + TAG, "MultiDisplayUtils startActWithSecond");
// MultiDisplayUtils.INSTANCE.startActWithSecond(this, "com.mogo.launcher.passenger");
// MultiDisplayUtils.INSTANCE.startActWithSecond(this, PassengerLauncherActivity.class);
} catch (Exception e) {
e.printStackTrace();
}
}
}
@Override
@@ -89,24 +78,17 @@ public class MainLauncherActivity extends MainActivity {
private void loadOCHModule() {
IMoGoFunctionProvider ochProvider;
// 兼容处理之前联想PAD及小巴车多个设备部署不同APP方案
if (!DebugConfig.isMultiDisplay()) {
if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) {
Log.i("emArrow","Driver start");
ochProvider = (IMoGoFunctionProvider) ARouter.getInstance()
.build("/driver/api")
.navigation(getContext());
} else if(AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)){
Log.i("emArrow","Passenger start");
ochProvider = (IMoGoFunctionProvider) ARouter.getInstance()
.build("/passenger/api")
.navigation(getContext());
} else {
ochProvider = (IMoGoFunctionProvider) ARouter.getInstance()
.build("/driver/api")
.navigation(getContext());
}
if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) {
Log.i("emArrow","Driver start");
ochProvider = (IMoGoFunctionProvider) ARouter.getInstance()
.build("/driver/api")
.navigation(getContext());
} else if(AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)){
Log.i("emArrow","Passenger start");
ochProvider = (IMoGoFunctionProvider) ARouter.getInstance()
.build("/passenger/api")
.navigation(getContext());
} else {
// 目前只有金旅星辰乘客屏是连接的双屏
ochProvider = (IMoGoFunctionProvider) ARouter.getInstance()
.build("/driver/api")
.navigation(getContext());

View File

@@ -9,6 +9,7 @@ import com.mogo.commons.AbsMogoApplication;
import com.mogo.commons.debug.DebugConfig;
import com.mogo.commons.module.MogoModule;
import com.mogo.commons.module.MogoModulePaths;
import com.mogo.commons.storage.SharedPrefsMgr;
import com.mogo.commons.utils.MogoAnalyticUtils;
import com.mogo.eagle.core.data.config.FunctionBuildConfig;
import com.mogo.eagle.core.data.constants.MogoServicePaths;

View File

@@ -6,6 +6,7 @@ import com.mogo.commons.debug.DebugConfig
import com.mogo.eagle.core.data.constants.MogoServicePaths
import com.mogo.eagle.core.function.api.startup.IStartUpProvider
import com.mogo.eagle.core.function.startup.stageone.APMStartup
import com.mogo.eagle.core.function.startup.stageone.CarBizInfoStartup
import com.mogo.eagle.core.function.startup.stageone.HttpDnsStartUp
import com.mogo.eagle.core.function.startup.stagetwo.*
import com.rousetime.android_startup.StartupListener
@@ -53,6 +54,7 @@ class MogoStartUpProvider : IStartUpProvider {
StartupManager.Builder()
.addStartup(HttpDnsStartUp())
.addStartup(APMStartup())
.addStartup(CarBizInfoStartup())
.setConfig(config)
.build(it)
.start()
@@ -70,6 +72,7 @@ class MogoStartUpProvider : IStartUpProvider {
}
context?.let {
StartupManager.Builder()
.addStartup(ScreenStartUp())
.addStartup(DataCenterStartUp())
.addStartup(AutopilotStartUp())
.addStartup(ObuStartUp())

View File

@@ -0,0 +1,73 @@
package com.mogo.eagle.core.function.startup.stageone
import android.content.Context
import com.google.gson.reflect.TypeToken
import com.mogo.commons.AbsMogoApplication
import com.mogo.commons.screen.ScreenHelper
import com.mogo.commons.storage.SharedPrefsMgr
import com.mogo.eagle.core.data.config.FunctionBuildConfig
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
import com.mogo.eagle.core.utilcode.mogo.Product
import com.mogo.eagle.core.utilcode.mogo.Vehicle
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.util.DateTimeUtils
import com.mogo.eagle.core.utilcode.util.GsonUtils
import com.rousetime.android_startup.AndroidStartup
class CarBizInfoStartup : AndroidStartup<Boolean?>() {
private val OCHPRODUCT = "OCHPRODUCT"
private val OCHVEHICLE = "OCHVEHICLE"
private val loginInfoKey = "LOGININFOKEY"
private val tag = "CarBizInfoStartup"
override fun create(context: Context): Boolean? {
CallerLogger.d(tag,"开始设置:${FunctionBuildConfig.appIdentityMode}")
// apm
val ochProduct = SharedPrefsMgr.getInstance().getString(OCHPRODUCT)
val ochVehicle = SharedPrefsMgr.getInstance().getString(OCHVEHICLE)
if(!ochProduct.isNullOrEmpty()&&!ochVehicle.isNullOrEmpty()){
val (_, identity, _) = AppIdentityModeUtils.getInfo(FunctionBuildConfig.appIdentityMode)
FunctionBuildConfig.appIdentityMode = "${ochProduct}_${identity}_${ochVehicle}"
CallerLogger.d(tag,"设置成功1:${FunctionBuildConfig.appIdentityMode}")
ScreenHelper.setScreenConfig(context)
}else{
SharedPrefsMgr.getInstance().getString(loginInfoKey)?.let {
val timeText = DateTimeUtils.getTimeText(DateTimeUtils.yyyy_MM_dd)
if (it.startsWith(timeText)) {
val loginjson = it.replace(timeText, "")
val type = object : TypeToken<HashMap<String, Any>>() {}.type
val hashMap:HashMap<String,Any> = GsonUtils.fromJson(loginjson,type)
val businessType = hashMap["businessType"]
val carModel = hashMap["carModel"]
if(businessType is Int && carModel is String && carModel.isNotEmpty()){
val product = Product.getName(businessType)
val vehicle = Vehicle.getCarVehicleFromServerName(carModel)
if(product.isNotEmpty()&&vehicle!=Vehicle.NONE){
val (_, identity, _) = AppIdentityModeUtils.getInfo(FunctionBuildConfig.appIdentityMode)
FunctionBuildConfig.appIdentityMode = "${ochProduct}_${identity}_${ochVehicle}"
ScreenHelper.setScreenConfig(context)
CallerLogger.d(tag,"设置成功2:${FunctionBuildConfig.appIdentityMode}")
}
}
}
}
}
CallerLogger.d(tag,"结束设置:${FunctionBuildConfig.appIdentityMode}")
return true
}
override fun callCreateOnMainThread(): Boolean {
return true
}
override fun waitOnMainThread(): Boolean {
return false
}
override fun dependenciesByName(): List<String> {
return emptyList()
}
}

View File

@@ -0,0 +1,40 @@
package com.mogo.eagle.core.function.startup.stagetwo
import android.content.Context
import android.content.pm.ActivityInfo
import com.mogo.commons.screen.ScreenHelper
import com.mogo.eagle.core.data.config.FunctionBuildConfig
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
import com.mogo.eagle.core.utilcode.util.ActivityUtils
import com.mogo.eagle.core.utilcode.util.ScreenUtils
import com.rousetime.android_startup.AndroidStartup
class ScreenStartUp: AndroidStartup<Boolean>() {
override fun create(context: Context): Boolean? {
if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) {
ActivityUtils.getTopActivity().requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE
}else if (AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)) {
if (AppIdentityModeUtils.isB2(FunctionBuildConfig.appIdentityMode)) {
ActivityUtils.getTopActivity().requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
}else{
ActivityUtils.getTopActivity().requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE
}
}else{
ActivityUtils.getTopActivity().requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE
}
return true
}
override fun callCreateOnMainThread(): Boolean {
return true
}
override fun waitOnMainThread(): Boolean {
return true
}
override fun dependenciesByName(): List<String>? {
return emptyList()
}
}

View File

@@ -146,12 +146,6 @@ object FunctionBuildConfig {
@JvmField
var ttsLanguage = 1
@Volatile
@JvmField
var supportBusiness = mutableListOf<String>()
/**
* 各车型宣传视频本地配置
* 广告json

View File

@@ -115,4 +115,7 @@ interface IEagleBaseFunctionCall4Och {
*/
fun setOchAutopilotOrderId(orderId:String){}
fun onOchProductChange(){}
fun onOchVehicleChange(){}
}

View File

@@ -11,11 +11,6 @@ import com.alibaba.android.arouter.facade.template.IProvider
*/
interface IOchCustomViewProvider : IProvider {
/**
* Interface Tag
*/
val TAG: String
get() = "IOchCustomViewProvider"
/**
* 创建 Och业务层 自定义View

View File

@@ -130,4 +130,12 @@ object CallerEagleBaseFunctionCall4OchManager : IEagleBaseFunctionCall4Och {
override fun onOrderRemoval() {
CallerDataCenterBizManager.notifyOrderRemoval()
}
override fun onOchProductChange() {
}
override fun onOchVehicleChange() {
}
}

View File

@@ -19,7 +19,7 @@ object CallerOchCustomViewManager {
.navigation() as? IOchCustomViewProvider
fun init(context: Context) {
ochCustomViewProviderApi?.init(context)
}
/**

View File

@@ -330,6 +330,12 @@ object AppIdentityModeUtils {
else -> Role.NONE
}
}
fun getVehicle(appIdentityMode: String):Vehicle{
val (_, _, carType) = getInfo(appIdentityMode)
return Vehicle.getVehicleByName(carType)
}
@JvmStatic
fun getCarType(appIdentityMode: String): CarType {
val (_, _, carType) = getInfo(appIdentityMode)
@@ -371,6 +377,75 @@ enum class Product(val code: Int) {
}
return NONE
}
fun getName(code: Int?):String{
val product = valueOf(code)
return when (product) {
NONE -> ""
BUS -> AppIdentityModeUtils.BUS
TAXI -> AppIdentityModeUtils.TAXI
SWEEPER -> AppIdentityModeUtils.SWEEPER
SHUTTLE -> AppIdentityModeUtils.SHUTTLE
CHARTER -> AppIdentityModeUtils.CHARTER
SCHEDULED -> AppIdentityModeUtils.SCHEDULED
}
}
}
}
enum class Vehicle(val code:String){
NONE("Vehicle"),
T1T2("T1T2"),
B1("B1"),
B2("B2"),
C1("C1"),
M1("M1");
companion object{
fun getVehicleByName(name:String):Vehicle{
return when (name) {
NONE.code -> {NONE}
T1T2.code -> {T1T2}
B1.code -> {B1}
B2.code -> {B2}
C1.code -> {C1}
M1.code -> {M1}
else -> {
NONE
}
}
}
@JvmStatic
fun getCarVehicleFromServerName(serverName:String?): Vehicle {
return when (serverName) {
"E70" -> {
T1T2
}
"H9" -> {
T1T2
}
"B1" -> {
B1
}
"金旅牌XML6606JEVY0" -> {
B1
}
"NJL6450ICEV" -> {
B1
}
"B2","M2" -> {
B2
}
"M1" -> {
M1
}
"BJ5122TXSEV-H1" -> {
C1
}
else -> {
T1T2
}
}
}
}
}

View File

@@ -22,7 +22,7 @@ class SceneConstant {
const val M_OTHER = "M_OTHER-"
// Och common
const val M_OCHCOMMON = "M_OCHCOMMON-"
const val M_OCHCOMMON = "M_OCH-"
// Och offline
const val M_OFFLINE = "M_OFFLINE-"