diff --git a/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/presenter/DriverM1Presenter.kt b/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/presenter/DriverM1Presenter.kt index 89f1e717de..1cf7086f97 100644 --- a/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/presenter/DriverM1Presenter.kt +++ b/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/presenter/DriverM1Presenter.kt @@ -15,7 +15,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant import com.mogo.eagle.core.utilcode.util.DateTimeUtils import com.mogo.och.common.module.biz.login.ILoginCallback -import com.mogo.och.common.module.biz.login.LoginStatusEnum +import com.mogo.och.common.module.biz.login.EnumLoginStatus import com.mogo.och.common.module.biz.login.LoginStatusManager import com.mogo.och.common.module.manager.socket.cloud.OCHSocketMessageManager.OPERATION_ROAD_SIDE_TYPE import com.mogo.och.bridge.autopilot.OCHAdasAbilityManager @@ -70,7 +70,7 @@ class DriverM1Presenter(view: DriverM1Fragment?) : DriverM1Model.get().release() } - override fun onStatusChange(currentStatus: LoginStatusEnum?) { + override fun onLoginStatusChange(currentStatus: EnumLoginStatus?) { d(SceneConstant.M_BUS + TAG, " loginStatus =" + LoginStatusManager.isLogin()) if(LoginStatusManager.isLogin()){ // 查询服务状态 diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/model/CharterPassengerModel.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/model/CharterPassengerModel.kt index 8ba164966f..3e2ec0ebbe 100644 --- a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/model/CharterPassengerModel.kt +++ b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/model/CharterPassengerModel.kt @@ -39,7 +39,7 @@ import com.mogo.och.common.module.manager.socket.lan.bean.ChangeDestMsg import com.mogo.och.common.module.manager.socket.cloud.OCHSocketMessageManager import com.mogo.och.common.module.biz.login.LoginStatusManager import com.mogo.och.common.module.biz.login.ILoginCallback -import com.mogo.och.common.module.biz.login.LoginStatusEnum +import com.mogo.och.common.module.biz.login.EnumLoginStatus import com.mogo.och.common.module.network.OchCommonServiceCallback import com.mogo.och.bridge.autopilot.autopilot.bean.ArrivedStation import com.mogo.och.bridge.autopilot.autopilot.IOchAutopilotStatusListener @@ -47,7 +47,6 @@ import com.mogo.och.bridge.autopilot.autopilot.OchAutoPilotManager import com.mogo.och.bridge.autopilot.autopilot.OchAutoPilotStatusListenerManager import com.mogo.och.bridge.autopilot.location.OchLocationManager import com.mogo.och.common.module.manager.beautifymode.BeautifyManager -import com.mogo.och.bridge.distance.TrajectoryAndDistanceManager import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager import com.mogo.och.common.module.manager.socket.lan.LanSocketManager import com.mogo.och.common.module.manager.socket.lan.LedScreenManager @@ -169,7 +168,7 @@ object CharterPassengerModel { */ private fun listenerLoginStatus() { LoginStatusManager.addListener(TAG,object : ILoginCallback{ - override fun onStatusChange(currentStatus: LoginStatusEnum?) { + override fun onLoginStatusChange(currentStatus: EnumLoginStatus?) { if (LoginStatusManager.isLogin()) { // 1、打开视频播放、 // 2 、打开空调暖风机灯设置页面 diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/LoginProvider.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/LoginProvider.kt index 591e16019c..5044a84db0 100644 --- a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/LoginProvider.kt +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/LoginProvider.kt @@ -1,57 +1,67 @@ package com.mogo.och.biz.login import android.content.Context -import android.util.Log import android.view.View import androidx.fragment.app.Fragment import com.alibaba.android.arouter.facade.annotation.Route import com.mogo.eagle.core.data.config.FunctionBuildConfig -import com.mogo.eagle.core.data.config.HdMapBuildConfig import com.mogo.eagle.core.data.enums.Carmodel -import com.mogo.eagle.core.function.call.och.CallerEagleBaseFunctionCall4OchManager import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils import com.mogo.eagle.core.utilcode.mogo.Product -import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger -import com.mogo.eagle.core.utilcode.util.UiThreadHandler +import com.mogo.eagle.core.utilcode.mogo.Vehicle +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d +import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_OCHCOMMON +import com.mogo.eagle.core.utilcode.util.GsonUtils +import com.mogo.och.biz.login.bean.LoginInfo import com.mogo.och.biz.login.callback.ILoginViewCallback -import com.mogo.och.biz.login.model.LoginModel import com.mogo.och.biz.login.ui.LoginFragment import com.mogo.och.biz.login.ui.LoginPassengerFragment import com.mogo.och.common.module.constant.OchCommonConst -import com.mogo.och.common.module.biz.login.LoginInfo import com.mogo.och.common.module.biz.login.LoginService -import com.mogo.och.common.module.biz.login.LoginStatusManager -import com.mogo.och.common.module.biz.login.RoleEnum -import com.mogo.och.common.module.biz.login.LoginStatusEnum -import com.mogo.och.common.module.biz.login.OpenOrderStatusEnum -import com.mogo.och.common.module.manager.cache.OchSPManager -import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager -import com.mogo.och.common.module.manager.socket.lan.bean.BusinessType +import com.mogo.och.common.module.biz.login.EnumRole +import com.mogo.och.common.module.biz.login.EnumLoginStatus +import com.mogo.och.common.module.biz.login.EnumOpenOrderStatus +import com.mogo.och.common.module.biz.login.bean.OchBizInfo +import com.mogo.och.common.module.biz.login.bean.OchCarInfo +import com.mogo.och.common.module.biz.login.bean.OchLoginInfo +import com.mogo.och.common.module.manager.socket.lan.ILanMessageListener +import com.mogo.och.common.module.manager.socket.lan.LanSocketManager +import com.mogo.och.common.module.manager.socket.lan.bean.DPMsgType import com.mogo.och.common.module.manager.socket.lan.bean.EnvType +import com.mogo.och.common.module.manager.socket.lan.bean.LoginInfo2Client import com.mogo.och.common.module.manager.socket.lan.bean.ProjectType -import com.mogo.och.common.module.manager.socket.lan.bean.VehicleType -import com.mogo.och.common.module.utils.FlavorUtils /** * 网约车小巴业务实现入口 - * - * @author tongchenfei */ @Route(path = OchCommonConst.BIZ_LOGIN) class LoginProvider : LoginService { - private val tag = LoginProvider::class.java.simpleName - private var loginFragment: Fragment?=null - private var loginStatus: LoginStatusEnum = LoginStatusEnum.None - private var businessEnum = Product.NONE - private var openOrderStatusEnum: OpenOrderStatusEnum = OpenOrderStatusEnum.None - private var carModel: Carmodel = Carmodel.T2 - private var loginInfo: LoginInfo? = null + private val tag = M_OCHCOMMON +LoginProvider::class.java.simpleName + // 登录页面 + private var loginFragment: Fragment? = null + + // 环境监测+业务展示和跳转 + private val changeBusinessType = object : ILanMessageListener { + override fun targetLan(): Class { + return LoginInfo2Client::class.java + } + + override fun onLanMsgReceived(first: LoginInfo2Client?) { + first?.let { + if (LoginServiceManager.checkAllEnv(it.project,it.env)) { + d(tag,"从司机屏获取账号信息:${it}") + val driverLoginInfo = GsonUtils.fromJson(it.loginInfo, LoginInfo::class.java) + LoginServiceManager.setLoginInfo(driverLoginInfo) + } + } + } + + } - private val loginInfoKey = "LOGININFOKEY" override fun init(context: Context) { - CallerLogger.d(tag, "LoginProvider init") + d(tag, "登录模块 init") loginFragment = if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) { LoginFragment() } else if (AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)) { @@ -59,18 +69,24 @@ class LoginProvider : LoginService { } else { LoginFragment() } + // 乘客屏监听司机端发送的业务修改通知( + LanSocketManager.registerSocketMessageListener( + DPMsgType.TYPE_LOGIN_INFO.type, + changeBusinessType + ) } override fun getFragment(): Fragment { - CallerLogger.d(tag, "getFragment:${loginFragment}") - if(loginFragment==null){ - loginFragment = if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) { - LoginFragment() - } else if (AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)) { - LoginPassengerFragment() - } else { - LoginFragment() - } + d(tag, "getFragment:${loginFragment}") + if (loginFragment == null) { + loginFragment = + if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) { + LoginFragment() + } else if (AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)) { + LoginPassengerFragment() + } else { + LoginFragment() + } } return loginFragment!! } @@ -84,175 +100,74 @@ class LoginProvider : LoginService { return View(context) } - override fun setLoginStatus(status: Int) { - CallerLogger.d(tag, "setLoginStatus:${status}") - when (status) { - 0 -> { - setLoginStatus(LoginStatusEnum.Logout) - } - - 1 -> { - setLoginStatus(LoginStatusEnum.Login) - } - - else -> { - setLoginStatus(LoginStatusEnum.None) - } - } - } - - override fun queryLoginStatusByNet(readCatche:Boolean) { - CallerLogger.d(tag, "queryLoginStatusByNet") - Log.d("登录","设置源:queryLoginStatusByNet") - LoginModel.queryCarStatus(readCatche) + override fun queryLoginStatusByNet(readCatche: Boolean) { + LoginServiceManager.queryLoginStatusByNet(readCatche) } override fun loginOut() { - CallerLogger.d(tag, "loginOut ") - LoginModel.logout() - } - - override fun checkBusiness(businessType: Int): Boolean { - val businessInfo = FlavorUtils.getBusinessInfo(businessType) - if(businessInfo.isEmpty()){ - return true - } - if (loginFragment is ILoginViewCallback) { - UiThreadHandler.post({ - if (loginFragment?.isAdded==true) { - (loginFragment as ILoginViewCallback).showErrorInfo(businessInfo) - } - },UiThreadHandler.MODE.QUEUE) - } - return false - } - - override fun checkAllEnv( - projectType: ProjectType, - envType: EnvType, - vehicleType: VehicleType, - businessType: BusinessType - ): Boolean { - - val checkAllEnv = FlavorUtils.checkAllEnv(projectType, envType, vehicleType, businessType) - if(checkAllEnv.isEmpty()){ - - }else{ - if (loginFragment is ILoginViewCallback) { - changeStatus(checkAllEnv) - UiThreadHandler.post({ - changeStatus(checkAllEnv) - if (loginFragment?.isAdded==true) { - (loginFragment as ILoginViewCallback).checkAllEnv(checkAllEnv) - } - },UiThreadHandler.MODE.QUEUE) - } - } - - return checkAllEnv.isEmpty() + LoginServiceManager.loginOut() } override fun changeStatus(currentStatus: String) { - if (loginFragment?.isAdded==true) { + if (loginFragment?.isAdded == true) { (loginFragment as ILoginViewCallback).updateStatus(currentStatus) } } - - override fun setLoginInfo(loginInfo: LoginInfo) { - CallerLogger.d(tag, "setLoginInfo:${loginInfo}") - if(this.loginInfo!=loginInfo){ - this.loginInfo = loginInfo - OchChainLogManager.writeChainLog("登录信息",loginInfo.toString()) - } - - CallerEagleBaseFunctionCall4OchManager.setOchLoginNo(loginInfo.phone) - CallerEagleBaseFunctionCall4OchManager.setOchCarModel(Carmodel.getCarModelFromServerName(loginInfo.carModel,loginInfo.tenantId)) - CallerEagleBaseFunctionCall4OchManager.setOchPlateNumber(loginInfo.plateNumber) - CallerEagleBaseFunctionCall4OchManager.updateTenantId(loginInfo.tenantId) - - val carModel = Carmodel.getCarModelFromServerName(LoginStatusManager.getLoginInfo()?.carModel,loginInfo.tenantId) - if(this.carModel!=carModel){ - this.carModel = carModel - LoginStatusManager.invokeCarModelChange(this.carModel) - } - HdMapBuildConfig.currentCarVrIconRes = carModel.rawValue - + override fun getOchBizInfo(): OchBizInfo? { + d(tag, "getOchBizInfo") + return LoginServiceManager.getOchBizInfo() } - override fun getLoginInfo(): LoginInfo? { - CallerLogger.d(tag, "getLoginInfo") - return loginInfo + override fun getOchCarInfo(): OchCarInfo? { + d(tag, "getOchCarInfo") + return LoginServiceManager.getOchCarInfo() } - override fun getPurpose(): RoleEnum { - CallerLogger.d(tag, "getPurpose") - return RoleEnum.valueOf(loginInfo?.purpose) + override fun getOchLoginInfo(): OchLoginInfo? { + d(tag, "getOchLoginInfo") + return LoginServiceManager.getOchLoginInfo() + } + + override fun getPurpose(): EnumRole { + d(tag, "getPurpose") + return LoginServiceManager.getPurpose() } override fun isLogin(): Boolean { - CallerLogger.d(tag, "isLogin:${loginStatus == LoginStatusEnum.Login}") - return loginStatus == LoginStatusEnum.Login + return LoginServiceManager.isLogin() } - override fun getLoginStatus(): LoginStatusEnum { - CallerLogger.d(tag, "getLoginStatus:${loginStatus}") - return loginStatus + override fun getLoginStatus(): EnumLoginStatus { + return LoginServiceManager.getLoginStatuType() } - override fun getCarModel(): Carmodel { - CallerLogger.d(tag, "getCarModel:${carModel}") - return carModel + override fun getCarModelType(): Carmodel { + return LoginServiceManager.getCarModelType() } - - override fun setLoginStatus(loginStatus: LoginStatusEnum) { - CallerLogger.d(tag, "setLoginStatus:${loginStatus}----old${this.loginStatus}") - if (loginStatus != this.loginStatus) { - OchChainLogManager.writeChainLog("登录状态变化","${this.loginStatus}-->${loginStatus}"); - this.loginStatus = loginStatus - Log.d("登录","设置源:invokeLoginStatusChange") - LoginStatusManager.invokeLoginStatusChange(loginStatus) - } + override fun getProductType(): Product { + return LoginServiceManager.getProductType() } - - override fun setBusinessType(type: Int) { - CallerLogger.d(tag, "setBusinessType:${type}") - if (businessEnum.code != type) { - this.businessEnum = Product.valueOf(type) - LoginStatusManager.invokeLBusinessTypeChange(this.businessEnum) - } + override fun getVehicleType(): Vehicle { + return LoginServiceManager.getVehicleType() } - override fun getBusinessType(): Product { - CallerLogger.d(tag, "getBusinessType") - return businessEnum + override fun sendLogin2Client() { + LoginServiceManager.sendLogin2Client(1) } - override fun setOpenOrderStatusType(type: Int) { - CallerLogger.d(tag, "setOpenOrderStatusType:${type}") - if (openOrderStatusEnum.code != type) { - OchChainLogManager.writeChainLog("接单状态变化","${this.openOrderStatusEnum}-->${OpenOrderStatusEnum.valueOf(type)}"); - this.openOrderStatusEnum = OpenOrderStatusEnum.valueOf(type) - LoginStatusManager.invokeLOpenOrderStatusChange(this.openOrderStatusEnum) - } - } - - override fun getOpenOrderStatusType(): OpenOrderStatusEnum { - CallerLogger.d(tag, "getOpenOrderStatusType:${openOrderStatusEnum}") - return openOrderStatusEnum + override fun getOpenOrderStatusType(): EnumOpenOrderStatus { + return LoginServiceManager.getOpenOrderStatusType() } override fun isOpenOrderType(): Boolean { - CallerLogger.d(tag, "isOpenOrderType:${openOrderStatusEnum == OpenOrderStatusEnum.Ordering}") - return openOrderStatusEnum == OpenOrderStatusEnum.Ordering + return LoginServiceManager.isOpenOrderType() } override fun removeLoginInfo() { - this.loginInfo = null - OchSPManager.remove(loginInfoKey) + LoginServiceManager.removeLoginInfo() } - } diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/LoginServiceManager.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/LoginServiceManager.kt new file mode 100644 index 0000000000..e4ad7a792d --- /dev/null +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/LoginServiceManager.kt @@ -0,0 +1,485 @@ +package com.mogo.och.biz.login + +import android.content.pm.ActivityInfo +import android.util.Log +import androidx.fragment.app.Fragment +import com.mogo.commons.AbsMogoApplication +import com.mogo.commons.env.Env +import com.mogo.commons.env.EnvUtils +import com.mogo.commons.env.Project +import com.mogo.commons.env.ProjectUtils +import com.mogo.commons.screen.ScreenHelper +import com.mogo.commons.utils.MogoAnalyticUtils +import com.mogo.eagle.core.data.config.FunctionBuildConfig +import com.mogo.eagle.core.data.config.HdMapBuildConfig +import com.mogo.eagle.core.data.enums.Carmodel +import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager +import com.mogo.eagle.core.function.call.och.CallerEagleBaseFunctionCall4OchManager +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.d +import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_OCHCOMMON +import com.mogo.eagle.core.utilcode.util.ActivityUtils +import com.mogo.eagle.core.utilcode.util.AppUtils +import com.mogo.eagle.core.utilcode.util.DateTimeUtils +import com.mogo.eagle.core.utilcode.util.GsonUtils +import com.mogo.eagle.core.utilcode.util.TimeUtils +import com.mogo.eagle.core.utilcode.util.UiThreadHandler +import com.mogo.och.biz.login.callback.ILoginViewCallback +import com.mogo.och.biz.login.model.LoginModel +import com.mogo.och.biz.login.bean.LoginInfo +import com.mogo.och.common.module.biz.login.LoginStatusManager +import com.mogo.och.common.module.biz.login.EnumRole +import com.mogo.och.common.module.biz.login.EnumLoginStatus +import com.mogo.och.common.module.biz.login.EnumOpenOrderStatus +import com.mogo.och.common.module.biz.login.bean.OchBizInfo +import com.mogo.och.common.module.biz.login.bean.OchCarInfo +import com.mogo.och.common.module.biz.login.bean.OchLoginInfo +import com.mogo.och.common.module.manager.cache.OchSPManager +import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager +import com.mogo.och.common.module.manager.loop.BizLoopManager +import com.mogo.och.common.module.manager.loop.LoopInfo +import com.mogo.och.common.module.manager.socket.lan.ILanMessageListener +import com.mogo.och.common.module.manager.socket.lan.LanSocketManager +import com.mogo.och.common.module.manager.socket.lan.bean.DPMsgType +import com.mogo.och.common.module.manager.socket.lan.bean.EnvCheck +import com.mogo.och.common.module.manager.socket.lan.bean.EnvType +import com.mogo.och.common.module.manager.socket.lan.bean.LoginInfo2Client +import com.mogo.och.common.module.manager.socket.lan.bean.ProjectType +import com.mogo.och.common.module.utils.FlavorUtils +import com.mogo.och.common.module.utils.RxUtils +import io.reactivex.schedulers.Schedulers +import kotlin.properties.Delegates + +/** + * 网约车小巴业务实现入口 + */ +object LoginServiceManager { + + private val tag = M_OCHCOMMON + "LoginManager" + private var TAGLoopStatus = "LoginStatusManagerLoop" + + // 登录页面 + private var loginFragment: Fragment? = null + + // 登录状态 + private var loginStatus: EnumLoginStatus by Delegates.observable(EnumLoginStatus.None) { _, oldValue, newValue -> + if (oldValue != newValue) { + OchChainLogManager.writeChainLog("登录状态变化", "${oldValue}-->${newValue}") + Log.d(tag, "登录状态变化:${oldValue}-->${newValue}") + if (newValue == EnumLoginStatus.Login && AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) { + BizLoopManager.setLoopFunction( + TAGLoopStatus, + LoopInfo(60 * 2, ::queryLoginStatusByNet, immediately = false, scheduler = Schedulers.io()) + ) + } else { + BizLoopManager.removeLoopFunction(TAGLoopStatus) + } + LoginStatusManager.invokeLoginStatusChange(loginStatus) + } + } + + // 业务模式 + private var productEnum: Product by Delegates.observable(Product.NONE) { _, oldValue, newValue -> + if (oldValue != newValue) { + OchChainLogManager.writeChainLog("业务模式发生变化", "${oldValue}-->${newValue}") + Log.d(tag, "业务模式发生变化:${oldValue}-->${newValue}") + onProductChange(newValue) + LoginStatusManager.invokeLProductChange(newValue) + CallerEagleBaseFunctionCall4OchManager.onOchProductChange() + } + } + + // 车型 + private var vehicleEnum: Vehicle by Delegates.observable(Vehicle.NONE) { _, oldValue, newValue -> + if (oldValue != newValue) { + OchChainLogManager.writeChainLog("车型发生变化", "${oldValue}-->${newValue}") + Log.d(tag, "车型发生变化:${oldValue}-->${newValue}") + onVehicleChange(newValue) + LoginStatusManager.invokeLVehicleChange(newValue) + CallerEagleBaseFunctionCall4OchManager.onOchVehicleChange() + } + } + + // 接单状态 + private var openOrderStatusEnum: EnumOpenOrderStatus by Delegates.observable(EnumOpenOrderStatus.None) { _, oldValue, newValue -> + if (oldValue != newValue) { + OchChainLogManager.writeChainLog("接单状态变化", "${oldValue}-->${newValue}") + Log.d(tag, "接单状态变化:${oldValue}-->${newValue}") + LoginStatusManager.invokeOpenOrderStatusChange(this.openOrderStatusEnum) + } + } + + // 车模 + private var carModel: Carmodel by Delegates.observable(Carmodel.T2) { _, oldValue, newValue -> + if (oldValue != newValue) { + OchChainLogManager.writeChainLog("车辆模型发生变化", "${oldValue}-->${newValue}") + Log.d(tag, "车辆模型发生变化:${oldValue}-->${newValue}") + HdMapBuildConfig.currentCarVrIconRes = newValue.rawValue + LoginStatusManager.invokeCarModelChange(newValue) + + CallerEagleBaseFunctionCall4OchManager.setOchCarModel(newValue) + } + } + + private var phoneNum: String by Delegates.observable("") { _, oldValue, newValue -> + if (oldValue != newValue) { + OchChainLogManager.writeChainLog("手机号发生变化", "${oldValue}-->${newValue}") + Log.d(tag, "手机号发生变化:${oldValue}-->${newValue}") + CallerEagleBaseFunctionCall4OchManager.setOchLoginNo(newValue) + } + } + private var plateNumber: String by Delegates.observable("") { _, oldValue, newValue -> + if (oldValue != newValue) { + OchChainLogManager.writeChainLog("车牌号发生变化", "${oldValue}-->${newValue}") + Log.d(tag, "车牌号发生变化:${oldValue}-->${newValue}") + CallerEagleBaseFunctionCall4OchManager.setOchPlateNumber(newValue) + } + } + private var tenantId: Long by Delegates.observable(0L) { _, oldValue, newValue -> + if (oldValue != newValue) { + OchChainLogManager.writeChainLog("租户Id发生变化", "${oldValue}-->${newValue}") + Log.d(tag, "租户Id发生变化:${oldValue}-->${newValue}") + LoginStatusManager.invokeTenantIdChange(newValue) + CallerEagleBaseFunctionCall4OchManager.updateTenantId(newValue) + } + } + + + // 登录信息 + private var loginInfo: LoginInfo? = null + + // 登录账号信息 + private var ochLoginInfo: OchLoginInfo? = null + + // 车辆信息 + private var ochCarInfo: OchCarInfo? = null + + // 业务信息 + private var ochBizInfo: OchBizInfo? = null + + private val loginInfoKey = "LOGININFOKEY" + + private const val OCHLOGININFOKEY = "OCHLOGININFOKEY" + private const val OCHBIZINFOKEY = "OCHBIZINFOKEY" + private const val OCHCARINFOKEY = "OCHCARINFOKEY" + + private const val OCHPRODUCT = "OCHPRODUCT" + private const val OCHVEHICLE = "OCHVEHICLE" + + init { + initProductAndVehicle() + } + + /** + * 查看是否提前设置上 + */ + private fun initProductAndVehicle() { + productEnum = AppIdentityModeUtils.getProduct(FunctionBuildConfig.appIdentityMode) + vehicleEnum =AppIdentityModeUtils.getVehicle(FunctionBuildConfig.appIdentityMode) + + } + + fun queryLoginStatusByNet() { + LoginModel.queryCarStatus(false) + } + + fun queryLoginStatusByNet(readCatche: Boolean) { + d(tag, "queryLoginStatusByNet") + LoginModel.queryCarStatus(readCatche) + } + + fun loginOut() { + d(tag, "loginOut ") + LoginModel.logout() + } + + fun checkAllEnv( + projectType: Project, + envType: Env, + ): Boolean { + val checkAllEnv = FlavorUtils.checkAllEnv(projectType, envType) + if (checkAllEnv.isNotEmpty()) { + if (loginFragment is ILoginViewCallback) { + changeStatus(checkAllEnv) + UiThreadHandler.post({ + changeStatus(checkAllEnv) + if (loginFragment?.isAdded == true) { + (loginFragment as ILoginViewCallback).checkAllEnv(checkAllEnv) + } + }, UiThreadHandler.MODE.QUEUE) + } + } + + return checkAllEnv.isEmpty() + } + + fun changeStatus(currentStatus: String) { + if (loginFragment?.isAdded == true) { + (loginFragment as ILoginViewCallback).updateStatus(currentStatus) + } + } + + /** + * 设置登录信息 + * 1、乘客屏从司机端获取到登录信息 + * 2、支持老版本数据升级 + * 3、 + */ + fun setLoginInfo(loginInfo: LoginInfo) { + d(tag, "setLoginInfo:${loginInfo}") + if (this.loginInfo != loginInfo) { + this.loginInfo = loginInfo + saveInfo2SP(loginInfoKey, loginInfo) + sendLogin2Client(1) + + val ochLoginInfo = loginInfo.toOchLoginInfo() + if (ochLoginInfo != this.ochLoginInfo) { + this.ochLoginInfo = ochLoginInfo + saveInfo2SP(OCHLOGININFOKEY, ochLoginInfo) + } + val ochCarInfo = loginInfo.toOchCarInfo() + if (this.ochCarInfo != ochCarInfo) { + this.ochCarInfo = ochCarInfo + saveInfo2SP(OCHCARINFOKEY, ochCarInfo) + } + val ochBizInfo = loginInfo.toOchBizInfo() + if (this.ochBizInfo != ochBizInfo) { + this.ochBizInfo = ochBizInfo + saveInfo2SP(OCHBIZINFOKEY, ochBizInfo) + } + + OchChainLogManager.writeChainLog("登录信息", loginInfo.toString()) + } + // 设置业务模式 + setProductType(Product.valueOf(loginInfo.businessType)) + // 设置登录状态 + setLoginStatusType(EnumLoginStatus.valueOf(loginInfo.driverStatus)) + // 设置接单状态 + setOpenOrderStatusType(EnumOpenOrderStatus.valueOf(loginInfo.servingStatus)) + + // 设置车型 + setVehicleType(Vehicle.getCarVehicleFromServerName(loginInfo.carModel)) + + // 设置车辆模型 + setCarModelType(Carmodel.getCarModelFromServerName(loginInfo.carModel, loginInfo.tenantId)) + + this.phoneNum = loginInfo.phone ?: "" + this.plateNumber = loginInfo.plateNumber ?: "" + this.tenantId = loginInfo.tenantId + + } + + fun getLoginInfo(): LoginInfo? { + d(tag, "getLoginInfo") + if (loginInfo == null) { + this.loginInfo = getInfoFromSp(loginInfoKey) + } + return loginInfo + } + + fun getOchBizInfo(): OchBizInfo? { + supply6100() + d(tag, "getOchBizInfo") + if (ochBizInfo == null) { + this.ochBizInfo = getInfoFromSp(OCHBIZINFOKEY) + } + return ochBizInfo + } + + fun getOchCarInfo(): OchCarInfo? { + supply6100() + d(tag, "getOchCarInfo") + if (ochCarInfo == null) { + this.ochCarInfo = getInfoFromSp(OCHCARINFOKEY) + } + return ochCarInfo + } + + fun getOchLoginInfo(): OchLoginInfo? { + supply6100() + d(tag, "getOchLoginInfo") + if (ochLoginInfo == null) { + this.ochLoginInfo = getInfoFromSp(OCHLOGININFOKEY) + } + return ochLoginInfo + } + + fun getPurpose(): EnumRole { + d(tag, "getPurpose") + return EnumRole.valueOf(loginInfo?.purpose) + } + + fun isLogin(): Boolean { + d(tag, "isLogin:${loginStatus == EnumLoginStatus.Login}") + return loginStatus == EnumLoginStatus.Login + } + + fun getLoginStatuType(): EnumLoginStatus { + d(tag, "getLoginStatus:${loginStatus}") + return loginStatus + } + + fun setCarModelType(carModel: Carmodel) { + d(tag, "setCarModel:${carModel}") + this.carModel = carModel + } + + fun getCarModelType(): Carmodel { + d(tag, "getCarModel:${carModel}") + return this.carModel + } + + fun setLoginStatusType(loginStatus: EnumLoginStatus) { + d(tag, "setLoginStatus:${this.loginStatus}---->${loginStatus}") + this.loginStatus = loginStatus + } + + + fun setProductType(product: Product) { + d(tag, "setProductType:${product}") + this.productEnum = product + } + + fun getProductType(): Product { + d(tag, "getBusinessType:${productEnum}") + return productEnum + } + + fun setVehicleType(vehicle: Vehicle) { + d(tag, "setVehicleType:${vehicle}") + this.vehicleEnum = vehicle + } + + fun getVehicleType(): Vehicle { + d(tag, "getVehicleType:${vehicleEnum}") + return vehicleEnum + } + + fun setOpenOrderStatusType(type: EnumOpenOrderStatus) { + d(tag, "setOpenOrderStatusType:${type}") + this.openOrderStatusEnum = type + } + + fun getOpenOrderStatusType(): EnumOpenOrderStatus { + d(tag, "getOpenOrderStatusType:${openOrderStatusEnum}") + return openOrderStatusEnum + } + + fun isOpenOrderType(): Boolean { + d( + tag, + "isOpenOrderType:${openOrderStatusEnum == EnumOpenOrderStatus.Ordering}" + ) + return openOrderStatusEnum == EnumOpenOrderStatus.Ordering + } + + fun removeLoginInfo() { + this.loginInfo = null + OchSPManager.remove(loginInfoKey) + } + + + private fun saveInfo2SP(key: String, value: Any) { + val timeText = DateTimeUtils.getTimeText(DateTimeUtils.yyyy_MM_dd) + val loginInfo4Json = GsonUtils.toJson(value) + OchSPManager.putString(key, timeText + loginInfo4Json) + } + + inline fun getInfoFromSp(key: String): T? { + val logingInfoJson = OchSPManager.getString(key) + logingInfoJson?.let { logininfo -> + val timeText = DateTimeUtils.getTimeText(DateTimeUtils.yyyy_MM_dd) + if (logininfo.startsWith(timeText)) { + val json = logingInfoJson.replace(timeText, "") + val oldLoginInfo = GsonUtils.fromJson(json, T::class.java) + return oldLoginInfo + } + } + return null + } + + private fun supply6100() { + val loginInfo = getLoginInfo() + if (ochCarInfo == null && loginInfo != null) { + setLoginInfo(loginInfo) + } + } + + private fun onProductChange(businessEnum: Product){ + val (_, identity, model) = AppIdentityModeUtils.getInfo(FunctionBuildConfig.appIdentityMode) + when (businessEnum) { + Product.NONE -> {} + Product.TAXI -> { + FunctionBuildConfig.appIdentityMode = "${AppIdentityModeUtils.TAXI}_${identity}_${model}" + OchSPManager.putString(OCHPRODUCT,AppIdentityModeUtils.TAXI) + } + + Product.BUS ->{ + FunctionBuildConfig.appIdentityMode = "${AppIdentityModeUtils.BUS}_${identity}_${model}" + OchSPManager.putString(OCHPRODUCT,AppIdentityModeUtils.BUS) + } + + Product.SHUTTLE -> { + FunctionBuildConfig.appIdentityMode = "${AppIdentityModeUtils.SHUTTLE}_${identity}_${model}" + OchSPManager.putString(OCHPRODUCT,AppIdentityModeUtils.SHUTTLE) + } + + Product.CHARTER -> { + FunctionBuildConfig.appIdentityMode = "${AppIdentityModeUtils.CHARTER}_${identity}_${model}" + OchSPManager.putString(OCHPRODUCT,AppIdentityModeUtils.CHARTER) + } + + Product.SCHEDULED -> { + FunctionBuildConfig.appIdentityMode = "${AppIdentityModeUtils.SCHEDULED}_${identity}_${model}" + OchSPManager.putString(OCHPRODUCT,AppIdentityModeUtils.SCHEDULED) + } + } + ScreenHelper.setScreenConfig(AbsMogoApplication.getApp()) + CallerDevaToolsManager.updateAppChannel() + // 加入启动统计 + val mStartParams: HashMap = HashMap() + mStartParams["start_time"] = TimeUtils.getNowMills() + mStartParams["app_version"] = AppUtils.getAppVersionName() + mStartParams["app_identity_mode"] = FunctionBuildConfig.appIdentityMode + MogoAnalyticUtils.track("app_start_time", mStartParams) + } + + private fun onVehicleChange(vehicle: Vehicle) { + val tempInfo = FunctionBuildConfig.appIdentityMode + val (product, identity, model) = AppIdentityModeUtils.getInfo(tempInfo) + FunctionBuildConfig.appIdentityMode = "${product}_${identity}_${vehicle.code}" + OchSPManager.putString(OCHVEHICLE,vehicle.code) + ScreenHelper.setScreenConfig(AbsMogoApplication.getApp()) + + if (vehicle == Vehicle.B2 && AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)) { + BizLoopManager.runInMainThread{ + ActivityUtils.getTopActivity().requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT + } + } + + CallerDevaToolsManager.updateAppChannel() + OchChainLogManager.writeChainLogInit("车辆信息","修改车型${tempInfo}--->${FunctionBuildConfig.appIdentityMode}") + } + + /** + * 向乘客端发送登录信息 + */ + fun sendLogin2Client(count: Int) { + if(count>3){ + return + } + if (loginInfo==null) { + RxUtils.createSubscribeOnOwnThread { + sendLogin2Client(count+1) + } + }else{ + val toJson = GsonUtils.toJson(loginInfo) + val msg = LoginInfo2Client(toJson,ProjectUtils.getProjectType(),EnvUtils.getEnvType()) + LanSocketManager.sendMsgToClient(msg) + } + + } + +} diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/bean/DriverStatusQueryRespBean.java b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/bean/DriverStatusQueryRespBean.java index 48966c7b5b..62a4e4d267 100644 --- a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/bean/DriverStatusQueryRespBean.java +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/bean/DriverStatusQueryRespBean.java @@ -1,7 +1,6 @@ package com.mogo.och.biz.login.bean; import com.mogo.eagle.core.data.BaseData; -import com.mogo.och.common.module.biz.login.LoginInfo; /** * Created by pangfan on 2021/8/19 diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/bean/LoginInfo.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/bean/LoginInfo.kt new file mode 100644 index 0000000000..d82360ba95 --- /dev/null +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/bean/LoginInfo.kt @@ -0,0 +1,123 @@ +package com.mogo.och.biz.login.bean + +import com.mogo.och.common.module.biz.login.bean.OchBizInfo +import com.mogo.och.common.module.biz.login.bean.OchCarInfo +import com.mogo.och.common.module.biz.login.bean.OchLoginInfo +import java.util.Objects + +class LoginInfo { + var driverStatus: Int = 0 //1登录,0登出 + var servingStatus: Int = 0 //1接单中,0暂停接单 + var businessType: Int = 0 //9: taxi. 10: bus公交 11:接驳 13:包车 + var orderNo: String? = null + var purpose: Int = 0 // 1 运营, 2 测试, 3演示 + var sn: String? = null + var plateNumber: String? = null //车牌号 + var phone: String? = null //手机号 + var lineId: Long? = null //线路id + var taskId: Long? = null //任务id + var siteId: Long? = null //站点id 包车使用 + var currentSite: Long? = null //当前站点 接驳、公交、班车使用 + var leaving: Boolean? = null // 当前站点是否出发 + var shiftsId: Long? = null //模板id + var taskDate: Long? = null // 任务或模板的日期 + var vin: String? = null //车辆唯一识别码 + var cityCode: String? = null //城市编码 + var brand: String? = null //东风 + + // + // E70 东风 H9 红旗 + // B2 B1 M1 + var carModel: String? = null + var photos: String? = null //车身照片: + var tenantId: Long = 0 //租户id: + var driverId: Long = 0 + + var businessStatus: Long = 0 //????? + + fun toOchBizInfo(): OchBizInfo { + return OchBizInfo( + businessType, + orderNo?:"", + servingStatus, + lineId?:0, + taskId?:0, + currentSite?:0, + leaving?:false, + shiftsId?:0, + taskDate?:0, + siteId?:0, + businessStatus + ) + } + + fun toOchCarInfo(): OchCarInfo { + return OchCarInfo(plateNumber,vin,cityCode,brand,carModel,photos,tenantId) + } + + fun toOchLoginInfo(): OchLoginInfo { + return OchLoginInfo( + driverStatus, + purpose, + sn?:"", + phone?:"", + driverId + ) + } + + + override fun toString(): String { + return "LoginInfo{" + + "driverStatus=" + driverStatus + + ", servingStatus=" + servingStatus + + ", businessType=" + businessType + + ", orderNo='" + orderNo + '\'' + + ", purpose=" + purpose + + ", sn='" + sn + '\'' + + ", plateNumber='" + plateNumber + '\'' + + ", phone='" + phone + '\'' + + ", lineId=" + lineId + + ", taskId=" + taskId + + ", siteId=" + siteId + + ", vin='" + vin + '\'' + + ", cityCode='" + cityCode + '\'' + + ", brand='" + brand + '\'' + + ", carModel='" + carModel + '\'' + + ", photos='" + photos + '\'' + + ", tenantId=" + tenantId + + ", driverId=" + driverId + + ", businessStatus=" + businessStatus + + '}' + } + + override fun equals(o: Any?): Boolean { + if (this === o) return true + if (o == null || javaClass != o.javaClass) return false + + val loginInfo = o as LoginInfo + return driverStatus == loginInfo.driverStatus && servingStatus == loginInfo.servingStatus && businessType == loginInfo.businessType && purpose == loginInfo.purpose && tenantId == loginInfo.tenantId && driverId == loginInfo.driverId && businessStatus == loginInfo.businessStatus && orderNo == loginInfo.orderNo && sn == loginInfo.sn && plateNumber == loginInfo.plateNumber && phone == loginInfo.phone && lineId == loginInfo.lineId && taskId == loginInfo.taskId && siteId == loginInfo.siteId && vin == loginInfo.vin && cityCode == loginInfo.cityCode && brand == loginInfo.brand && carModel == loginInfo.carModel && photos == loginInfo.photos + } + + override fun hashCode(): Int { + var result = driverStatus + result = 31 * result + servingStatus + result = 31 * result + businessType + result = 31 * result + Objects.hashCode(orderNo) + result = 31 * result + purpose + result = 31 * result + Objects.hashCode(sn) + result = 31 * result + Objects.hashCode(plateNumber) + result = 31 * result + Objects.hashCode(phone) + result = 31 * result + Objects.hashCode(lineId) + result = 31 * result + Objects.hashCode(taskId) + result = 31 * result + Objects.hashCode(siteId) + result = 31 * result + Objects.hashCode(vin) + result = 31 * result + Objects.hashCode(cityCode) + result = 31 * result + Objects.hashCode(brand) + result = 31 * result + Objects.hashCode(carModel) + result = 31 * result + Objects.hashCode(photos) + result = 31 * result + java.lang.Long.hashCode(tenantId) + result = 31 * result + java.lang.Long.hashCode(driverId) + result = 31 * result + java.lang.Long.hashCode(businessStatus) + return result + } +} diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/callback/ILoginViewCallback.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/callback/ILoginViewCallback.kt index c624511a53..f20f6bd9fa 100644 --- a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/callback/ILoginViewCallback.kt +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/callback/ILoginViewCallback.kt @@ -6,7 +6,7 @@ import com.mogo.och.common.module.manager.socket.lan.bean.ProjectType import com.mogo.och.common.module.manager.socket.lan.bean.VehicleType interface ILoginViewCallback { - fun showErrorInfo(errorInfo: String) + fun showErrorInfo(errorInfo: String){} fun checkAllEnv( reason:String diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/callback/ITaxiLoginCallback.java b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/callback/ITaxiLoginCallback.java index 1274365bce..092fd56d54 100644 --- a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/callback/ITaxiLoginCallback.java +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/callback/ITaxiLoginCallback.java @@ -6,8 +6,7 @@ package com.mogo.och.biz.login.callback; * Model->Presenter回调:订单相关(进行中/待服务单变更,当前进行单状态变更,新到预约单,抢单,抢单结果状态等等) */ public interface ITaxiLoginCallback { - void getPhoneCodeSuccess(); - default void searchStatusSuccess(){} + default void getPhoneCodeSuccess(){} - void netErrorCallback(); + default void netErrorCallback(){} } diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/LoginModel.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/LoginModel.kt index 20e84a4084..c6e0ddfa53 100644 --- a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/LoginModel.kt +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/LoginModel.kt @@ -11,17 +11,12 @@ import com.mogo.commons.storage.SharedPrefsMgr import com.mogo.commons.utils.MogoAnalyticUtils import com.mogo.eagle.core.data.BaseData import com.mogo.eagle.core.data.config.FunctionBuildConfig -import com.mogo.eagle.core.function.call.och.CallerEagleBaseFunctionCall4OchManager -import com.mogo.eagle.core.utilcode.mogo.Product -import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger +import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d -import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_OCHCOMMON -import com.mogo.eagle.core.utilcode.util.DateTimeUtils -import com.mogo.eagle.core.utilcode.util.GsonUtils import com.mogo.eagle.core.utilcode.util.NetworkUtils import com.mogo.och.biz.R -import com.mogo.och.biz.login.LoginConst +import com.mogo.och.biz.login.LoginServiceManager import com.mogo.och.biz.login.bean.DriverStatusQueryRespBean import com.mogo.och.biz.login.bean.TaxiLoginReqBean import com.mogo.och.biz.login.bean.TaxiLoginRespBean @@ -29,19 +24,14 @@ import com.mogo.och.biz.login.bean.TaxiLogoutReqBean import com.mogo.och.biz.login.callback.ITaxiLoginCallback import com.mogo.och.biz.login.net.OchCommonServiceManager import com.mogo.och.bridge.autopilot.location.OchLocationManager -import com.mogo.och.common.module.biz.login.LoginStatusEnum -import com.mogo.och.common.module.biz.login.LoginStatusEnum.Companion.valueOf +import com.mogo.och.biz.login.bean.LoginInfo import com.mogo.och.common.module.biz.login.LoginStatusManager import com.mogo.och.common.module.manager.cache.ISpCallback import com.mogo.och.common.module.manager.cache.OchSPManager import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager -import com.mogo.och.common.module.manager.socket.lan.bean.BusCacheKey -import com.mogo.och.common.module.manager.socket.lan.bean.LoginCacheStatus import com.mogo.och.common.module.network.OchCommonServiceCallback -import com.mogo.och.common.module.utils.DateTimeUtil import com.mogo.och.common.module.utils.ToastUtilsOch import com.mogo.och.common.module.wigets.toast.ToastCharterUtils -import com.mogo.och.data.manager.cache.CacheDataManager import io.reactivex.Observable import io.reactivex.disposables.Disposable import java.util.concurrent.TimeUnit @@ -66,17 +56,20 @@ object LoginModel { private val mNetWorkIntentListener = IMogoIntentListener { intentStr, _ -> d(TAG, "onIntentReceived = %s", intentStr) if (ConnectivityManager.CONNECTIVITY_ACTION == intentStr) { - if (NetworkUtils.isConnected(mContext)) { + if (NetworkUtils.isConnected(mContext) + && AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) { // 网络链接成功可以先读取本地再获取服务器 queryCarStatus() } } } - private val snChangeListener = object :ISpCallback{ + private val snChangeListener = object : ISpCallback { override fun snChange() { d(TAG, "sn 发生变化${OchSPManager.getSn()}") - queryCarStatus(false) + if(AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) { + queryCarStatus(false) + } } } @@ -86,26 +79,18 @@ object LoginModel { .registerIntentListener(ConnectivityManager.CONNECTIVITY_ACTION, mNetWorkIntentListener) } - fun init(context: Context) { - - } - fun hasInit(): Boolean { return iTaxiLoginCallback != null } - fun getiTaxiLoginCallback(): ITaxiLoginCallback? { - return iTaxiLoginCallback - } - fun setiTaxiLoginCallback(iTaxiLoginCallback: ITaxiLoginCallback?) { - d(TAG,"setiTaxiLoginCallback") - OchSPManager.addListener(TAG,snChangeListener) + d(TAG, "setiTaxiLoginCallback") + OchSPManager.addListener(TAG, snChangeListener) LoginModel.iTaxiLoginCallback = iTaxiLoginCallback } fun release() { - d(TAG,"release") + d(TAG, "release") OchSPManager.remove(TAG) iTaxiLoginCallback = null } @@ -114,11 +99,11 @@ object LoginModel { * 获取手机验证码 */ fun getPhoneCode(phone: String?) { - if(mContext==null){ - OchChainLogManager.writeChainLog("登录页面","获取验证码 mContext${mContext}") - }else { + if (mContext == null) { + OchChainLogManager.writeChainLog("登录页面", "获取验证码 mContext${mContext==null}") + } else { mContext?.let { - OchChainLogManager.writeChainLog("登录页面","网络请求去获取验证码") + OchChainLogManager.writeChainLog("登录页面", "网络请求去获取验证码") OchCommonServiceManager.getPhoneCode(it, phone, object : OchCommonServiceCallback { override fun onSuccess(data: BaseData?) { @@ -188,48 +173,43 @@ object LoginModel { /** * 接单状态和登录状态查询 - * 1、初始化查询 - * 2、错误重试 - * 3、错误重试 - * 4、登出后重试 - * 5、变更出车状态查下 - * 6、变更出车状态查下 - * 7、网络状态变更后查询 - * 8、登录页面关闭后查下状态 + * 1、司机端登录成功后开启2分钟定时请求登录状态 + * 2、对外提供查询登录状态 + * 3、网络状态发生变化后查询 + * 4、sn 发生变化后查询 + * 5、登录成功后主动查询 + * 6、错误重试 + * 7、错误重试 + * 8、登出后重试 */ - fun queryCarStatus(readCatche:Boolean = true) { + fun queryCarStatus(readCatche: Boolean = true) { mContext?.let { - Log.d(TAG,"设置源:queryCarStatus") - if(readCatche){ - val logingInfoJson = OchSPManager.getString(loginInfoKey) - val timeText = DateTimeUtils.getTimeText(DateTimeUtils.yyyy_MM_dd) - logingInfoJson?.let {logininfo-> - if(logininfo.startsWith(timeText)){ - val json = logingInfoJson.replace(timeText,"" ) - val oldLoginInfo = GsonUtils.fromJson(json, DriverStatusQueryRespBean::class.java) - go2LoginInfo(oldLoginInfo,"缓存获取") - } - } + Log.d(TAG, "设置源:queryCarStatus") + if (readCatche) { + val loginInfo = LoginServiceManager.getLoginInfo() + go2LoginInfo(loginInfo,"缓存获取") } - OchCommonServiceManager.queryDriverServiceStatus(it, object : OchCommonServiceCallback { - override fun onSuccess(data: DriverStatusQueryRespBean?) { + OchCommonServiceManager.queryDriverServiceStatus( + it, + object : OchCommonServiceCallback { + override fun onSuccess(data: DriverStatusQueryRespBean) { val map: MutableMap = HashMap() map["msg"] = data.toString() - MogoAnalyticUtils.track("QueryCarStatus",map) - go2LoginInfo(data,"接口获取") + MogoAnalyticUtils.track("QueryCarStatus", map) + go2LoginInfo(data.data, "接口获取") } override fun onError() { val map: MutableMap = HashMap() map["msg"] = "网络错误" - MogoAnalyticUtils.track("QueryCarStatus",map) + MogoAnalyticUtils.track("QueryCarStatus", map) if (!NetworkUtils.isConnected(mContext)) { ToastCharterUtils.showToastShort(mContext!!.getString(R.string.network_error_tip)) } else { ToastCharterUtils.showToastShort(mContext!!.getString(R.string.request_error_tip)) } - LoginStatusManager.setLoginError(-10012,"网络错误") + LoginStatusManager.setLoginError(-10012, "网络错误") // 依赖参数 subscribe = Observable.timer(5, TimeUnit.SECONDS) .subscribe { _: Long? -> queryCarStatus(readCatche) } @@ -239,9 +219,9 @@ object LoginModel { val map: MutableMap = HashMap() map["msg"] = msg map["code"] = code - MogoAnalyticUtils.track("QueryCarStatus",map) + MogoAnalyticUtils.track("QueryCarStatus", map) - LoginStatusManager.setLoginError(code,"msg:${msg}") + LoginStatusManager.setLoginError(code, "msg:${msg}") ToastUtilsOch.showWithCodeMessage(code, msg) // 依赖参数 subscribe = Observable.timer(3, TimeUnit.SECONDS) @@ -249,7 +229,6 @@ object LoginModel { // if (code == OchCommonConst.WAIT_TAKEN) { // // } else { - loginFail(LoginStatusManager.isLogin()) // } } }) @@ -257,34 +236,10 @@ object LoginModel { } @Synchronized - private fun go2LoginInfo(data: DriverStatusQueryRespBean?, source: String) { - d(TAG,"设置源:${source}") + private fun go2LoginInfo(data: LoginInfo?, source: String) { + d(TAG, "设置源:${source}") data?.let { - LoginStatusManager.setLoginInfo(data.data) - } - if (FunctionBuildConfig.ochdebug) { - return - } - if (null != data && 0 == data.code) { - // 不用登录也可以获得支持的业务模式 - LoginStatusManager.setBusinessType(data.data.businessType) - iTaxiLoginCallback?.searchStatusSuccess() - // 后台已登录 - if (!FunctionBuildConfig.isOffLine) { - if (valueOf(data.data.driverStatus) == LoginStatusEnum.Login) { - // 业务不支持 去退出登录 - if (!LoginStatusManager.checkBusiness(data.data.businessType)) { - LoginStatusManager.loginOut() - return - } - } - LoginStatusManager.setLoginStatus(data.data.driverStatus) - } - val timeText = DateTimeUtils.getTimeText(DateTimeUtils.yyyy_MM_dd) - val loginInfo4Json = GsonUtils.toJson(data) - OchSPManager.putString(loginInfoKey,timeText+loginInfo4Json) - LoginStatusManager.setOpenOrderType(data.data.servingStatus) - d(TAG, "登录信息:$data") + LoginServiceManager.setLoginInfo(data) loginSuccess(data) } } @@ -292,18 +247,11 @@ object LoginModel { // 登出 fun logout() { val location4Login = TaxiLogoutReqBean.Location4Login() - if (FunctionBuildConfig.isOffLine) { - d(TAG, "离线模式登录后退出 setLoginStatus:${LoginStatusEnum.Logout}") - LoginStatusManager.setLoginStatus(LoginStatusEnum.Logout) - FunctionBuildConfig.isOffLine = false - return - } OchCommonServiceManager.logout( mContext!!, location4Login, object : OchCommonServiceCallback { override fun onSuccess(data: BaseData?) { if (null != data && 0 == data.code) { - loginFail(false) OchSPManager.remove(loginInfoKey) // 退出登录成功需要查询新的 queryCarStatus(false) @@ -320,44 +268,22 @@ object LoginModel { override fun onFail(code: Int, msg: String) { ToastUtilsOch.showWithCodeMessage(code, msg) - if(!LoginStatusManager.isLogin()){ - LoginStatusManager.invokeLBusinessTypeChangeDebug(Product.NONE) - } } }) } - fun loginSuccess(data: DriverStatusQueryRespBean?) { - d(TAG, "loginSuccess:${LoginStatusManager.isLogin()}") - if (LoginStatusManager.isLogin()) { - SharedPrefsMgr.getInstance().putString("och_account", data?.data?.phone) + fun loginSuccess(data: LoginInfo?) { + d(TAG, "loginSuccess:${LoginServiceManager.isLogin()}") + if (LoginServiceManager.isLogin()) { + SharedPrefsMgr.getInstance().putString("och_account", data?.phone) } else { SharedPrefsMgr.getInstance().putString("och_account", "") } - data?.data?.driverStatus?.let { updateLoginLocalStatus(it) } - } - - private fun updateLoginLocalStatus(loginStatus: Int = 0) { - val loginCacheStatus = LoginCacheStatus(loginStatus, DateTimeUtil.getCurrentTimeStamp()) - mContext?.let { - CacheDataManager.instance.putCacheData( - it, BusCacheKey.BUS_LOGIN_STATUS_CACHE, - GsonUtils.toJson(loginCacheStatus)) - } - } - - - fun loginFail(isLogin: Boolean) { - d(TAG, "loginFail:$isLogin") - updateLoginLocalStatus(0) } fun gotoOfflineMode() { - FunctionBuildConfig.isOffLine = true - d(TAG, "离线模式登录 setLoginStatus:${LoginStatusEnum.Login}") - LoginStatusManager.setLoginStatus(LoginStatusEnum.Login) - CallerEagleBaseFunctionCall4OchManager.setOchLoginNo(LoginConst.OFFLINEPHONE) + } } \ No newline at end of file diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/net/OchCommonServiceManager.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/net/OchCommonServiceManager.kt index 254316f008..c863b3a7d4 100644 --- a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/net/OchCommonServiceManager.kt +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/net/OchCommonServiceManager.kt @@ -77,7 +77,7 @@ object OchCommonServiceManager { location4Login: TaxiLoginReqBean.Location4Login, callback: OchCommonServiceCallback? ) { - CallerLogger.d(TAG, "gotoLoginBycode:通过手机验证码登录:${phone}---${code}"); + CallerLogger.d(TAG, "gotoLoginBycode:通过手机验证码登录:${phone}---${code}") val sn = OchSPManager.getSn() if (ProjectUtils.isMogo()) { ochLoginServiceMogo.gotoLoginBycode( @@ -103,7 +103,7 @@ object OchCommonServiceManager { location4Login: TaxiLogoutReqBean.Location4Login?, callback: OchCommonServiceCallback? ) { - CallerLogger.d(TAG, "logout:登出"); + CallerLogger.d(TAG, "logout:登出") if (ProjectUtils.isMogo()) { ochLoginServiceMogo.logout( MoGoAiCloudClientConfig.getInstance().serviceAppId, @@ -143,14 +143,14 @@ object OchCommonServiceManager { LoginLanPassengerSocket.driverSn } if(sn.isNullOrEmpty()){ - CallerLogger.d(TAG, "queryDriverServiceStatus:查询登录状态 没有有效的sn"); + CallerLogger.d(TAG, "queryDriverServiceStatus:查询登录状态 没有有效的sn") return } if(FunctionBuildConfig.ochdebug){ - CallerLogger.d(TAG, "queryDriverServiceStatus:查询登录状态 ochdebug模式"); + CallerLogger.d(TAG, "queryDriverServiceStatus:查询登录状态 ochdebug模式") return } - CallerLogger.d(TAG, "queryDriverServiceStatus:查询登录状态${sn}"); + CallerLogger.d(TAG, "queryDriverServiceStatus:查询登录状态${sn}") if (ProjectUtils.isMogo()) { ochLoginServiceMogo.queryDriverServiceStatusAndLoginStatus( MoGoAiCloudClientConfig.getInstance().serviceAppId, diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/presenter/LoginPassengerPresenter.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/presenter/LoginPassengerPresenter.kt index ce13488eca..0c63aac35b 100644 --- a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/presenter/LoginPassengerPresenter.kt +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/presenter/LoginPassengerPresenter.kt @@ -26,7 +26,6 @@ class LoginPassengerPresenter(view: LoginPassengerFragment?) : Presenter(view), ITaxiLoginCallback { +class LoginPresenter(view: LoginFragment?) : Presenter(view), ITaxiLoginCallback, + ILoginCallback { private var countDownDisposable: Disposable? = null - private val TAG = LoginPresenter::class.java.simpleName - - private var phone:String?=null - private var code:String?=null + private val TAG = M_OCHCOMMON+LoginPresenter::class.java.simpleName init { initListeners() - CallerLogger.d(SceneConstant.M_TAXI + TAG, "网约车-Init") + CallerLogger.d(TAG, "网约车-Init") } private fun initListeners() { - LoginModel.init(AbsMogoApplication.getApp()) LoginModel.setiTaxiLoginCallback(this) + LoginStatusManager.addListener(TAG,this) } + override fun onProductChange(businessEnum: Product?) { + mView?.setBg() + } + override fun onVehicleChage(vehicle: Vehicle?) { + mView?.setBg() + } fun getPhoneCode(phone:String){ OchChainLogManager.writeChainLog("登录页面","获取验证码${phone}") @@ -65,7 +74,7 @@ class LoginPresenter(view: LoginFragment?) : Presenter(view), IT override fun onCreate(owner: LifecycleOwner) { super.onCreate(owner) - CallerLogger.d(SceneConstant.M_TAXI + TAG, "网约车-出租车登陆") + CallerLogger.d(TAG, "网约车-出租车登陆") } @@ -88,13 +97,13 @@ class LoginPresenter(view: LoginFragment?) : Presenter(view), IT .observeOn(AndroidSchedulers.mainThread()) .subscribe({ mView?.setCountDownText("${it}s",false) - CallerLogger.d(SceneConstant.M_TAXI_P + TAG, "倒计时:$it") + CallerLogger.d(TAG, "倒计时:$it") }, { - CallerLogger.d(SceneConstant.M_TAXI_P + TAG, "倒计时onError:${it}") + CallerLogger.d(TAG, "倒计时onError:${it}") it.printStackTrace() mView?.setCountDownText(AbsMogoApplication.getApp().getString(R.string.module_och_taxi_login_get_code),true) }, { - CallerLogger.d(SceneConstant.M_TAXI_P + TAG, "倒计时onComplete") + CallerLogger.d(TAG, "倒计时onComplete") mView?.setCountDownText(AbsMogoApplication.getApp().getString(R.string.module_och_taxi_login_get_code),true) }) } @@ -116,25 +125,8 @@ class LoginPresenter(view: LoginFragment?) : Presenter(view), IT gotoOfflineMode() return } - // 需要实时查询新的 - LoginModel.queryCarStatus(false) + LoginModel.gotoLogin(phone, code) mView?.closeSoftInput() - this.phone = phone - this.code = code - } - - override fun searchStatusSuccess() { - if (StringUtils.isEmpty(phone) || StringUtils.isEmpty(code)) { - return - } - if(!LoginStatusManager.checkBusiness(LoginStatusManager.getBusInessType().code)){ - return - } - if(!StringUtils.isEmpty(phone)&&!StringUtils.isEmpty(code)) { - LoginModel.gotoLogin(phone!!, code!!) - } - this.phone = null - this.code = null } override fun netErrorCallback() { diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/ui/LoginFragment.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/ui/LoginFragment.kt index 2337e1ca62..8805ad9bb4 100644 --- a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/ui/LoginFragment.kt +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/ui/LoginFragment.kt @@ -257,11 +257,7 @@ class LoginFragment : MvpFragment(), ILoginView // 司机屏不用处理 只处理 后台返回的业务模型就行 } - override fun onResume() { - biz_cl_driver_main?.viewTreeObserver?.addOnGlobalLayoutListener(onlayoutListener) - super.onResume() - CallerIpcConnectStateToastManager.loginFragment(true) - CallerLogger.d(TAG, "onResume") + fun setBg(){ context?.let { val videoUrl:String if (AppIdentityModeUtils.isT1T2(FunctionBuildConfig.appIdentityMode)) { @@ -347,6 +343,14 @@ class LoginFragment : MvpFragment(), ILoginView } } + override fun onResume() { + biz_cl_driver_main?.viewTreeObserver?.addOnGlobalLayoutListener(onlayoutListener) + super.onResume() + CallerIpcConnectStateToastManager.loginFragment(true) + CallerLogger.d(TAG, "onResume") + setBg() + } + override fun onPause() { biz_cl_driver_main?.viewTreeObserver?.removeOnGlobalLayoutListener(onlayoutListener) super.onPause() diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/ui/LoginPassengerFragment.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/ui/LoginPassengerFragment.kt index d008108b09..839ca92329 100644 --- a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/ui/LoginPassengerFragment.kt +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/ui/LoginPassengerFragment.kt @@ -1,26 +1,29 @@ package com.mogo.och.biz.login.ui import android.content.res.Configuration +import android.util.TypedValue import android.view.View -import androidx.appcompat.widget.AppCompatTextView import androidx.constraintlayout.widget.ConstraintLayout import com.mogo.commons.mvp.MvpFragment -import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager import com.mogo.eagle.core.function.hmi.ui.setting.ToggleDebugView -import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger -import com.mogo.eagle.core.utilcode.util.DeviceUtils import com.mogo.eagle.core.utilcode.util.ScreenUtils import com.mogo.eagle.core.utilcode.util.UiThreadHandler import com.mogo.och.biz.BuildConfig import com.mogo.och.biz.R import com.mogo.och.biz.login.callback.ILoginViewCallback import com.mogo.och.biz.login.presenter.LoginPassengerPresenter -import com.mogo.och.biz.login.ui.debugview.BusinessView import com.mogo.och.common.module.biz.lansocket.LoginLanPassengerSocket import com.mogo.och.common.module.utils.FlavorUtils +import kotlinx.android.synthetic.main.biz_login_passenger_view.actv_app_version +import kotlinx.android.synthetic.main.biz_login_passenger_view.actv_connect_status +import kotlinx.android.synthetic.main.biz_login_passenger_view.biz_cl_passenger_main +import kotlinx.android.synthetic.main.biz_login_view.bv_switch_business import kotlinx.android.synthetic.main.biz_login_view.eiv_Info +import me.jessyan.autosize.AutoSizeCompat +import me.jessyan.autosize.utils.AutoSizeUtils +import kotlin.math.abs /** @@ -29,36 +32,53 @@ import kotlinx.android.synthetic.main.biz_login_view.eiv_Info */ class LoginPassengerFragment : MvpFragment(), ILoginViewCallback { - - private var biz_cl_passenger_main: ConstraintLayout?=null - private var biz_actv_login_show_sn: AppCompatTextView?=null - private var bv_switch_business: BusinessView?=null - private var actv_app_version: AppCompatTextView?=null - private var actv_connect_status: AppCompatTextView?=null - + private val statusList = mutableListOf() override fun getLayoutId(): Int { + return R.layout.biz_login_passenger_view + } - if (AppIdentityModeUtils.isM1(FunctionBuildConfig.appIdentityMode) && - AppIdentityModeUtils.isPassenger((FunctionBuildConfig.appIdentityMode))) { - return R.layout.biz_login_passenger_view_1920x1080 - } else if (AppIdentityModeUtils.isB2(FunctionBuildConfig.appIdentityMode) && - AppIdentityModeUtils.isPassenger((FunctionBuildConfig.appIdentityMode))) { - return R.layout.biz_login_passenger_view_1080x1920 + private val width2560 = 2560 + private val width1920 = 1920 + + private fun changeUi(){ + val screenWidth = ScreenUtils.getScreenWidth() + val screenHeight = ScreenUtils.getScreenHeight() + + val textSize: Float + val marginBottom: Int + + if(screenWidth>screenHeight){//横屏 + if(abs(screenWidth - width2560) { - actv_business_shuttle.visibility = VISIBLE - } - - "bus" -> { - actv_business_bus.visibility = VISIBLE - } - - "taxi" -> { - actv_business_taxi.visibility = VISIBLE - } - - "charter" -> { - actv_business_charter.visibility = VISIBLE - } - - else -> {} - } + if(visibility== VISIBLE){ + visibility = GONE + }else { + visibility = VISIBLE } } diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/skin/SkinProvider.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/skin/SkinProvider.kt index 1ad1e3f30c..b39a4d9aea 100644 --- a/OCH/common/biz/src/main/java/com/mogo/och/biz/skin/SkinProvider.kt +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/skin/SkinProvider.kt @@ -4,9 +4,12 @@ import android.content.Context import com.alibaba.android.arouter.facade.annotation.Route import com.mogo.commons.env.ProjectUtils import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d +import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_OCHCOMMON import com.mogo.och.biz.R import com.mogo.och.biz.skin.bean.SkinRespBean import com.mogo.och.biz.skin.net.OchSkinServiceManager +import com.mogo.och.common.module.biz.login.ILoginCallback +import com.mogo.och.common.module.biz.login.LoginStatusManager import com.mogo.och.common.module.biz.skin.SkinService import com.mogo.och.common.module.constant.OchCommonConst import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager @@ -17,11 +20,21 @@ import com.mogo.skin.SkinManager import com.mogo.skin.utils.FileUtils @Route(path = OchCommonConst.BIZ_SKIN) -class SkinProvider : SkinService { +class SkinProvider : SkinService, ILoginCallback { private var context: Context?= null - private val TAG = "SkinProvider" + private val TAG = M_OCHCOMMON+"SkinProvider" + + init { + d(TAG,"皮肤信息_监听租户") + LoginStatusManager.addListener(TAG,this) + } + + override fun onTenantIdChange(tenantId: Long?) { + d(TAG,"皮肤信息_租户变化重新请求皮肤包") + loadNewSkin() + } override fun loadNewSkin() { OchChainLogManager.writeChainLogSkin("皮肤信息","请求皮肤信息") diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/skin/bean/SkinRespBean.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/skin/bean/SkinRespBean.kt index 097e938c18..ead6bf46e4 100644 --- a/OCH/common/biz/src/main/java/com/mogo/och/biz/skin/bean/SkinRespBean.kt +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/skin/bean/SkinRespBean.kt @@ -1,7 +1,6 @@ package com.mogo.och.biz.skin.bean import com.mogo.eagle.core.data.BaseData -import com.mogo.och.common.module.biz.login.LoginInfo /** * Created by pangfan on 2021/8/19 diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/time/TimeProvider.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/time/TimeProvider.kt index e70b87282e..95a50fae0a 100644 --- a/OCH/common/biz/src/main/java/com/mogo/och/biz/time/TimeProvider.kt +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/time/TimeProvider.kt @@ -126,7 +126,7 @@ class TimeProvider : TimeService { } fun tryload(){ - if (netTime > 3_000 || FunctionBuildConfig.isOffLine) { + if (netTime > 3_000) { // 网络延迟大 10s 同步一次 RxUtils.disposeSubscribe(nextGetTime) nextGetTime = RxUtils.createSubscribeOnOwnThread(30_000) { diff --git a/OCH/common/biz/src/main/res/layout/biz_login_passenger_view_2560x1600.xml b/OCH/common/biz/src/main/res/layout/biz_login_passenger_view.xml similarity index 97% rename from OCH/common/biz/src/main/res/layout/biz_login_passenger_view_2560x1600.xml rename to OCH/common/biz/src/main/res/layout/biz_login_passenger_view.xml index 7396ad749d..cec017f572 100644 --- a/OCH/common/biz/src/main/res/layout/biz_login_passenger_view_2560x1600.xml +++ b/OCH/common/biz/src/main/res/layout/biz_login_passenger_view.xml @@ -5,7 +5,6 @@ android:id="@+id/biz_cl_passenger_main" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@drawable/biz_login_passenger_2560x1600" app:isUseSkin="true"> @@ -13,12 +12,12 @@ android:id="@+id/actv_connect_status" android:layout_width="0dp" android:layout_height="wrap_content" - android:text="当前状态:连接司机屏中" - android:textColor="@color/white" - android:gravity="center" - android:textSize="@dimen/dp_30" android:layout_marginStart="@dimen/dp_160" android:layout_marginEnd="@dimen/dp_160" + android:gravity="center" + android:text="当前状态:连接司机屏中" + android:textColor="@color/white" + android:textSize="@dimen/dp_30" app:layout_constraintBottom_toTopOf="@+id/actv_app_version" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_chainStyle="packed" @@ -28,10 +27,10 @@ android:id="@+id/actv_app_version" android:layout_width="0dp" android:layout_height="wrap_content" - android:gravity="center" - android:layout_marginBottom="@dimen/dp_70" android:layout_marginStart="@dimen/dp_160" android:layout_marginEnd="@dimen/dp_160" + android:layout_marginBottom="@dimen/dp_70" + android:gravity="center" android:text="版本号:6.4.0" android:textColor="@color/white" android:textSize="@dimen/dp_30" diff --git a/OCH/common/biz/src/main/res/layout/biz_login_passenger_view_1080x1920.xml b/OCH/common/biz/src/main/res/layout/biz_login_passenger_view_1080x1920.xml deleted file mode 100644 index 3c3ec1ee8c..0000000000 --- a/OCH/common/biz/src/main/res/layout/biz_login_passenger_view_1080x1920.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/OCH/common/biz/src/main/res/layout/biz_login_passenger_view_1920x1080.xml b/OCH/common/biz/src/main/res/layout/biz_login_passenger_view_1920x1080.xml deleted file mode 100644 index d9e35d6239..0000000000 --- a/OCH/common/biz/src/main/res/layout/biz_login_passenger_view_1920x1080.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/OCH/common/bridge/src/main/java/com/mogo/och/bridge/device/checkvin/CheckVinManager.kt b/OCH/common/bridge/src/main/java/com/mogo/och/bridge/device/checkvin/CheckVinManager.kt index da8b6f52c0..724e46d36a 100644 --- a/OCH/common/bridge/src/main/java/com/mogo/och/bridge/device/checkvin/CheckVinManager.kt +++ b/OCH/common/bridge/src/main/java/com/mogo/och/bridge/device/checkvin/CheckVinManager.kt @@ -29,38 +29,37 @@ object CheckVinManager : IMoGoAutopilotCarConfigListener { fun getVin(): String { var delineVin = CallerAutoPilotControlManager.getVIN() if(delineVin.isEmpty()){ - delineVin = LoginStatusManager.getLoginInfo()?.vin?:"" + delineVin = LoginStatusManager.getOchCarInfo()?.vin?:"" } return delineVin } private fun checkVin() { - LoginStatusManager.getLoginInfo()?.let {loginInfo -> - val serverVin = loginInfo.vin + LoginStatusManager.getOchCarInfo()?.vin?.let { serverVin -> val delineVin = CallerAutoPilotControlManager.getVIN() OchChainLogManager.writeChainLog( "checkVin", "5分钟检测VIN:服务器Vin:${serverVin}-----底盘Vin:${delineVin}", true, CheckVinErrorDialog.EVENT_KEY_INFO_CHECK_VIN ) - if(serverVin.isNullOrBlank()){ + if (serverVin.isNullOrBlank()) { return } - if(delineVin.isNullOrBlank()){ + if (delineVin.isNullOrBlank()) { return } - if(serverVin!=delineVin){ + if (serverVin != delineVin) { val topActivity = ActivityUtils.getTopActivity() topActivity?.let { UiThreadHandler.post({ - if(checkVinErrorDialog !=null&& checkVinErrorDialog!!.isShowing){ + if (checkVinErrorDialog != null && checkVinErrorDialog!!.isShowing) { return@post } checkVinErrorDialog = CheckVinErrorDialog(it) checkVinErrorDialog?.showDialog() - },UiThreadHandler.MODE.QUEUE) + }, UiThreadHandler.MODE.QUEUE) } } diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/lansocket/LoginLanDriverSocket.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/lansocket/LoginLanDriverSocket.kt index 68b4670206..5692fa3b3b 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/lansocket/LoginLanDriverSocket.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/lansocket/LoginLanDriverSocket.kt @@ -1,9 +1,12 @@ package com.mogo.och.common.module.biz.lansocket -import com.mogo.eagle.core.data.config.FunctionBuildConfig +import android.util.Log +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger +import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_OCHCOMMON import com.mogo.och.common.module.BuildConfig +import com.mogo.och.common.module.biz.lansocket.bean.DevicesInfo import com.mogo.och.common.module.biz.login.ILoginCallback -import com.mogo.och.common.module.biz.login.LoginStatusEnum +import com.mogo.och.common.module.biz.login.EnumLoginStatus import com.mogo.och.common.module.biz.login.LoginStatusManager import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager import com.mogo.och.common.module.manager.loop.BizLoopManager @@ -15,10 +18,14 @@ import com.mogo.och.common.module.manager.socket.lan.bean.BusinessType import com.mogo.och.common.module.manager.socket.lan.bean.ChangeBusinessType import com.mogo.och.common.module.manager.socket.lan.bean.DPMsgType import com.mogo.och.common.module.manager.socket.lan.bean.EnvCheck +import com.mogo.och.common.module.manager.socket.lan.bean.ScreenType +import com.mogo.och.common.module.utils.DateTimeUtil import com.mogo.och.common.module.utils.FlavorUtils object LoginLanDriverSocket : ILoginCallback { - private const val TAG = "LoginLanSocket" + private const val TAG = M_OCHCOMMON+"LoginLanSocket" + + private val thridDevices = mutableListOf() // 接受到客户端注册信息后立即返回业务模式 private val registerListener = object : ILanMessageListener { @@ -28,6 +35,15 @@ object LoginLanDriverSocket : ILoginCallback { override fun onLanMsgReceived(obj: BaseDPMsg?) { println("-------${obj}") + obj?.let {msg-> + var currentDevices = thridDevices.find { it.sn == msg.sourceSn && it.msgVersion == msg.msgVersion } + if(currentDevices==null){ + currentDevices = DevicesInfo(msg.sourceScreenType, msg.sourceSn,msg.msgVersion) + thridDevices.add(currentDevices) + }else{ + currentDevices.registerTime = DateTimeUtil.getCurrentTimeStamp() + } + } if(LoginStatusManager.isLogin()) { FlavorUtils.getEnvCheck() val msg = ChangeBusinessType(FlavorUtils.vehicleType!!, FlavorUtils.businessType!!, FlavorUtils.projectType!!, FlavorUtils.envType!!) @@ -37,9 +53,10 @@ object LoginLanDriverSocket : ILoginCallback { val msg = ChangeBusinessType(FlavorUtils.vehicleType!!, BusinessType.none, FlavorUtils.projectType!!, FlavorUtils.envType!!) LanSocketManager.sendMsgToClient(msg) } + LoginStatusManager.sendLogin2Client() } - }; + } fun load() { OchChainLogManager.writeChainLogInit("初始化信息","初始司机屏局域网内通知监听") @@ -47,6 +64,7 @@ object LoginLanDriverSocket : ILoginCallback { init { // 登录状态变化的监听 + CallerLogger.d(TAG,"初始化局域网通信") LoginStatusManager.addListener(TAG, this) // 注册监听乘客屏和报站屏注册信息 LanSocketManager.registerSocketMessageListener( @@ -56,11 +74,11 @@ object LoginLanDriverSocket : ILoginCallback { } // 司机端发送业务模式更改和环境校验 - override fun onStatusChange(currentStatus: LoginStatusEnum?) { + override fun onLoginStatusChange(currentStatus: EnumLoginStatus?) { FlavorUtils.getEnvCheck() if (FlavorUtils.vehicleType != null && FlavorUtils.projectType != null && FlavorUtils.envType != null) { when (currentStatus) { - LoginStatusEnum.Login -> { + EnumLoginStatus.Login -> { val msg = ChangeBusinessType( FlavorUtils.vehicleType!!, diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/lansocket/LoginLanPassengerSocket.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/lansocket/LoginLanPassengerSocket.kt index 70693262c0..08da851f85 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/lansocket/LoginLanPassengerSocket.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/lansocket/LoginLanPassengerSocket.kt @@ -3,11 +3,8 @@ package com.mogo.och.common.module.biz.lansocket import com.mogo.eagle.core.function.api.telematic.IReceivedMsgListener import com.mogo.eagle.core.function.call.telematic.CallerTelematicListenerManager import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager -import com.mogo.eagle.core.utilcode.mogo.Product import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.Logger -import com.mogo.eagle.core.utilcode.util.UiThreadHandler -import com.mogo.och.common.module.biz.login.LoginStatusEnum import com.mogo.och.common.module.biz.login.LoginStatusManager import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager import com.mogo.och.common.module.manager.loop.BizLoopManager @@ -15,16 +12,11 @@ import com.mogo.och.common.module.manager.loop.LoopInfo import com.mogo.och.common.module.manager.socket.lan.ILanMessageListener import com.mogo.och.common.module.manager.socket.lan.LanSocketManager import com.mogo.och.common.module.manager.socket.lan.bean.BaseDPMsg -import com.mogo.och.common.module.manager.socket.lan.bean.BusinessType -import com.mogo.och.common.module.manager.socket.lan.bean.ChangeBusinessType import com.mogo.och.common.module.manager.socket.lan.bean.DPMsgType import com.mogo.och.common.module.manager.socket.lan.bean.EnvCheck import com.mogo.och.common.module.manager.socket.lan.bean.EnvType import com.mogo.och.common.module.manager.socket.lan.bean.ProjectType -import com.mogo.och.common.module.manager.socket.lan.bean.ScreenType -import com.mogo.och.common.module.manager.socket.lan.bean.VehicleType import com.mogo.och.common.module.utils.CallerBase -import java.lang.StringBuilder import kotlin.properties.Delegates object LoginLanPassengerSocket : IReceivedMsgListener, CallerBase() { @@ -83,73 +75,12 @@ object LoginLanPassengerSocket : IReceivedMsgListener, CallerBase { - override fun targetLan(): Class { - return ChangeBusinessType::class.java - } - - override fun onLanMsgReceived(first: ChangeBusinessType?) { - first?.let { - val checkEnv = checkEnv( - first.projectType, - first.envType, - first.vehicleType, - first.businessType - ) - if(checkEnv){ - val status = StringBuilder() - status.append("切换业务模式<当前:${LoginStatusManager.getBusInessType().name}") - when (first.businessType) { - BusinessType.none -> { - LoginStatusManager.setBusinessType(Product.NONE.code) - CallerLogger.d(TAG, "乘客屏 收到消息 司机屏没有登录:${LoginStatusEnum.Logout}") - return LoginStatusManager.setLoginStatus(LoginStatusEnum.Logout) - } - BusinessType.bus -> LoginStatusManager.setBusinessType(Product.BUS.code) - BusinessType.shuttle -> LoginStatusManager.setBusinessType(Product.SHUTTLE.code) - BusinessType.charter -> LoginStatusManager.setBusinessType(Product.CHARTER.code) - BusinessType.taxi -> LoginStatusManager.setBusinessType(Product.TAXI.code) - BusinessType.taxiunmanned ->LoginStatusManager.setBusinessType(Product.TAXI.code) - BusinessType.scheduled ->LoginStatusManager.setBusinessType(Product.SCHEDULED.code) - } - status.append(", 切换后:${LoginStatusManager.getBusInessType().name}>") - LoginStatusManager.changeStatus(status.toString()) - UiThreadHandler.postDelayed({ - CallerLogger.d(TAG, "乘客屏 收到消息 司机屏业务模式相同:${LoginStatusEnum.Login}") - LoginStatusManager.setLoginStatus(LoginStatusEnum.Login) - },2000) - - } - } - } - - }; - fun load() { OchChainLogManager.writeChainLogInit("初始化信息","初始局乘客屏局域网内部分信息") } @@ -164,11 +95,7 @@ object LoginLanPassengerSocket : IReceivedMsgListener, CallerBase() { } throw ClassNotFoundException("没有找到登录Fragment"); } + @JvmStatic fun resetFragment(){ loginService?.let { @@ -49,51 +45,57 @@ object LoginStatusManager : CallerBase() { fun queryLoginStatusByNet(readCatche:Boolean=false) { loginService?.queryLoginStatusByNet(readCatche) } - @JvmStatic - fun getPurpose(): RoleEnum { + + fun getOchCarInfo(): OchCarInfo? { + return loginService?.getOchCarInfo() + } + + fun getOchBizInfo(): OchBizInfo? { + return loginService?.getOchBizInfo() + } + + fun getOchLoginInfo(): OchLoginInfo? { + return loginService?.getOchLoginInfo() + } + + /** + * 移除登录信息 + */ + fun removeLoginInfo() { + loginService?.removeLoginInfo() + } + + /** + * 获取业务模式 + */ + fun getProductType():Product{ loginService?.let { - return it.getPurpose() - } - return RoleEnum.None - } - - @JvmStatic - fun setLoginInfo(loginInfo: LoginInfo) { - loginService?.setLoginInfo(loginInfo) - } - - fun getLoginInfo(): LoginInfo? { - return loginService?.getLoginInfo() - } - - @JvmStatic - fun setLoginStatus(status: Int) { - loginService?.setLoginStatus(status) - } - @JvmStatic - fun setBusinessType(type: Int) { - loginService?.setBusinessType(type) - } - - fun getBusInessType():Product{ - loginService?.let { - return it.getBusinessType() + return it.getProductType() } return Product.NONE } - @JvmStatic - fun setOpenOrderType(type: Int) { - loginService?.setOpenOrderStatusType(type) + fun getVehicleType():Vehicle{ + loginService?.let { + return it.getVehicleType() + } + return Vehicle.NONE } + /** + * 获取接单状态 + */ @JvmStatic - fun getOpenOrderType():OpenOrderStatusEnum{ + fun getOpenOrderType():EnumOpenOrderStatus{ loginService?.let { return it.getOpenOrderStatusType() } - return OpenOrderStatusEnum.None + return EnumOpenOrderStatus.None } + + /** + * 是否在接单中 + */ @JvmStatic fun isOpenOrderType():Boolean{ loginService?.let { @@ -102,34 +104,20 @@ object LoginStatusManager : CallerBase() { return false } + /** + * 获取登录状态 + */ @JvmStatic - fun setLoginStatus(loginStatus: LoginStatusEnum) { - CallerLogger.d(TAG, "setLoginStatus:${loginStatus}") - loginService?.setLoginStatus(loginStatus) - } - - - fun removeLoginInfo() { - loginService?.removeLoginInfo() - } - - @JvmStatic - fun getLoginStatus(): LoginStatusEnum { + fun getLoginStatus(): EnumLoginStatus { loginService?.let { return it.getLoginStatus() } - return LoginStatusEnum.None + return EnumLoginStatus.None } - @JvmStatic - fun getCarModel(): Carmodel { - loginService?.let { - return it.getCarModel() - } - return Carmodel.T2 - } - - + /** + * 是否登录中 + */ @JvmStatic fun isLogin(): Boolean { loginService?.let { @@ -138,72 +126,73 @@ object LoginStatusManager : CallerBase() { return false } - fun invokeLoginStatusChange(currentStatus: LoginStatusEnum) { - Log.d("登录","设置源:invokeLoginStatusChange") - if(!FunctionBuildConfig.isOffLine){ - if(currentStatus==LoginStatusEnum.Login){ - Log.d("登录","设置源:queryLoginStatusByNet") - BizLoopManager.setLoopFunction(TAGLoopStatus, LoopInfo(60*2, ::queryLoginStatusByNet,immediately = true, scheduler = Schedulers.io())) - }else{ - BizLoopManager.removeLoopFunction(TAGLoopStatus) - } + /** + * 获取车辆模型 + */ + @JvmStatic + fun getCarModel(): Carmodel { + loginService?.let { + return it.getCarModelType() } + return Carmodel.T2 + } + + /** + * 发送登录信息到乘客屏 + */ + fun sendLogin2Client() { + loginService?.sendLogin2Client() + } + + /** + * 登录状态变更通知 + */ + fun invokeLoginStatusChange(currentStatus: EnumLoginStatus) { M_LISTENERS.forEach { val listener = it.value - listener.onStatusChange(currentStatus) + listener.onLoginStatusChange(currentStatus) } } - fun invokeLBusinessTypeChange(currentStatus: Product) { + /** + * 业务模式发生变化通知 + */ + fun invokeLProductChange(currentStatus: Product) { M_LISTENERS.forEach { val listener = it.value - listener.onBusinessChange(currentStatus) - } - } - fun invokeLBusinessTypeChangeDebug(currentStatus: Product) { - M_LISTENERS.forEach { - val listener = it.value - listener.onBusinessChangeDebug(currentStatus) + listener.onProductChange(currentStatus) } } - fun invokeLOpenOrderStatusChange(currentStatus: OpenOrderStatusEnum) { + /** + * 车型发生变化通知 + */ + fun invokeLVehicleChange(currentStatus: Vehicle) { + M_LISTENERS.forEach { + val listener = it.value + listener.onVehicleChage(currentStatus) + } + } + + /** + * 接单状态变化发送通知 + */ + fun invokeOpenOrderStatusChange(currentStatus: EnumOpenOrderStatus) { M_LISTENERS.forEach { val listener = it.value listener.onOpenOrderStatusEnumChange(currentStatus) } } - @JvmStatic - fun checkBusiness(businessType: Int):Boolean { - loginService?.let { - return it.checkBusiness(businessType) - } - return false - } - - fun checkAllEnv( - projectType: ProjectType, - envType: EnvType, - vehicleType: VehicleType, - businessType: BusinessType - ):Boolean { - loginService?.let { - return it.checkAllEnv(projectType,envType,vehicleType,businessType) - } - return false - } - fun changeStatus(status: String) { - loginService?.let { - it.changeStatus(status) - } + loginService?.changeStatus(status) } override fun doSomeAfterAddListener(tag: String, listener: ILoginCallback) { super.doSomeAfterAddListener(tag, listener) - listener.onStatusChange(getLoginStatus()) - listener.onBusinessChange(getBusInessType()) + listener.onLoginStatusChange(getLoginStatus()) + listener.onProductChange(getProductType()) + listener.onVehicleChage(getVehicleType()) listener.onOpenOrderStatusEnumChange(getOpenOrderType()) listener.onCarModelChange(getCarModel()) } @@ -215,6 +204,9 @@ object LoginStatusManager : CallerBase() { } } + /** + * 车辆模型变化通知 + */ fun invokeCarModelChange(carModel: Carmodel) { M_LISTENERS.forEach { val listener = it.value @@ -222,5 +214,12 @@ object LoginStatusManager : CallerBase() { } } + fun invokeTenantIdChange(tenantId: Long) { + M_LISTENERS.forEach { + val listener = it.value + listener.onTenantIdChange(tenantId) + } + } + } \ No newline at end of file diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/login/bean/OchBizInfo.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/login/bean/OchBizInfo.kt new file mode 100644 index 0000000000..8df419f5c9 --- /dev/null +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/login/bean/OchBizInfo.kt @@ -0,0 +1,33 @@ +package com.mogo.och.common.module.biz.login.bean + +data class OchBizInfo( + + //9: taxi. 10: bus公交 11:接驳 13:包车 14:班车 + val businessType: Int = -1, + + // taxi使用 + // 订单号 + val orderNo: String = "", + //1接单中,0暂停接单 + val servingStatus: Int = 0, + + //接驳、公交、班车使用 + // 正在执行的线路id + val lineId: Long, + // 正在执行的班次id + val taskId: Long, + // 当前站点 + val currentSite: Long, + // 是否滑动出发 + val leaving: Boolean, + // 当前班次的模板id + val shiftsId: Long, + // 当前班次的具体时间 + val taskDate: Long, + + // 包车使用 + // 当前站点id 包车使用 + val siteId: Long, + // 包车车辆状态 1:闲置中 2:使用中 + val businessStatus: Long, +) \ No newline at end of file diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/login/bean/OchCarInfo.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/login/bean/OchCarInfo.kt new file mode 100644 index 0000000000..e0c56924b8 --- /dev/null +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/login/bean/OchCarInfo.kt @@ -0,0 +1,12 @@ +package com.mogo.och.common.module.biz.login.bean + +data class OchCarInfo( + val plateNumber:String?, + val vin:String?, + val cityCode:String?,// 车辆所在城市 + val brand:String?,// 车辆生产产商 品牌 + val carModel:String?,// 车辆类型 型号 + val photos:String?,// 车身照片 + // 租户id + val tenantId: Long?, +) \ No newline at end of file diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/login/bean/OchLoginInfo.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/login/bean/OchLoginInfo.kt new file mode 100644 index 0000000000..dde3f9331b --- /dev/null +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/login/bean/OchLoginInfo.kt @@ -0,0 +1,14 @@ +package com.mogo.och.common.module.biz.login.bean + +data class OchLoginInfo( + //1登录,0登出 + val driverStatus: Int = 0, + // 1 运营, 2 测试, 3演示 + val purpose: Int = 0, + // 后台车辆配置的sn + val sn: String = "", + // 司机手机号 + val phone: String = "", + // 司机id + val driverId: Long?, +) \ No newline at end of file diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/offline/OfflineManager.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/offline/OfflineManager.kt index 41675a443d..039525e24c 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/offline/OfflineManager.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/offline/OfflineManager.kt @@ -4,8 +4,9 @@ import com.alibaba.android.arouter.launcher.ARouter import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_OFFLINE +import com.mogo.och.common.module.biz.lansocket.LoginLanDriverSocket import com.mogo.och.common.module.biz.login.ILoginCallback -import com.mogo.och.common.module.biz.login.LoginStatusEnum +import com.mogo.och.common.module.biz.login.EnumLoginStatus import com.mogo.och.common.module.biz.login.LoginStatusManager import com.mogo.och.common.module.constant.OchCommonConst import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager @@ -17,18 +18,20 @@ object OfflineManager : ILoginCallback { private var offlineService: OfflineService? = ARouter.getInstance().build(OchCommonConst.BIZ_OFFLINE).navigation() as OfflineService init { + CallerLogger.d(TAG,"初始化离线系统") LoginStatusManager.addListener(TAG,this) } - override fun onStatusChange(currentStatus: LoginStatusEnum?) { - if(!FunctionBuildConfig.isOffLine){ - if(currentStatus==LoginStatusEnum.Login) { - // 同步数据 - synergyBaseData() - // 删除正在运行的数据 - deleteObsoleteData() - } - } + override fun onLoginStatusChange(currentStatus: EnumLoginStatus?) { + // TODO: 6.10.0 删除离线数据 +// if(!FunctionBuildConfig.isOffLine){ +// if(currentStatus==EnumLoginStatus.Login) { +// // 同步数据 +// synergyBaseData() +// // 删除正在运行的数据 +// deleteObsoleteData() +// } +// } } /** diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/scnner/ScannerManager.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/scnner/ScannerManager.kt index 257da196a5..9aad74393d 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/scnner/ScannerManager.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/scnner/ScannerManager.kt @@ -109,7 +109,7 @@ object ScannerManager : IOchLanPassengerStatusListener { override fun onReceive(data: VerificationData?) { OchChainLogManager.writeChainLogScanner( - TAG + "onActiveDataReceive", + TAG + "ScannerManageronActiveDataReceive", "扫码结果:data:${data}" ) data?.let { diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/lan/bean/BaseDPMsg.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/lan/bean/BaseDPMsg.kt index 4ac4e4b6c7..2ec872d268 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/lan/bean/BaseDPMsg.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/lan/bean/BaseDPMsg.kt @@ -6,7 +6,7 @@ import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils open class BaseDPMsg( open var type: Int = DPMsgType.TYPE_CLIENT_REGISTER.type, - open var msgVersion: Int = 1, + open var msgVersion: Int = 2, open var targetScreenTypes: MutableList = if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) { mutableListOf(ScreenType.Passenger, ScreenType.Guide) diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/lan/bean/DPMsgType.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/lan/bean/DPMsgType.kt index d720db0152..7857e6525a 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/lan/bean/DPMsgType.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/lan/bean/DPMsgType.kt @@ -22,5 +22,6 @@ enum class DPMsgType(val type: Int) { TYPE_WRITEOFF_INFO_DETAIL(13), //核销信息 TYPE_WRITEOFF_INFO_RESULT(14), //核销结果 TYPE_OUTOF_VOICE(15), //转发给乘客屏播放 + TYPE_LOGIN_INFO(16), //转发给乘客屏播放 TYPE_CLIENT_REGISTER(12); //客户端注册 服务端需要 } \ No newline at end of file diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/lan/bean/DataBean.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/lan/bean/DataBean.kt index c57b103e4c..1e97cb60e7 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/lan/bean/DataBean.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/lan/bean/DataBean.kt @@ -1,5 +1,9 @@ package com.mogo.och.common.module.manager.socket.lan.bean +import com.mogo.commons.env.Env +import com.mogo.commons.env.Project +import com.mogo.och.common.module.biz.login.bean.OchLoginInfo + /** * @author: wangmingjun * @date: 2023/3/27 @@ -130,6 +134,11 @@ data class OutofVoice( val notice: String, ) : BaseDPMsg(DPMsgType.TYPE_OUTOF_VOICE.type, targetScreenTypes = mutableListOf(ScreenType.Passenger)) +data class LoginInfo2Client( + val loginInfo: String, + val project: Project, + val env: Env, +) : BaseDPMsg(DPMsgType.TYPE_LOGIN_INFO.type,targetScreenTypes = mutableListOf(ScreenType.Passenger)) // 车辆类型 enum class VehicleType { diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/network/interceptor/FRetryWithTime.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/network/interceptor/FRetryWithTime.kt index e9e5748b5b..4c5086f877 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/network/interceptor/FRetryWithTime.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/network/interceptor/FRetryWithTime.kt @@ -2,11 +2,9 @@ package com.mogo.och.common.module.network.interceptor import com.mogo.cloud.passport.MoGoAiCloudClient import com.mogo.eagle.core.data.BaseData -import com.mogo.eagle.core.data.config.FunctionBuildConfig -import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.och.common.module.biz.login.LoginStatusManager -import com.mogo.och.common.module.biz.login.LoginStatusEnum +import com.mogo.och.common.module.biz.login.EnumLoginStatus import io.reactivex.Observable import io.reactivex.ObservableSource import io.reactivex.functions.Function @@ -19,12 +17,8 @@ class FRetryWithTime : Function> { MoGoAiCloudClient.getInstance().refreshToken() return Observable.error(OchCommonRetryException()) }else if(it.code == 1003){ - if(!FunctionBuildConfig.isOffLine&&!FunctionBuildConfig.ochdebug){ - if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) { - CallerLogger.d("FRetryWithTime", "接口失败报错 1003:${LoginStatusEnum.Logout}") - LoginStatusManager.setLoginStatus(LoginStatusEnum.Logout) - } - } + CallerLogger.d("FRetryWithTime", "接口失败报错 1003:${EnumLoginStatus.Logout}") + LoginStatusManager.queryLoginStatusByNet(false) } } return Observable.just(baseData) diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/utils/FlavorUtils.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/utils/FlavorUtils.kt index 431254d136..157bfd13d5 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/utils/FlavorUtils.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/utils/FlavorUtils.kt @@ -1,6 +1,8 @@ package com.mogo.och.common.module.utils import com.mogo.commons.debug.DebugConfig +import com.mogo.commons.env.Env +import com.mogo.commons.env.EnvUtils import com.mogo.commons.env.Project import com.mogo.commons.env.ProjectUtils import com.mogo.commons.storage.SharedPrefsMgr @@ -8,6 +10,7 @@ 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.util.AppUtils +import com.mogo.och.common.module.manager.cache.OchSPManager import com.mogo.och.common.module.manager.socket.lan.bean.BusinessType import com.mogo.och.common.module.manager.socket.lan.bean.EnvType import com.mogo.och.common.module.manager.socket.lan.bean.ProjectType @@ -41,7 +44,7 @@ object FlavorUtils { } else if (AppIdentityModeUtils.isB2(FunctionBuildConfig.appIdentityMode)) { info.append(" B2") } else { - info.append(" C1") + info.append(" none") } when (DebugConfig.getNetMode()) { @@ -68,61 +71,14 @@ object FlavorUtils { } info.append(" ${AppUtils.getAppVersionName()}") - info.append(" AppSN:${SharedPrefsMgr.getInstance().sn}") + info.append(" AppSN:${OchSPManager.getSn()}") return info.toString() } fun getBusinessInfo(businessType: Int): String { val businessEnum = Product.valueOf(businessType) - FunctionBuildConfig.supportBusiness.forEach { - when (it) { - "shuttle" -> { - val isSupply = businessEnum == Product.SHUTTLE - if (isSupply) { - return "" - } - } - - "bus" -> { - val isSupply = businessEnum == Product.BUS - if (isSupply) { - return "" - } - } - - "taxi" -> { - val isSupply = businessEnum == Product.TAXI - if (isSupply) { - return "" - } - } - - "charter" -> { - val isSupply = businessEnum == Product.CHARTER - if (isSupply) { - return "" - } - } - - "scheduled" -> { - val isSupply = businessEnum == Product.SCHEDULED - if (isSupply) { - return "" - } - } - - else -> {} - } - } val reason = StringBuilder() reason.append("业务异常<当前支持:") - FunctionBuildConfig.supportBusiness.forEachIndexed { index, s -> - if (index == FunctionBuildConfig.supportBusiness.size - 1) { - reason.append(s) - } else { - reason.append("${s},") - } - } when (businessEnum) { Product.TAXI -> reason.append(" 后台配置:taxi>") Product.BUS -> reason.append(" 后台配置:bus>") @@ -212,100 +168,25 @@ object FlavorUtils { } fun checkAllEnv( - projectType: ProjectType, - envType: EnvType, - vehicleType: VehicleType, - businessType: BusinessType + projectType: Project, + envType: Env, ): String { val reason = StringBuilder() - val isProjectSupply = when (ProjectUtils.getProjectType()) { - Project.SAAS -> projectType == ProjectType.saas - Project.DALI -> projectType == ProjectType.dali - Project.MOGO -> projectType == ProjectType.mogo - Project.YANTAI -> projectType == ProjectType.yantai - } + val isProjectSupply = ProjectUtils.getProjectType()==projectType + if (!isProjectSupply) { - reason.append("项目异常<当前:${ProjectUtils.getProjectType().name}, 后台配置:${projectType.name}> ") + reason.append("项目异常<当前:${ProjectUtils.getProjectType().value}, 后台配置:${projectType.value}> ") } - val currentVehicle: String - val vehicleTypeSupply = - if (AppIdentityModeUtils.isT1T2(FunctionBuildConfig.appIdentityMode)) { - currentVehicle = VehicleType.T1T2.name - vehicleType == VehicleType.T1T2 - } else if (AppIdentityModeUtils.isM1(FunctionBuildConfig.appIdentityMode)) { - currentVehicle = VehicleType.M1.name - vehicleType == VehicleType.M1 - } else if (AppIdentityModeUtils.isB1(FunctionBuildConfig.appIdentityMode)) { - currentVehicle = VehicleType.B1.name - vehicleType == VehicleType.B1 - } else if (AppIdentityModeUtils.isB2(FunctionBuildConfig.appIdentityMode)) { - currentVehicle = VehicleType.B2.name - vehicleType == VehicleType.B2 - } else { - currentVehicle = VehicleType.C1.name - vehicleType == VehicleType.C1 - } - if (!vehicleTypeSupply) { - reason.append("车型异常<当前:${currentVehicle}, 后台配置:${vehicleType.name}> ") - } + val envTypeSupply = EnvUtils.getEnvType()==envType - val currentenvType: String - val envTypeSupply = when (DebugConfig.getNetMode()) { - 2 -> { - currentenvType = EnvType.qa.name - envType == EnvType.qa - } - - 3 -> { - currentenvType = EnvType.online.name - envType == EnvType.online - } - - 4 -> { - currentenvType = EnvType.demo.name - envType == EnvType.demo - } - - else -> { - currentenvType = EnvType.qa.name - envType == EnvType.qa - } - } if (!envTypeSupply) { - reason.append("环境异常<当前:${currentenvType} 后台配置:${envType.name}> ") - } - - - val businessTypeSupply = checkBusinessMine(businessType) - - if (!businessTypeSupply) { - reason.append("业务异常<当前支持:") - FunctionBuildConfig.supportBusiness.forEachIndexed { index, s -> - if (index == FunctionBuildConfig.supportBusiness.size - 1) { - reason.append(s) - } else { - reason.append("${s},") - } - } - reason.append(" 后台配置:${businessType.name}> ") + reason.append("环境异常<当前:${EnvUtils.getEnvType().value} 后台配置:${envType.value}> ") } return reason.toString() } - fun checkBusinessMine(businessType: BusinessType): Boolean { - if (businessType == BusinessType.none) { - return true - } - FunctionBuildConfig.supportBusiness.forEach { - if (businessType.name == it) { - return true - } - } - return false - } - } \ No newline at end of file diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/LoadingMapStatusView.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/LoadingMapStatusView.kt index a065605df8..cb277cfd7a 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/LoadingMapStatusView.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/LoadingMapStatusView.kt @@ -42,7 +42,7 @@ class LoadingMapStatusView @JvmOverloads constructor( override fun onAttachedToWindow() { super.onAttachedToWindow() - CallerLogger.d(TAG,"onAttachedToWindow") + CallerLogger.d(TAG,"地图loading_onAttachedToWindow") LoginStatusManager.addListener(TAG,this) visibility = VISIBLE MogoMapListenerHandler.mogoMapListenerHandler.registerHostMapListener(TAG,this) diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/map/orderstatus/OrderStatusViewModel.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/map/orderstatus/OrderStatusViewModel.kt index ae2f82b5fd..474d4d75f6 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/map/orderstatus/OrderStatusViewModel.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/map/orderstatus/OrderStatusViewModel.kt @@ -3,15 +3,16 @@ package com.mogo.och.common.module.wigets.map.orderstatus import androidx.annotation.DrawableRes import androidx.lifecycle.ViewModel import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger +import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_OCHCOMMON import com.mogo.eagle.core.utilcode.util.UiThreadHandler import com.mogo.och.common.module.R import com.mogo.och.common.module.biz.login.ILoginCallback import com.mogo.och.common.module.biz.login.LoginStatusManager -import com.mogo.och.common.module.biz.login.OpenOrderStatusEnum +import com.mogo.och.common.module.biz.login.EnumOpenOrderStatus class OrderStatusViewModel : ViewModel(), ILoginCallback { - private val TAG = OrderStatusViewModel::class.java.simpleName + private val TAG = M_OCHCOMMON+OrderStatusViewModel::class.java.simpleName private var viewCallback: IVisualCallback? = null @@ -26,11 +27,12 @@ class OrderStatusViewModel : ViewModel(), ILoginCallback { } fun setDistanceCallback(viewCallback: IVisualCallback) { + CallerLogger.d(TAG,"监听接单状态") LoginStatusManager.addListener(TAG, this) this.viewCallback = viewCallback } - override fun onOpenOrderStatusEnumChange(businessEnum: OpenOrderStatusEnum?) { + override fun onOpenOrderStatusEnumChange(businessEnum: EnumOpenOrderStatus?) { CallerLogger.d(TAG,"新的接单状态${businessEnum}") UiThreadHandler.post({ if (LoginStatusManager.isOpenOrderType()) { diff --git a/OCH/facade/build.gradle b/OCH/facade/build.gradle index 3daccbaaa9..45e3e26946 100644 --- a/OCH/facade/build.gradle +++ b/OCH/facade/build.gradle @@ -35,20 +35,6 @@ android { kotlinOptions { jvmTarget = '1.8' } - - flavorDimensions "vehicle" - productFlavors { - // 车型:金旅星辰、开沃 小巴业务 - jinlvvan { - dimension "vehicle" - buildConfigField 'int', 'NEW_TEST', '0' - } - // 车型:金旅m2 小巴业务 - m2 { - dimension "vehicle" - buildConfigField 'int', 'NEW_TEST', '1' - } - } } dependencies { diff --git a/OCH/facade/script/och.gradle b/OCH/facade/script/och.gradle index 4c8554f943..7ee8273cea 100644 --- a/OCH/facade/script/och.gradle +++ b/OCH/facade/script/och.gradle @@ -6,49 +6,32 @@ project.dependencies { } else { if(isDriver()){ implementation project.project(':OCH:offline:driver') - } - if (isCurrentDriver("C1")) { - implementation project.project(':OCH:sweeper:driver') - } else if (isCurrentDriver("B1")) { - implementation project.project(':OCH:shuttle:driver_weaknet') - } else if (isCurrentPassenger("B1")) { - implementation project.project(':OCH:shuttle:passenger_weaknet') - } else if (isCurrentBaiLing("B1")) { - implementation project.project(':OCH:shuttle:driver_weaknet') - implementation project.project(':OCH:shuttle:passenger_weaknet') - } else if (isCurrentDriver("M1")) { - implementation project.project(':OCH:charter:driver') - implementation project.project(':OCH:shuttle:driver_weaknet') - } else if (isCurrentPassenger("M1")) { - implementation project.project(':OCH:shuttle:passenger_weaknet') - } else if (isCurrentDriver("B2")) { - implementation project.project(':OCH:shuttle:driver_weaknet') - } else if (isCurrentPassenger("B2")) { - implementation project.project(':OCH:shuttle:passenger_weaknet') - } else if (isCurrentDriver("T1T2")) { - implementation project.project(':OCH:taxi:unmanned-driver') - } else if (isCurrentPassenger("T1T2")) { - implementation project.project(':OCH:taxi:unmanned-passenger') - } else if (isCurrentDriver("ALL")) { - implementation project.project(':OCH:taxi:unmanned-driver') - implementation project.project(':OCH:charter:driver') implementation project.project(':OCH:sweeper:driver') implementation project.project(':OCH:shuttle:driver_weaknet') - } else if (isCurrentPassenger("ALL")) { + implementation project.project(':OCH:charter:driver') + implementation project.project(':OCH:taxi:unmanned-driver') + }else if(isPassenger()){ + implementation project.project(':OCH:shuttle:passenger_weaknet') implementation project.project(':OCH:taxi:unmanned-passenger') implementation project.project(':OCH:charter:passenger') + }else if(isBaiLing()){ + implementation project.project(':OCH:offline:driver') + implementation project.project(':OCH:shuttle:driver_weaknet') implementation project.project(':OCH:shuttle:passenger_weaknet') - - } else { implementation project.project(':OCH:charter:driver') implementation project.project(':OCH:charter:passenger') implementation project.project(':OCH:sweeper:driver') -// implementation project.project(':OCH:taxi:driver') -// implementation project.project(':OCH:taxi:passenger') implementation project.project(':OCH:taxi:unmanned-driver') implementation project.project(':OCH:taxi:unmanned-passenger') - implementation project.project(':OCH:shuttle:passenger_weaknet') + }else { + implementation project.project(':OCH:offline:driver') implementation project.project(':OCH:shuttle:driver_weaknet') + implementation project.project(':OCH:shuttle:passenger_weaknet') + implementation project.project(':OCH:charter:driver') + implementation project.project(':OCH:charter:passenger') + implementation project.project(':OCH:sweeper:driver') + implementation project.project(':OCH:taxi:unmanned-driver') + implementation project.project(':OCH:taxi:unmanned-passenger') } } } diff --git a/OCH/facade/src/main/java/com/mogo/och/facade/route/FacadeDriverProvider.kt b/OCH/facade/src/main/java/com/mogo/och/facade/route/FacadeDriverProvider.kt index 5207959508..73c5213017 100644 --- a/OCH/facade/src/main/java/com/mogo/och/facade/route/FacadeDriverProvider.kt +++ b/OCH/facade/src/main/java/com/mogo/och/facade/route/FacadeDriverProvider.kt @@ -9,7 +9,7 @@ import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils import com.mogo.och.bridge.device.checkvin.CheckVinManager import com.mogo.och.bridge.ota.OTAManager import com.mogo.och.common.module.biz.lansocket.LoginLanDriverSocket -import com.mogo.och.common.module.biz.login.LoginStatusEnum +import com.mogo.och.common.module.biz.login.EnumLoginStatus import com.mogo.och.common.module.biz.login.LoginStatusManager import com.mogo.och.common.module.biz.offline.OfflineManager import com.mogo.och.common.module.manager.socket.lan.LanSocketManager @@ -58,7 +58,7 @@ class FacadeDriverProvider : FacadeProvider() { super.onDestroy() } - override fun onStatusChange(currentStatus: LoginStatusEnum) { - super.onStatusChange(currentStatus) + override fun onLoginStatusChange(currentStatus: EnumLoginStatus) { + super.onLoginStatusChange(currentStatus) } } diff --git a/OCH/facade/src/main/java/com/mogo/och/facade/route/FacadeProvider.kt b/OCH/facade/src/main/java/com/mogo/och/facade/route/FacadeProvider.kt index a54a18a5da..459edff60b 100644 --- a/OCH/facade/src/main/java/com/mogo/och/facade/route/FacadeProvider.kt +++ b/OCH/facade/src/main/java/com/mogo/och/facade/route/FacadeProvider.kt @@ -22,7 +22,6 @@ import com.mogo.eagle.core.function.hmi.ui.setting.ToggleDebugView import com.mogo.eagle.core.function.hmi.ui.widget.StatusBarView import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils import com.mogo.eagle.core.utilcode.mogo.Product -import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d import com.mogo.eagle.core.utilcode.util.AppUtils import com.mogo.eagle.core.utilcode.util.DeviceUtils @@ -31,7 +30,7 @@ import com.mogo.eagle.core.utilcode.util.TimeUtils import com.mogo.eagle.core.utilcode.util.UiThreadHandler import com.mogo.eagle.core.utilcode.util.VolumeUtils import com.mogo.och.common.module.biz.login.ILoginCallback -import com.mogo.och.common.module.biz.login.LoginStatusEnum +import com.mogo.och.common.module.biz.login.EnumLoginStatus import com.mogo.och.common.module.biz.login.LoginStatusManager import com.mogo.och.common.module.biz.provider.CommonService import com.mogo.och.common.module.biz.skin.SkinManager @@ -97,13 +96,6 @@ abstract class FacadeProvider : IMoGoFunctionProvider, ILoginCallback { } private fun getFragment(): Fragment { - if (FunctionBuildConfig.isOffLine) { - if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) { - return getFragmentByServeName(OchCommonConst.OFFLINE_DRIVER) - } else if (AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)) { - return getFragmentByServeName(OchCommonConst.OFFLINE_PASSENGER) - } - } if(DeviceUtils.isEB5Model() && !AppIdentityModeUtils.isCharterPassenger(FunctionBuildConfig.appIdentityMode)){ val maxVolume = VolumeUtils.getMaxVolume(AudioManager.STREAM_MUSIC) val volume = VolumeUtils.getVolume(AudioManager.STREAM_MUSIC) @@ -165,10 +157,10 @@ abstract class FacadeProvider : IMoGoFunctionProvider, ILoginCallback { activity!!.finish() } - override fun onStatusChange(currentStatus: LoginStatusEnum) { + override fun onLoginStatusChange(currentStatus: EnumLoginStatus) { d(TAG, "登录状态发生改变 $currentStatus") when (currentStatus) { - LoginStatusEnum.Login -> { + EnumLoginStatus.Login -> { CallerEagleBaseFunctionCall4OchManager.updateLoginStatus(true) } else -> { @@ -180,69 +172,6 @@ abstract class FacadeProvider : IMoGoFunctionProvider, ILoginCallback { } } - override fun onBusinessChange(businessEnum: Product) { - super.onBusinessChange(businessEnum) - val (_, identity, model) = AppIdentityModeUtils.getInfo(FunctionBuildConfig.appIdentityMode) - when (businessEnum) { - Product.NONE -> {} - Product.TAXI -> FunctionBuildConfig.appIdentityMode = - "${AppIdentityModeUtils.TAXI}_${identity}_${model}" - - Product.BUS -> FunctionBuildConfig.appIdentityMode = - "${AppIdentityModeUtils.BUS}_${identity}_${model}" - - Product.SHUTTLE -> FunctionBuildConfig.appIdentityMode = - "${AppIdentityModeUtils.SHUTTLE}_${identity}_${model}" - - Product.CHARTER -> FunctionBuildConfig.appIdentityMode = - "${AppIdentityModeUtils.CHARTER}_${identity}_${model}" - - Product.SCHEDULED -> FunctionBuildConfig.appIdentityMode = - "${AppIdentityModeUtils.SCHEDULED}_${identity}_${model}" - } - CallerDevaToolsManager.updateAppChannel() - // 加入启动统计 - val mStartParams: HashMap = HashMap() - mStartParams["start_time"] = TimeUtils.getNowMills() - mStartParams["app_version"] = AppUtils.getAppVersionName() - mStartParams["app_identity_mode"] = FunctionBuildConfig.appIdentityMode - MogoAnalyticUtils.track("app_start_time", mStartParams) - } - - override fun onBusinessChangeDebug(businessEnum: Product) { - if (businessEnum == Product.NONE) { - CallerHmiManager.hideToolsView() - ToggleDebugView.toggleDebugView.dismiss() - SopView.sopView.dismiss() - CallerHmiManager.dismissFSMExceptionStatusWindow() - CallerHmiManager.hideStatusSummaryDialog() - _commonService?.resetFragment() - val fragment = LoginStatusManager.getFragment() - val supportFragmentManager: FragmentManager? = activity?.supportFragmentManager - if (supportFragmentManager != null) { - val back = supportFragmentManager.beginTransaction() - back.replace(containerId, fragment, fragment.tag) - back.commitAllowingStateLoss() - } - removeStatusBar() - } else { - onBusinessChange(businessEnum) - FunctionBuildConfig.ochdebug = true - d(TAG, "denbug模式进入${LoginStatusEnum.Login}") - LoginStatusManager.setLoginStatus(LoginStatusEnum.Login) - val supportFragmentManager: FragmentManager? = activity?.supportFragmentManager - val fragment = getFragment() - d(TAG, "切换 fragment:${fragment}_activity:$activity _ ${containerId}_$this") - LoginStatusManager.resetFragment() - if (supportFragmentManager != null) { - val back = supportFragmentManager.beginTransaction() - back.replace(containerId, fragment, fragment.tag) - back.commitAllowingStateLoss() - } - injectStatusBar() - } - } - private fun injectStatusBar() { activity?.let { val decorView = it.window.decorView as? FrameLayout ?: return diff --git a/OCH/facade/src/main/java/com/mogo/och/facade/view/OchCustomViewProvider.kt b/OCH/facade/src/main/java/com/mogo/och/facade/view/OchCustomViewProvider.kt index 0cee2cdba1..d24714e3f9 100644 --- a/OCH/facade/src/main/java/com/mogo/och/facade/view/OchCustomViewProvider.kt +++ b/OCH/facade/src/main/java/com/mogo/och/facade/view/OchCustomViewProvider.kt @@ -10,7 +10,7 @@ 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.Companion.M_OCHCOMMON import com.mogo.och.common.module.biz.login.ILoginCallback -import com.mogo.och.common.module.biz.login.LoginStatusEnum +import com.mogo.och.common.module.biz.login.EnumLoginStatus import com.mogo.och.common.module.biz.login.LoginStatusManager import com.mogo.och.common.module.biz.provider.CommonService import com.mogo.och.facade.constant.FacadeConst @@ -19,18 +19,17 @@ import com.mogo.och.facade.route.FacadeProvider @Route(path = FacadeConst.OCH_VIEW_PATH) class OchCustomViewProvider : IOchCustomViewProvider, ILoginCallback { - companion object { - const val TAG = M_OCHCOMMON+"OchCustomViewProvider" - } + private val TAG = M_OCHCOMMON+"OchViewProvider" init { + CallerLogger.d(TAG,"初始化_提供View") LoginStatusManager.addListener(TAG,this) } private var commonService: CommonService?=null - override fun onStatusChange(currentStatus: LoginStatusEnum?) { - if(currentStatus!=LoginStatusEnum.Login){ + override fun onLoginStatusChange(currentStatus: EnumLoginStatus?) { + if(currentStatus!=EnumLoginStatus.Login){ commonService = null } } diff --git a/OCH/offline/driver/src/main/java/com/mogo/och/offline/model/OrderModel.kt b/OCH/offline/driver/src/main/java/com/mogo/och/offline/model/OrderModel.kt index 7e58ff4956..bfcec50d95 100644 --- a/OCH/offline/driver/src/main/java/com/mogo/och/offline/model/OrderModel.kt +++ b/OCH/offline/driver/src/main/java/com/mogo/och/offline/model/OrderModel.kt @@ -447,7 +447,6 @@ object OrderModel { LineManager.setLineInfo(null) LineManager.setContraiInfo(null) LineManager.setStartAndEndStation(null,null) - FunctionBuildConfig.isOffLine = false LoginStatusManager.loginOut() } } diff --git a/OCH/offline/driver/src/main/java/com/mogo/och/offline/repository/db/repository/LineDb.kt b/OCH/offline/driver/src/main/java/com/mogo/och/offline/repository/db/repository/LineDb.kt index 10b10611a3..86cd2896a3 100644 --- a/OCH/offline/driver/src/main/java/com/mogo/och/offline/repository/db/repository/LineDb.kt +++ b/OCH/offline/driver/src/main/java/com/mogo/och/offline/repository/db/repository/LineDb.kt @@ -31,7 +31,7 @@ object LineDb: IDbRepository { * 读取可用线路 */ fun queryCanUseLineRx(): Observable?>? { - return lineDao?.loadDataRx(tenantId = LoginStatusManager.getLoginInfo()?.tenantId?:0L, projectName = ProjectUtils.getProjectType().value) + return lineDao?.loadDataRx(tenantId = LoginStatusManager.getOchCarInfo()?.tenantId?:0L, projectName = ProjectUtils.getProjectType().value) } fun checkAndUpdate(serverDatalist:List){ @@ -40,7 +40,7 @@ object LineDb: IDbRepository { override fun run() { // 校验数据个数 lineDao?.let { lineDao-> - val loadData = lineDao.loadData(tenantId = LoginStatusManager.getLoginInfo()?.tenantId?:0L, projectName = ProjectUtils.getProjectType().value) + val loadData = lineDao.loadData(tenantId = LoginStatusManager.getOchCarInfo()?.tenantId?:0L, projectName = ProjectUtils.getProjectType().value) if(loadData.isNullOrEmpty()){ // 插入新的值 lineDao.insert(*serverDatalist.toTypedArray()) diff --git a/OCH/offline/driver/src/main/java/com/mogo/och/offline/repository/net/bean/BindLineListResponse.kt b/OCH/offline/driver/src/main/java/com/mogo/och/offline/repository/net/bean/BindLineListResponse.kt index 9d14fa97d1..3156ddc0cb 100644 --- a/OCH/offline/driver/src/main/java/com/mogo/och/offline/repository/net/bean/BindLineListResponse.kt +++ b/OCH/offline/driver/src/main/java/com/mogo/och/offline/repository/net/bean/BindLineListResponse.kt @@ -36,7 +36,7 @@ data class BindLineListResponse(val data: List?) : BaseData(){ tempLineInfo.lineId = lineInfo.lineId tempLineInfo.lineName = lineInfo.lineName tempLineInfo.endStationName = dataInfo.siteList?.last()?.name?:"" - tempLineInfo.tenantId = LoginStatusManager.getLoginInfo()?.tenantId?:0 + tempLineInfo.tenantId = LoginStatusManager.getOchCarInfo()?.tenantId?:0 tempLineInfo.projectName = ProjectUtils.getProjectType().value lineList.add(tempLineInfo) } diff --git a/OCH/offline/driver/src/main/java/com/mogo/och/offline/ui/fragment/OfflinePresenter.kt b/OCH/offline/driver/src/main/java/com/mogo/och/offline/ui/fragment/OfflinePresenter.kt index b1bc5db7bc..9a11943329 100644 --- a/OCH/offline/driver/src/main/java/com/mogo/och/offline/ui/fragment/OfflinePresenter.kt +++ b/OCH/offline/driver/src/main/java/com/mogo/och/offline/ui/fragment/OfflinePresenter.kt @@ -6,7 +6,7 @@ import com.mogo.commons.mvp.Presenter import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_OFFLINE import com.mogo.och.common.module.biz.login.ILoginCallback -import com.mogo.och.common.module.biz.login.LoginStatusEnum +import com.mogo.och.common.module.biz.login.EnumLoginStatus import com.mogo.och.common.module.biz.login.LoginStatusManager import com.mogo.och.common.module.biz.login.LoginStatusManager.isLogin import com.mogo.och.bridge.autopilot.OCHAdasAbilityManager @@ -43,7 +43,7 @@ class OfflinePresenter(view: OfflineFragment?) : Presenter(vie OrderModel.release() } - override fun onStatusChange(currentStatus: LoginStatusEnum) { + override fun onLoginStatusChange(currentStatus: EnumLoginStatus) { d(TAG, " loginStatus =" + isLogin()) if (!isLogin()) { OffLineTrajectoryManager.stopTrajReqLoop() diff --git a/OCH/offline/driver/src/main/java/com/mogo/och/offline/ui/go2login/GoLoginModel.kt b/OCH/offline/driver/src/main/java/com/mogo/och/offline/ui/go2login/GoLoginModel.kt index fc1722f77b..fe121c0f47 100644 --- a/OCH/offline/driver/src/main/java/com/mogo/och/offline/ui/go2login/GoLoginModel.kt +++ b/OCH/offline/driver/src/main/java/com/mogo/och/offline/ui/go2login/GoLoginModel.kt @@ -78,21 +78,21 @@ class GoLoginModel : ViewModel(), IBusLinesCallback { fun createTimelater(){ d(TAG,"开始检查是否展示登录页面") - if(FunctionBuildConfig.isOffLine){ - // 2分钟内有网络成功过 - if(System.currentTimeMillis()- OchCommonNet.getLastNetSuccessTime()<60*1000){ - if (NetworkUtils.isConnected()) { - BizLoopManager.runInMainThread{ - this.viewCallback?.showView() - } - } - } - } - RxUtils.disposeSubscribe(time60_000) - time60_000 = RxUtils.createSubscribeOnOwnThread(60_000) { - // 检测是否需要展示 - createTimelater() - } +// if(FunctionBuildConfig.isOffLine){ +// // 2分钟内有网络成功过 +// if(System.currentTimeMillis()- OchCommonNet.getLastNetSuccessTime()<60*1000){ +// if (NetworkUtils.isConnected()) { +// BizLoopManager.runInMainThread{ +// this.viewCallback?.showView() +// } +// } +// } +// } +// RxUtils.disposeSubscribe(time60_000) +// time60_000 = RxUtils.createSubscribeOnOwnThread(60_000) { +// // 检测是否需要展示 +// createTimelater() +// } } override fun onRunningTask() { diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/action/TaskUsedAction.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/action/TaskUsedAction.kt index a705d1e6ed..49145e2846 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/action/TaskUsedAction.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/action/TaskUsedAction.kt @@ -21,7 +21,7 @@ class TaskUsedAction() : override fun onMsgReceived(obj: TaskUsedMsg?) { i(tag, "onMsgReceived = $obj") obj?.apply { - if (LoginStatusManager.getLoginInfo()?.businessType==businessType + if (LoginStatusManager.getOchBizInfo()?.businessType==businessType &&RepositoryManager.supportDb()) { LineModel.endTaskByOther(taskId,plateNumber) } diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/bean/request/ShuttleEventRequest.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/bean/request/ShuttleEventRequest.kt index 8de335317b..3a1410c145 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/bean/request/ShuttleEventRequest.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/bean/request/ShuttleEventRequest.kt @@ -18,7 +18,7 @@ data class ShuttleEventRequest(val requestId: String, val sn: String,val vin:Str waitUpdateEvent: List?, waitUpdateWriteOffEvent: List? ): ShuttleEventRequest { - val businessTypeShuttle = LoginStatusManager.getLoginInfo()?.businessType?:11 + val businessTypeShuttle = LoginStatusManager.getOchBizInfo()?.businessType?:11 val eventList4Request = mutableListOf() var tempEvent: Event?=null waitUpdateEvent?.forEach { diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/LineModel.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/LineModel.kt index 44933b0a36..c608e14617 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/LineModel.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/LineModel.kt @@ -470,7 +470,7 @@ object LineModel { } fun endTaskByOther(taskId: Long,plateNumber:String) { - if(LoginStatusManager.getLoginInfo()?.plateNumber==plateNumber){ + if(LoginStatusManager.getOchCarInfo()?.plateNumber==plateNumber){ d(TAG,"当前车辆消耗任务") return } diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/repository/EventDb.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/repository/EventDb.kt index 80dbb67b1f..1325272b82 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/repository/EventDb.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/repository/EventDb.kt @@ -41,7 +41,7 @@ object EventDb: IDbRepository { event.taskStartTime = taskStartTime event.businessTime = DateTimeUtil.getCurrentTimeStamp() event.writeVersion = DateTimeUtil.getCurrentTimeStamp() - event.driverId = LoginStatusManager.getLoginInfo()?.driverId?:-1 + event.driverId = LoginStatusManager.getOchLoginInfo()?.driverId?:-1 event.siteId = 0L event.seq = 0 event.msgId = "${OchSPManager.getSn()}_${DateTimeUtil.getCurrentTimeStamp()}" @@ -72,7 +72,7 @@ object EventDb: IDbRepository { event.businessTime = DateTimeUtil.getCurrentTimeStamp() event.writeVersion = DateTimeUtil.getCurrentTimeStamp() event.siteId = siteId - event.driverId = LoginStatusManager.getLoginInfo()?.driverId?:-1 + event.driverId = LoginStatusManager.getOchLoginInfo()?.driverId?:-1 event.seq = seq event.msgId = "${OchSPManager.getSn()}_${DateTimeUtil.getCurrentTimeStamp()}" BizLoopManager.runInIoThread { @@ -101,7 +101,7 @@ object EventDb: IDbRepository { event.lineName = lineName event.businessTime = DateTimeUtil.getCurrentTimeStamp() event.writeVersion = DateTimeUtil.getCurrentTimeStamp() - event.driverId = LoginStatusManager.getLoginInfo()?.driverId?:-1L + event.driverId = LoginStatusManager.getOchLoginInfo()?.driverId?:-1L event.siteId = siteId event.seq = seq event.msgId = "${OchSPManager.getSn()}_${DateTimeUtil.getCurrentTimeStamp()}" @@ -129,7 +129,7 @@ object EventDb: IDbRepository { event.taskStartTime = taskStartTime event.businessTime = DateTimeUtil.getCurrentTimeStamp() event.writeVersion = DateTimeUtil.getCurrentTimeStamp() - event.driverId = LoginStatusManager.getLoginInfo()?.driverId?:-1L + event.driverId = LoginStatusManager.getOchLoginInfo()?.driverId?:-1L event.siteId = 0L event.seq = 0 event.msgId = "${OchSPManager.getSn()}_${DateTimeUtil.getCurrentTimeStamp()}" diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/line/impl/WeaknetRepository.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/line/impl/WeaknetRepository.kt index 512aeeeb18..dad5723173 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/line/impl/WeaknetRepository.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/line/impl/WeaknetRepository.kt @@ -174,7 +174,7 @@ class WeaknetRepository : ILineRepository { // 2、check 数据库数据 // 3、数据库没有数据 做延迟等待同步接口同步基础数据 ?? 等待基础数据同步完在进行 // 4、恢复本地正在运行的数据 - val loginInfo = LoginStatusManager.getLoginInfo() + val loginInfo = LoginStatusManager.getOchBizInfo() return Observable.just(loginInfo).flatMap { // check数据 是否正在之心 val taskId = if(AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)|| diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/writeoff/impl/WriteOffCacheRepository.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/writeoff/impl/WriteOffCacheRepository.kt index 5956ebdb79..747f021a16 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/writeoff/impl/WriteOffCacheRepository.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/writeoff/impl/WriteOffCacheRepository.kt @@ -107,7 +107,7 @@ class WriteOffCacheRepository : IWriteOffRepository { // 1、校验租户id it.tenantId?.let { tenantId-> - if(LoginStatusManager.getLoginInfo()?.tenantId==tenantId){ + if(LoginStatusManager.getOchCarInfo()?.tenantId==tenantId){ }else{ throw DataException(1012,"当前用户下单路线非当前的车辆所属公司") @@ -124,7 +124,7 @@ class WriteOffCacheRepository : IWriteOffRepository { } } // 3、校验 bus和shuttle - if (LoginStatusManager.getBusInessType()!=Product.valueOf(it.typeBiz)) { + if (LoginStatusManager.getProductType()!=Product.valueOf(it.typeBiz)) { throw DataException(1005,"车辆未登录、或没有任务") } // 4 二维码1分钟失效 @@ -201,7 +201,7 @@ class WriteOffCacheRepository : IWriteOffRepository { addWrite.ticketSize = it.ticketSize addWrite.ticketName = it.ticketName addWrite.msgId = OchSPManager.getSn()+System.currentTimeMillis() - addWrite.driverId = LoginStatusManager.getLoginInfo()?.driverId?:0 + addWrite.driverId = LoginStatusManager.getOchLoginInfo()?.driverId?:0 addWrite.businessTime = System.currentTimeMillis() WriteOffDb.addOrUpdate(addWrite) val reslut = PassengerWriteOffResponse.Result(it.phone,it.ticketSize,it.ticketName,it.availableTimes?.toLong(),addWrite.businessTime) @@ -259,7 +259,7 @@ class WriteOffCacheRepository : IWriteOffRepository { addWrite.ticketSize = passenger.passengerSize addWrite.ticketName = passenger.ticketName //addWrite.msgId = OchSPManager.getSn()+System.currentTimeMillis() - addWrite.driverId = LoginStatusManager.getLoginInfo()?.driverId?:0 + addWrite.driverId = LoginStatusManager.getOchLoginInfo()?.driverId?:0 //addWrite.businessTime = System.currentTimeMillis() addWrite.updateStatus = WriteOffDataBean.updated WriteOffDb.addOrUpdate(addWrite) diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/fragment/BusPresenter.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/fragment/BusPresenter.kt index 03c2f0e057..8d8c2de500 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/fragment/BusPresenter.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/fragment/BusPresenter.kt @@ -4,10 +4,9 @@ import androidx.lifecycle.LifecycleOwner import com.mogo.commons.AbsMogoApplication import com.mogo.commons.mvp.Presenter import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d -import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_BUS import com.mogo.och.common.module.biz.login.ILoginCallback -import com.mogo.och.common.module.biz.login.LoginStatusEnum +import com.mogo.och.common.module.biz.login.EnumLoginStatus import com.mogo.och.common.module.biz.login.LoginStatusManager import com.mogo.och.common.module.biz.login.LoginStatusManager.isLogin import com.mogo.och.bridge.autopilot.OCHAdasAbilityManager @@ -44,7 +43,7 @@ class BusPresenter(view: ShuttleFragment?) : Presenter(view), OrderModel.release() } - override fun onStatusChange(currentStatus: LoginStatusEnum) { + override fun onLoginStatusChange(currentStatus: EnumLoginStatus) { d(TAG, " loginStatus =" + isLogin()) if (!isLogin()) { BusTrajectoryManager.stopTrajReqLoop() diff --git a/OCH/shuttle/passenger_weaknet/src/main/java/m2/com/mogo/och/shuttle/weaknet/passenger/ui/PM2DrivingInfoFragment.kt b/OCH/shuttle/passenger_weaknet/src/main/java/m2/com/mogo/och/shuttle/weaknet/passenger/ui/PM2DrivingInfoFragment.kt index 82911ed8aa..fd866061b2 100644 --- a/OCH/shuttle/passenger_weaknet/src/main/java/m2/com/mogo/och/shuttle/weaknet/passenger/ui/PM2DrivingInfoFragment.kt +++ b/OCH/shuttle/passenger_weaknet/src/main/java/m2/com/mogo/och/shuttle/weaknet/passenger/ui/PM2DrivingInfoFragment.kt @@ -13,7 +13,6 @@ import com.mogo.eagle.core.function.view.SiteMarkerBean import com.mogo.eagle.core.widget.media.video.TextureVideoViewOutlineProvider import com.mogo.och.shuttle.weaknet.passenger.R import com.mogo.och.shuttle.weaknet.passenger.presenter.PM2DrivingPresenter -import com.mogo.och.common.module.utils.DateTimeUtil.* import com.mogo.och.common.module.utils.NumberFormatUtil import com.mogo.och.common.module.utils.ResourcesUtils import com.mogo.och.data.bean.BusStationBean diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/base/TaxiFragment.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/base/TaxiFragment.kt index 85b5243ff4..104f9bbab6 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/base/TaxiFragment.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/base/TaxiFragment.kt @@ -18,7 +18,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.map.listener.IMogoMapListener import com.mogo.map.uicontroller.VisualAngleMode -import com.mogo.och.common.module.biz.login.OpenOrderStatusEnum +import com.mogo.och.common.module.biz.login.EnumOpenOrderStatus import com.mogo.och.data.taxi.TaxiOrderStatusEnum import com.mogo.och.common.module.utils.FlowBus import com.mogo.och.common.module.wigets.StartAutopilotAnimationView @@ -307,14 +307,14 @@ class TaxiFragment :MvpFragment(), * @param inOperation true 可以接单 false 暂停接单 * @param role 测试车辆:测试 演示车辆:V 运营车辆: ""空 */ - fun updateOperationStatus(inOperation: OpenOrderStatusEnum) { + fun updateOperationStatus(inOperation: Boolean) { e( SceneConstant.M_TAXI + TAG, "onOperationChanged:$inOperation" ) updateOperationBtnStatusOnModeChange(MogoStatusManager.getInstance().isTaxiUnmanedDriverLineRoutingVerifyMode) MogoStatusManager.getInstance() - .setTaxiUnmanedDriverTakingOrders(TAG, inOperation == OpenOrderStatusEnum.Ordering) + .setTaxiUnmanedDriverTakingOrders(TAG, inOperation) } fun onNaviToEnd(isAmap: Boolean, isShow: Boolean) { if (isAmap) { diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/base/TaxiPresenter.java b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/base/TaxiPresenter.java index 298505d0a6..af16444d12 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/base/TaxiPresenter.java +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/base/TaxiPresenter.java @@ -11,9 +11,9 @@ import com.mogo.commons.mvp.Presenter; import com.mogo.eagle.core.utilcode.util.UiThreadHandler; import com.mogo.och.bridge.autopilot.OCHAdasAbilityManager; import com.mogo.och.common.module.biz.login.ILoginCallback; -import com.mogo.och.common.module.biz.login.LoginStatusEnum; +import com.mogo.och.common.module.biz.login.EnumLoginStatus; import com.mogo.och.common.module.biz.login.LoginStatusManager; -import com.mogo.och.common.module.biz.login.OpenOrderStatusEnum; +import com.mogo.och.common.module.biz.login.EnumOpenOrderStatus; import com.mogo.och.unmanned.taxi.utils.order.OrderListener; import com.mogo.och.unmanned.taxi.utils.order.OrderModel; import com.mogo.och.data.taxi.TaxiOrderStatusEnum; @@ -164,12 +164,12 @@ public class TaxiPresenter extends Presenter implements ITaxiADASS } @Override - public void onStatusChange(LoginStatusEnum currentStatus) { + public void onLoginStatusChange(EnumLoginStatus currentStatus) { UiThreadHandler.post(new Runnable() { @Override public void run() { if(mView!=null) { - mView.updateOperationStatus(LoginStatusManager.getOpenOrderType()); + mView.updateOperationStatus(LoginStatusManager.isOpenOrderType()); } } }, UiThreadHandler.MODE.QUEUE); @@ -179,12 +179,12 @@ public class TaxiPresenter extends Presenter implements ITaxiADASS } @Override - public void onOpenOrderStatusEnumChange(OpenOrderStatusEnum businessEnum) { + public void onOpenOrderStatusEnumChange(EnumOpenOrderStatus businessEnum) { UiThreadHandler.post(new Runnable() { @Override public void run() { if(mView!=null) { - mView.updateOperationStatus(LoginStatusManager.getOpenOrderType()); + mView.updateOperationStatus(LoginStatusManager.isOpenOrderType()); } } }, UiThreadHandler.MODE.QUEUE); diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/itinerarycurrent/ItineraryCurrentModel.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/itinerarycurrent/ItineraryCurrentModel.kt index 4843446d59..4189525244 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/itinerarycurrent/ItineraryCurrentModel.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/itinerarycurrent/ItineraryCurrentModel.kt @@ -19,7 +19,7 @@ import com.mogo.och.data.taxi.TaxiOrderStatusEnum import com.mogo.och.bridge.autopilot.line.LineManager import com.mogo.och.bridge.autopilot.location.OchLocationManager import com.mogo.och.common.module.biz.birdge.BridgeManager -import com.mogo.och.common.module.biz.login.OpenOrderStatusEnum +import com.mogo.och.common.module.biz.login.EnumOpenOrderStatus import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager import com.mogo.och.common.module.network.OchCommonServiceCallback import com.mogo.och.common.module.utils.ToastUtilsOch @@ -514,14 +514,14 @@ class ItineraryCurrentModel : BaseViewModel(), fun cancleTask() { DebugView.printInfoMsg("[车辆复位] 准备发送请求") - val openOrderType = LoginStatusManager.getOpenOrderType() + val openOrderType = LoginStatusManager.isOpenOrderType() TaxiTaskWithOrderServiceManager.resetInit( AbsMogoApplication.getApp().applicationContext, object : OchCommonServiceCallback { override fun onSuccess(data: BaseData?) { DebugView.printInfoMsg("[车辆复位] 请求success") LoginStatusManager.queryLoginStatusByNet() - if(openOrderType== OpenOrderStatusEnum.Ordering) { + if(openOrderType) { VoiceNotice.showNotice("暂停接单啦!"); } TaxiTaskModel.cancelAutopilot() diff --git a/app/build.gradle b/app/build.gradle index 5603bbbcb4..7fd93e04ef 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -140,7 +140,7 @@ android { // 项目 business // 业务线 product // 车型 vehicle - flavorDimensions "project","vehicle" ,"role", "env" + flavorDimensions "project","role", "env" productFlavors { } @@ -150,15 +150,7 @@ android { apply from: "./script/roleFlavors/passenger.gradle" apply from: "./script/roleFlavors/driverpassenger.gradle" - // 配置不同渠道参数,直接影响功能完整度 - apply from: "./script/vehicleFlavors/B1.gradle" - apply from: "./script/vehicleFlavors/B2.gradle" - apply from: "./script/vehicleFlavors/T1T2.gradle" - apply from: "./script/vehicleFlavors/ALL.gradle" - apply from: "./script/vehicleFlavors/C1.gradle" - //包车 - apply from: "./script/vehicleFlavors/M1.gradle" - apply from: "./script/flavorfilter/flavorsFilterConfig.gradle" +// apply from: "./script/flavorfilter/flavorsFilterConfig.gradle" packagingOptions { exclude 'META-INF/io.netty.versions.properties' diff --git a/app/config/productWithVehicle.json b/app/config/productWithVehicle.json deleted file mode 100644 index 156ca0d5cb..0000000000 --- a/app/config/productWithVehicle.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "mogo": { - "B1":["shuttle","bus"], - "B2":["shuttle","bus"], - "T1T2":["taxi"], - "ALL":["charter","shuttle","bus","taxi"] - }, - "dali": { - "B1":["shuttle"], - "B2":["shuttle"], - "M1":["charter"] - }, - "yantai": { - "B1":["shuttle"], - "B2":["shuttle"], - "M1":["charter"] - }, - "saas": { - "T1T2":["taxi"], - "B1":["shuttle","bus","scheduled"], - "B2":["shuttle","bus","scheduled"], - "M1":["charter","shuttle"], - "ALL":["charter","shuttle","bus","taxi","scheduled"] - } -} diff --git a/app/script/projectFlavors/project.gradle b/app/script/projectFlavors/project.gradle index 6739f8e53d..1d34b44408 100644 --- a/app/script/projectFlavors/project.gradle +++ b/app/script/projectFlavors/project.gradle @@ -9,7 +9,6 @@ project.android.productFlavors { buildConfigField 'String', 'URLs', "\"${readFileToJson("mogo").replace("\"", "\\\"")}\"" buildConfigField 'String', 'mediaUrlConfig', "\"${readMediaUrlConfigFromJsonFile("mogo").replace("\"", "\\\"")}\"" buildConfigField 'String', 'musicUrlConfig', "\"${readMusicUrlConfigFromJsonFile("mogo").replace("\"", "\\\"")}\"" - buildConfigField 'String', 'supportBusiness', "\"${readProductWithVehicleConfigFromJsonFile("mogo").replace("\"", "\\\"")}\"" } yantai { dimension "project" @@ -18,7 +17,6 @@ project.android.productFlavors { buildConfigField 'String', 'URLs', "\"${readFileToJson("yantai").replace("\"", "\\\"")}\"" buildConfigField 'String', 'mediaUrlConfig', "\"${readMediaUrlConfigFromJsonFile("yantai").replace("\"", "\\\"")}\"" buildConfigField 'String', 'musicUrlConfig', "\"${readMusicUrlConfigFromJsonFile("yantai").replace("\"", "\\\"")}\"" - buildConfigField 'String', 'supportBusiness', "\"${readProductWithVehicleConfigFromJsonFile("yantai").replace("\"", "\\\"")}\"" } dali { @@ -28,7 +26,6 @@ project.android.productFlavors { buildConfigField 'String', 'URLs', "\"${readFileToJson("dali").replace("\"", "\\\"")}\"" buildConfigField 'String', 'mediaUrlConfig', "\"${readMediaUrlConfigFromJsonFile("dali").replace("\"", "\\\"")}\"" buildConfigField 'String', 'musicUrlConfig', "\"${readMusicUrlConfigFromJsonFile("dali").replace("\"", "\\\"")}\"" - buildConfigField 'String', 'supportBusiness', "\"${readProductWithVehicleConfigFromJsonFile("dali").replace("\"", "\\\"")}\"" } saas { dimension "project" @@ -37,7 +34,6 @@ project.android.productFlavors { buildConfigField 'String', 'URLs', "\"${readFileToJson("saas").replace("\"", "\\\"")}\"" buildConfigField 'String', 'mediaUrlConfig', "\"${readMediaUrlConfigFromJsonFile("saas").replace("\"", "\\\"")}\"" buildConfigField 'String', 'musicUrlConfig', "\"${readMusicUrlConfigFromJsonFile("saas").replace("\"", "\\\"")}\"" - buildConfigField 'String', 'supportBusiness', "\"${readProductWithVehicleConfigFromJsonFile("saas").replace("\"", "\\\"")}\"" } // 配置网络环境,QA、线上、演示 diff --git a/app/script/roleFlavors/driver.gradle b/app/script/roleFlavors/driver.gradle index 5ae2d77a2d..8c73ff9abb 100644 --- a/app/script/roleFlavors/driver.gradle +++ b/app/script/roleFlavors/driver.gradle @@ -8,10 +8,6 @@ project.android.productFlavors { } } - manifestPlaceholders = [ - CHANNEL_VALUE_BODY : "Driver", - ] - // ①标识 buildConfigField 'String', 'APP_IDENTITY_MODE_BODY', "\"Driver\"" diff --git a/app/script/roleFlavors/driverpassenger.gradle b/app/script/roleFlavors/driverpassenger.gradle index 6498a96254..677db4c3a2 100644 --- a/app/script/roleFlavors/driverpassenger.gradle +++ b/app/script/roleFlavors/driverpassenger.gradle @@ -9,10 +9,6 @@ project.android.productFlavors { } } - manifestPlaceholders = [ - CHANNEL_VALUE_BODY : "Passenger", - ] - // ①标识 buildConfigField 'String', 'APP_IDENTITY_MODE_BODY', "\"Passenger\"" diff --git a/app/script/roleFlavors/passenger.gradle b/app/script/roleFlavors/passenger.gradle index 5dc3c3c98b..a3bfb0376a 100644 --- a/app/script/roleFlavors/passenger.gradle +++ b/app/script/roleFlavors/passenger.gradle @@ -8,10 +8,6 @@ project.android.productFlavors { } } - manifestPlaceholders = [ - CHANNEL_VALUE_BODY : "Passenger", - ] - // ①标识 buildConfigField 'String', 'APP_IDENTITY_MODE_BODY', "\"Passenger\"" diff --git a/app/script/utils.gradle b/app/script/utils.gradle index 5769fbdc43..f0a63109f9 100644 --- a/app/script/utils.gradle +++ b/app/script/utils.gradle @@ -30,38 +30,6 @@ Object readMediaUrlConfigFromJsonFile(env){ return null } -/** - * 读取各车型宣传视频本地配置 - * @param env - * @return - */ -Object readProductWithVehicleConfigFromJsonFile(env){ - try { - // 加载config.json 文件 - File file = new File("${rootDir}/app/config/productWithVehicle.json") - def jsonSlurper = new JsonSlurper() - // 解析json - def config = jsonSlurper.parse(file) - def flavorNames = variantVehicleName() - def jsonOutput = new JsonOutput() - def getKey = flavorNames - config.get(env).each {key, value -> - // 匹配flavor对应的 json - println "${env}____ 对比${flavorNames.toLowerCase()}---------${key}---${value}" - if(flavorNames.toLowerCase().contains("${env}${key.toLowerCase()}")){ - getKey = key - println "对比结果${flavorNames.toLowerCase()}---------${key}" - return true - } - } - - return jsonOutput.toJson(config.get(env).get(getKey)) - } catch (IOException e) { - e.printStackTrace() - } - return null -} - /** @@ -139,5 +107,4 @@ ext { isBaiLing = this.&isBaiLing readMediaUrlConfigFromJsonFile = this.&readMediaUrlConfigFromJsonFile readMusicUrlConfigFromJsonFile = this.&readMusicUrlConfigFromJsonFile - readProductWithVehicleConfigFromJsonFile = this.&readProductWithVehicleConfigFromJsonFile } \ No newline at end of file diff --git a/app/script/vehicleFlavors/ALL.gradle b/app/script/vehicleFlavors/ALL.gradle index 627a5f12f3..2781e92856 100644 --- a/app/script/vehicleFlavors/ALL.gradle +++ b/app/script/vehicleFlavors/ALL.gradle @@ -4,24 +4,6 @@ project.android.productFlavors { dimension "vehicle" missingDimensionStrategy "vehicle","dfhq","jinlvvan" - - // 配置AndroidManifest.xml中用到的参数 - manifestPlaceholders = [ - CHANNEL_VALUE_TAIL: "ALL", - ] - - - // ①标识构建的应用身份类型,具体查看 README.md APP_IDENTITY_MODE规则 - buildConfigField 'String', 'APP_IDENTITY_MODE_TAIL', "\"ALL\"" - - // ②构建的是否要动态更换模型 - buildConfigField 'boolean', 'IS_CAR_MODEL_CHANGE', 'true' - - // ③能启动自驾的档位 MAP<360代码中会移除P档 - buildConfigField 'java.util.Set', 'LAUNCH_AUTOPILOT_GEAR', 'new java.util.HashSet(){{add(chassis.Chassis.GearPosition.GEAR_D);add(chassis.Chassis.GearPosition.GEAR_N);add(chassis.Chassis.GearPosition.GEAR_P);}}' - - // ④是否支持多屏显示 - buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'false' } } \ No newline at end of file diff --git a/app/script/vehicleFlavors/B1.gradle b/app/script/vehicleFlavors/B1.gradle index e1d9705357..82959214ba 100644 --- a/app/script/vehicleFlavors/B1.gradle +++ b/app/script/vehicleFlavors/B1.gradle @@ -5,21 +5,5 @@ project.android.productFlavors { matchingFallbacks = ['jinlvvan'] missingDimensionStrategy "vehicle", "jinlvvan" - // 配置AndroidManifest.xml中用到的参数 - manifestPlaceholders = [ - CHANNEL_VALUE_TAIL : "B1", - ] - - // ①标识构建的应用身份类型,具体查看 README.md APP_IDENTITY_MODE规则 - buildConfigField 'String', 'APP_IDENTITY_MODE_TAIL', "\"B1\"" - - // ②构建的是否要动态更换模型 - buildConfigField 'boolean', 'IS_CAR_MODEL_CHANGE', 'true' - - // ③能启动自驾的档位 - buildConfigField 'java.util.Set', 'LAUNCH_AUTOPILOT_GEAR', 'new java.util.HashSet(){{add(chassis.Chassis.GearPosition.GEAR_D);}}' - - // ④是否支持多屏显示 - buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'false' } } \ No newline at end of file diff --git a/app/script/vehicleFlavors/B2.gradle b/app/script/vehicleFlavors/B2.gradle index 86b5ab9c8f..7dd6aa658d 100644 --- a/app/script/vehicleFlavors/B2.gradle +++ b/app/script/vehicleFlavors/B2.gradle @@ -12,21 +12,6 @@ project.android.productFlavors { matchingFallbacks = ['jinlvvan'] missingDimensionStrategy "vehicle", "m21", "jinlvvan" } - //高德地图鉴权信息 - manifestPlaceholders = [ - CHANNEL_VALUE_TAIL: "B2", - ] - // ①标识构建的应用身份类型,具体查看 README.md APP_IDENTITY_MODE规则 - buildConfigField 'String', 'APP_IDENTITY_MODE_TAIL', "\"B2\"" - - // ②构建的是否要动态更换模型 - buildConfigField 'boolean', 'IS_CAR_MODEL_CHANGE', 'false' - - // ③M2能启动自驾的档位 - buildConfigField 'java.util.Set', 'LAUNCH_AUTOPILOT_GEAR', 'new java.util.HashSet(){{add(chassis.Chassis.GearPosition.GEAR_D);}}' - - // ④是否支持多屏显示 - buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'false' } } \ No newline at end of file diff --git a/app/script/vehicleFlavors/C1.gradle b/app/script/vehicleFlavors/C1.gradle index 121618105e..ff726f5cba 100644 --- a/app/script/vehicleFlavors/C1.gradle +++ b/app/script/vehicleFlavors/C1.gradle @@ -5,26 +5,11 @@ project.android.productFlavors { missingDimensionStrategy "vehicle","ft","jinlvvan" - // 配置AndroidManifest.xml中用到的参数 - manifestPlaceholders = [ - CHANNEL_VALUE_TAIL: "C1", - ] - - // ①标识构建的应用身份类型,具体查看 README.md APP_IDENTITY_MODE规则 - buildConfigField 'String', 'APP_IDENTITY_MODE_TAIL', "\"C1\"" - - // ②构建的是否要动态更换模型 - buildConfigField 'boolean', 'IS_CAR_MODEL_CHANGE', 'true' - - // ③能启动自驾的档位 - buildConfigField 'java.util.Set', 'LAUNCH_AUTOPILOT_GEAR', 'null' // ⑤清扫车 默认模式(运营/云控) buildConfigField 'String', 'SWEEPER_DEFAULT_MODE', '\"Cloud\"' // ⑥清扫车 是否能切换模式 buildConfigField 'boolean', 'SWEEPER_CAN_SWITCH_MODE', 'true' - // ④是否支持多屏显示 - buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'false' } } \ No newline at end of file diff --git a/app/script/vehicleFlavors/M1.gradle b/app/script/vehicleFlavors/M1.gradle index 9a3a593967..bd7cb2a099 100644 --- a/app/script/vehicleFlavors/M1.gradle +++ b/app/script/vehicleFlavors/M1.gradle @@ -3,21 +3,5 @@ project.android.productFlavors { M1 { dimension "vehicle" missingDimensionStrategy "vehicle", "jinlvvan" - - // 配置AndroidManifest.xml中用到的参数 - manifestPlaceholders = [ - CHANNEL_VALUE_TAIL: "M1", - ] - - // ①标识构建的应用身份类型,具体查看 README.md APP_IDENTITY_MODE规则 - buildConfigField 'String', 'APP_IDENTITY_MODE_TAIL', "\"M1\"" - // ②M1能启动自驾的档位 - buildConfigField 'java.util.Set', 'LAUNCH_AUTOPILOT_GEAR', 'new java.util.HashSet(){{add(chassis.Chassis.GearPosition.GEAR_D);}}' - // ③不能启动自驾的档位 - buildConfigField 'boolean', 'IS_CAR_MODEL_CHANGE', 'false' - - // ④是否支持多屏显示 - buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'false' - } } \ No newline at end of file diff --git a/app/script/vehicleFlavors/T1T2.gradle b/app/script/vehicleFlavors/T1T2.gradle index 0f06f2e528..469c7963da 100644 --- a/app/script/vehicleFlavors/T1T2.gradle +++ b/app/script/vehicleFlavors/T1T2.gradle @@ -4,24 +4,9 @@ project.android.productFlavors { dimension "vehicle" missingDimensionStrategy "vehicle","dfhq","jinlvvan" - - // 配置AndroidManifest.xml中用到的参数 - manifestPlaceholders = [ - CHANNEL_VALUE_TAIL: "T1T2", - ] - - // ①标识构建的应用身份类型,具体查看 README.md APP_IDENTITY_MODE规则 buildConfigField 'String', 'APP_IDENTITY_MODE_TAIL', "\"T1T2\"" - // ②构建的是否要动态更换模型 - buildConfigField 'boolean', 'IS_CAR_MODEL_CHANGE', 'true' - - // ③能启动自驾的档位 MAP<360代码中会移除P档 - buildConfigField 'java.util.Set', 'LAUNCH_AUTOPILOT_GEAR', 'new java.util.HashSet(){{add(chassis.Chassis.GearPosition.GEAR_D);add(chassis.Chassis.GearPosition.GEAR_N);add(chassis.Chassis.GearPosition.GEAR_P);}}' - - // ④是否支持多屏显示 - buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'false' } } \ No newline at end of file diff --git a/app/src/main/java/com/mogo/launcher/startup/ConfigStartUp.kt b/app/src/main/java/com/mogo/launcher/startup/ConfigStartUp.kt index f11c5734b8..36c413fe1c 100644 --- a/app/src/main/java/com/mogo/launcher/startup/ConfigStartUp.kt +++ b/app/src/main/java/com/mogo/launcher/startup/ConfigStartUp.kt @@ -51,10 +51,6 @@ object ConfigStartUp { // 演示模式,上一次勾选的数据 FunctionBuildConfig.isDemoMode = BuildConfig.IS_DEMO_MODE FunctionBuildConfig.ttsLanguage = BuildConfig.ttsLanguage - // 支持的业务类型 - if(!StringUtils.isEmpty(BuildConfig.supportBusiness)&&BuildConfig.supportBusiness!="null"){ - FunctionBuildConfig.supportBusiness = GsonUtils.fromJson(BuildConfig.supportBusiness, object : TypeToken>() {}.type) - } // 各个module需要的url FunctionBuildConfig.urlJson = GsonUtils.fromJson(BuildConfig.URLs, UrlConfig::class.java) @@ -68,15 +64,7 @@ object ConfigStartUp { // app安装的身份信息 // 这里影响当前Activity的身份信息,多进程,主进程为司机端,:passenger 进程为乘客端 // TODO emArrow isMultiDisplay暂时不启用,仅测试3588,在B2 2024车预研 - if (DebugConfig.isMultiDisplay()) { - if(ProcessUtils.getCurrentProcessName().contains("passenger")){ - FunctionBuildConfig.appIdentityMode = "Product_Passenger_${BuildConfig.APP_IDENTITY_MODE_TAIL}" - }else{ - FunctionBuildConfig.appIdentityMode = "Product_Driver_${BuildConfig.APP_IDENTITY_MODE_TAIL}" - } - }else{ - FunctionBuildConfig.appIdentityMode = "Product_${BuildConfig.APP_IDENTITY_MODE_BODY}_${BuildConfig.APP_IDENTITY_MODE_TAIL}" - } + FunctionBuildConfig.appIdentityMode = "Product_${BuildConfig.APP_IDENTITY_MODE_BODY}_Vehicle" // 不同身份对应不同的IP地址 FunctionBuildConfig.adasConnectIP = BuildConfig.ADAS_CONNECT_IP // 是否开启secure校验 @@ -102,11 +90,10 @@ object ConfigStartUp { DebugConfig.setCarMachineType(BuildConfig.CAR_MACHINE_TYPE) // todo DebugConfig.setProductFlavor(BuildConfig.FLAVOR_product) DebugConfig.setProjectFlavor(BuildConfig.FLAVOR_project) + DebugConfig.setEnvFlavor(BuildConfig.FLAVOR_env) DebugConfig.setSocketAppId(BuildConfig.SOCKET_APP_ID) DebugConfig.setMapVersion(BuildConfig.MAP_SDK_VERSION) DebugConfig.setMapOptVersion(BuildConfig.MAP_SDK_OPT_VERSION) - DebugConfig.setMultiDisplay(BuildConfig.IS_MULTI_DISPLAY) - DebugConfig.setCarModelChange(BuildConfig.IS_CAR_MODEL_CHANGE) } private fun initOtherConfig(context: Context) { diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/binding/BindingCarNetWorkManager.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/binding/BindingCarNetWorkManager.kt index 0a6de8dc1d..9e5d3784a5 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/binding/BindingCarNetWorkManager.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/binding/BindingCarNetWorkManager.kt @@ -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, diff --git a/core/function-impl/mogo-core-function-hmi/src/main/AndroidManifest.xml b/core/function-impl/mogo-core-function-hmi/src/main/AndroidManifest.xml index f3f3138647..005c63a38c 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/AndroidManifest.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/AndroidManifest.xml @@ -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"> diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt index ed527f57e5..843b61846f 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt @@ -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()}" diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainLauncherActivity.java b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainLauncherActivity.java index a2d67be768..97aa5eb3a3 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainLauncherActivity.java +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainLauncherActivity.java @@ -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()); diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainMoGoApplication.java b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainMoGoApplication.java index 3f574ac7ef..4fa08617f8 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainMoGoApplication.java +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainMoGoApplication.java @@ -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; diff --git a/core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/MogoStartUpProvider.kt b/core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/MogoStartUpProvider.kt index 3dbacbe47c..3b1c44302e 100644 --- a/core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/MogoStartUpProvider.kt +++ b/core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/MogoStartUpProvider.kt @@ -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()) diff --git a/core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/stageone/CarBizInfoStartup.kt b/core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/stageone/CarBizInfoStartup.kt new file mode 100644 index 0000000000..997bb9436e --- /dev/null +++ b/core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/stageone/CarBizInfoStartup.kt @@ -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() { + + 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>() {}.type + val hashMap:HashMap = 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 { + return emptyList() + } +} \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/stagetwo/ScreenStartUp.kt b/core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/stagetwo/ScreenStartUp.kt new file mode 100644 index 0000000000..f72d455f48 --- /dev/null +++ b/core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/stagetwo/ScreenStartUp.kt @@ -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() { + + 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? { + return emptyList() + } +} \ No newline at end of file diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/FunctionBuildConfig.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/FunctionBuildConfig.kt index 9e1318335a..716d84c249 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/FunctionBuildConfig.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/FunctionBuildConfig.kt @@ -146,12 +146,6 @@ object FunctionBuildConfig { @JvmField var ttsLanguage = 1 - - @Volatile - @JvmField - var supportBusiness = mutableListOf() - - /** * 各车型宣传视频本地配置 * 广告json diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/och/IEagleBaseFunctionCall4Och.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/och/IEagleBaseFunctionCall4Och.kt index 0b2960dfac..de4bade35c 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/och/IEagleBaseFunctionCall4Och.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/och/IEagleBaseFunctionCall4Och.kt @@ -115,4 +115,7 @@ interface IEagleBaseFunctionCall4Och { */ fun setOchAutopilotOrderId(orderId:String){} + fun onOchProductChange(){} + + fun onOchVehicleChange(){} } \ No newline at end of file diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/och/IOchCustomViewProvider.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/och/IOchCustomViewProvider.kt index 1d2e9c3332..98045305e9 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/och/IOchCustomViewProvider.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/och/IOchCustomViewProvider.kt @@ -11,11 +11,6 @@ import com.alibaba.android.arouter.facade.template.IProvider */ interface IOchCustomViewProvider : IProvider { - /** - * Interface Tag - */ - val TAG: String - get() = "IOchCustomViewProvider" /** * 创建 Och业务层 自定义View diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/och/CallerEagleBaseFunctionCall4OchManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/och/CallerEagleBaseFunctionCall4OchManager.kt index 104bbc8e86..b251ac2c5c 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/och/CallerEagleBaseFunctionCall4OchManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/och/CallerEagleBaseFunctionCall4OchManager.kt @@ -130,4 +130,12 @@ object CallerEagleBaseFunctionCall4OchManager : IEagleBaseFunctionCall4Och { override fun onOrderRemoval() { CallerDataCenterBizManager.notifyOrderRemoval() } + + override fun onOchProductChange() { + + } + + override fun onOchVehicleChange() { + + } } \ No newline at end of file diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/och/CallerOchCustomViewManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/och/CallerOchCustomViewManager.kt index 8541e7d216..2f1f0ed3a3 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/och/CallerOchCustomViewManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/och/CallerOchCustomViewManager.kt @@ -19,7 +19,7 @@ object CallerOchCustomViewManager { .navigation() as? IOchCustomViewProvider fun init(context: Context) { - ochCustomViewProviderApi?.init(context) + } /** 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 774b3167dd..73830199ca 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 @@ -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 + } + } + } } } diff --git a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/mogo/logger/scene/SceneConstant.kt b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/mogo/logger/scene/SceneConstant.kt index 8b1f59e3d4..f54c770f45 100644 --- a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/mogo/logger/scene/SceneConstant.kt +++ b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/mogo/logger/scene/SceneConstant.kt @@ -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-" diff --git a/foudations/mogo-commons/src/main/java/com/mogo/commons/debug/DebugConfig.java b/foudations/mogo-commons/src/main/java/com/mogo/commons/debug/DebugConfig.java index 0231f02cf1..6bc9d2022c 100644 --- a/foudations/mogo-commons/src/main/java/com/mogo/commons/debug/DebugConfig.java +++ b/foudations/mogo-commons/src/main/java/com/mogo/commons/debug/DebugConfig.java @@ -126,6 +126,8 @@ public class DebugConfig { private static String sProductFlavor; private static String sProjectFlavor = ""; + private static String sEnvFlavor = ""; + public static String getProductFlavor() { return sProductFlavor; } @@ -151,6 +153,18 @@ public class DebugConfig { return sProjectFlavor; } + /** + * project flavor + * @param projectFlavor + */ + public static void setEnvFlavor(String projectFlavor) { + DebugConfig.sEnvFlavor = projectFlavor; + } + + public static String getEnvFlavor() { + return sEnvFlavor; + } + private static String sSocketAppId; public static void setSocketAppId(String sSocketAppId) { @@ -181,25 +195,4 @@ public class DebugConfig { return mapOptVersion; } - // 兼容是否支持多屏幕方案 - private static boolean isMultiDisplay = false; - - public static void setMultiDisplay(boolean status) { - isMultiDisplay = status; - } - - public static boolean isMultiDisplay() { - return isMultiDisplay; - } - - // 兼容是否支持多屏幕方案 - private static boolean isCarModelChange = true; - - public static void setCarModelChange(boolean status) { - isCarModelChange = status; - } - - public static boolean isCarModelChange() { - return isCarModelChange; - } } diff --git a/foudations/mogo-commons/src/main/java/com/mogo/commons/env/EnvUtils.kt b/foudations/mogo-commons/src/main/java/com/mogo/commons/env/EnvUtils.kt new file mode 100644 index 0000000000..5c6ca45304 --- /dev/null +++ b/foudations/mogo-commons/src/main/java/com/mogo/commons/env/EnvUtils.kt @@ -0,0 +1,32 @@ +package com.mogo.commons.env + +import com.mogo.commons.debug.DebugConfig + +object EnvUtils { + fun isQA(): Boolean { + return DebugConfig.getEnvFlavor() == Env.QA.value + } + + fun isOnLine(): Boolean { + return DebugConfig.getEnvFlavor() == Env.ONLINE.value + } + + fun getEnvType(): Env { + when (DebugConfig.getEnvFlavor()) { + Env.QA.value -> { + return Env.QA + } + + Env.ONLINE.value -> { + return Env.ONLINE + } + } + return Env.ONLINE + } + +} + +enum class Env(val value: String) { + QA("qa"), + ONLINE("online"), +} \ No newline at end of file diff --git a/foudations/mogo-commons/src/main/java/com/mogo/commons/mvp/MvpFragment.java b/foudations/mogo-commons/src/main/java/com/mogo/commons/mvp/MvpFragment.java index ab4171511f..6e8ca85fd7 100644 --- a/foudations/mogo-commons/src/main/java/com/mogo/commons/mvp/MvpFragment.java +++ b/foudations/mogo-commons/src/main/java/com/mogo/commons/mvp/MvpFragment.java @@ -1,10 +1,14 @@ package com.mogo.commons.mvp; +import android.content.pm.ActivityInfo; +import android.content.res.Configuration; import android.os.Bundle; import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import com.mogo.eagle.core.utilcode.util.ActivityUtils; + /** * @author congtaowang * @since 2019-12-23 diff --git a/foudations/mogo-commons/src/main/java/com/mogo/commons/utils/MogoAnalyticUtils.kt b/foudations/mogo-commons/src/main/java/com/mogo/commons/utils/MogoAnalyticUtils.kt index 620ba168e8..5c91c8a7d7 100644 --- a/foudations/mogo-commons/src/main/java/com/mogo/commons/utils/MogoAnalyticUtils.kt +++ b/foudations/mogo-commons/src/main/java/com/mogo/commons/utils/MogoAnalyticUtils.kt @@ -160,7 +160,6 @@ object MogoAnalyticUtils { AppConfigInfo.netMode } } - map["app_support_business"] = FunctionBuildConfig.supportBusiness map["product_type"] = AppIdentityModeUtils.getProduct(FunctionBuildConfig.appIdentityMode).name