[乘客屏切换主Fragment]
This commit is contained in:
yangyakun
2024-04-17 14:31:55 +08:00
parent 0160907302
commit aa3bc00cec
7 changed files with 61 additions and 18 deletions

View File

@@ -8,6 +8,7 @@ import com.mogo.commons.debug.DebugConfig
import com.mogo.eagle.core.data.config.FunctionBuildConfig
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
import com.mogo.och.biz.login.callback.ILoginViewCallback
import com.mogo.och.biz.login.model.LoginStatusDefaultModel
import com.mogo.och.biz.login.ui.LoginFragment
@@ -130,7 +131,9 @@ class LoginProvider : LoginService {
BusinessEnum.Charter -> "后台配置为:包车模式、请检查应用或配置"
else -> "后台配置为:未知模式${businessType}、请检查应用或配置"
}
(loginFragment as ILoginViewCallback).showErrorInfo(reaseon)
UiThreadHandler.post({
(loginFragment as ILoginViewCallback).showErrorInfo(reaseon)
},UiThreadHandler.MODE.QUEUE)
}
return false
}
@@ -181,14 +184,23 @@ class LoginProvider : LoginService {
val businessTypeSupply = checkBusinessMine(businessType)
if (loginFragment is ILoginViewCallback) {
(loginFragment as ILoginViewCallback).checkAllEnv(projectType,envType,vehicleType,businessType)
if(isProjectSupply&&envTypeSupply&&vehicleTypeSupply&&businessTypeSupply){
}else{
if (loginFragment is ILoginViewCallback) {
UiThreadHandler.post({
(loginFragment as ILoginViewCallback).checkAllEnv(projectType,envType,vehicleType,businessType)
},UiThreadHandler.MODE.QUEUE)
}
}
return isProjectSupply&&envTypeSupply&&vehicleTypeSupply&&businessTypeSupply
}
fun checkBusinessMine(businessType: BusinessType) :Boolean{
if(businessType==BusinessType.none){
return true
}
FunctionBuildConfig.supportBusiness.forEach {
if (businessType.name == it) {
return true

View File

@@ -116,7 +116,9 @@ class LoginPassengerFragment : MvpFragment<LoginPassengerFragment?, LoginPasseng
info.append("、支持的业务类型有:")
when (businessType) {
BusinessType.none -> info.append("没有登录")
BusinessType.none -> {
return
}
BusinessType.bus -> info.append("小巴车")
BusinessType.shuttle -> info.append("接驳车")
BusinessType.charter -> info.append("包车")

View File

@@ -41,6 +41,13 @@ class ErrorInfoView : ConstraintLayout, ErrorInfoViewModel.IErrorInfoViewCallbac
private fun initView() {
LayoutInflater.from(context).inflate(R.layout.biz_login_errorinfo_view, this, true)
if (AppIdentityModeUtils.isB2(FunctionBuildConfig.appIdentityMode) &&
AppIdentityModeUtils.isPassenger((FunctionBuildConfig.appIdentityMode))
) {
actv_see.visibility = GONE
}
actv_see.onClick {
viewModel?.cancleCountDown()
actv_countdown.text = "10s"

View File

@@ -20,9 +20,11 @@
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/actv_error_head"
android:layout_width="@dimen/dp_818"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_120"
android:layout_marginStart="@dimen/dp_60"
android:layout_marginEnd="@dimen/dp_60"
android:gravity="center"
android:textColor="@android:color/white"
android:textSize="@dimen/dp_46"
@@ -34,7 +36,9 @@
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/actv_error_body"
android:layout_width="@dimen/dp_818"
android:layout_width="match_parent"
android:layout_marginStart="@dimen/dp_60"
android:layout_marginEnd="@dimen/dp_60"
android:layout_height="0dp"
android:gravity="center"
android:textColor="@android:color/white"

View File

@@ -1,11 +1,10 @@
package com.mogo.och.common.module.biz.lansocket
import com.mogo.commons.debug.DebugConfig
import com.mogo.eagle.core.data.config.FunctionBuildConfig
import com.mogo.eagle.core.function.api.telematic.IReceivedMsgListener
import com.mogo.eagle.core.function.call.telematic.CallerTelematicListenerManager
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
import com.mogo.eagle.core.utilcode.mogo.logger.Logger
import com.mogo.och.common.module.biz.login.BusinessEnum
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.socket.lan.ILanMessageListener
import com.mogo.och.common.module.manager.socket.lan.LanSocketManager
@@ -17,8 +16,6 @@ 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.VehicleType
import com.mogo.och.common.module.utils.Project
import com.mogo.och.common.module.utils.ProjectUtils
import kotlin.properties.Delegates
object LoginLanPassengerSocket : IReceivedMsgListener {
@@ -53,9 +50,7 @@ object LoginLanPassengerSocket : IReceivedMsgListener {
vehicleType: VehicleType,
businessType: BusinessType
): Boolean {
LoginStatusManager.checkAllEnv(projectType, envType, vehicleType, businessType)
return false
return LoginStatusManager.checkAllEnv(projectType, envType, vehicleType, businessType)
}
// 环境监测+业务展示和跳转
@@ -67,7 +62,26 @@ object LoginLanPassengerSocket : IReceivedMsgListener {
override fun onMsgReceived(obj: Array<in ChangeBusinessType>) {
if (obj.isNotEmpty()) {
val first = obj.first() as ChangeBusinessType
checkEnv(first.projectType, first.envType, first.vehicleType, first.businessType)
val checkEnv = checkEnv(
first.projectType,
first.envType,
first.vehicleType,
first.businessType
)
if(checkEnv){
when (first.businessType) {
BusinessType.none -> {
LoginStatusManager.setBusinessType(BusinessEnum.None.code)
return LoginStatusManager.setLoginStatus(LoginStatusEnum.Logout)
}
BusinessType.bus -> LoginStatusManager.setBusinessType(BusinessEnum.Bus.code)
BusinessType.shuttle -> LoginStatusManager.setBusinessType(BusinessEnum.Shuttle.code)
BusinessType.charter -> LoginStatusManager.setBusinessType(BusinessEnum.Charter.code)
BusinessType.taxi -> LoginStatusManager.setBusinessType(BusinessEnum.Taxi.code)
BusinessType.taxiunmanned ->LoginStatusManager.setBusinessType(BusinessEnum.Taxi.code)
}
LoginStatusManager.setLoginStatus(LoginStatusEnum.Login)
}
}
}

View File

@@ -65,7 +65,7 @@ object LanSocketManager : IReceivedMsgListener {
}
}
}catch (e:Exception){
e.printStackTrace()
}
}

View File

@@ -17,6 +17,7 @@ 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.logger.CallerLogger.d
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
import com.mogo.och.common.module.biz.lansocket.LoginLanDriverSocket
import com.mogo.och.common.module.biz.lansocket.LoginLanPassengerSocket
import com.mogo.och.common.module.constant.OchCommonConst
@@ -60,8 +61,9 @@ abstract class FacadeProvider : IMoGoFunctionProvider, ILoginCallback {
private fun showFragment() {
val supportFragmentManager: FragmentManager? = activity?.supportFragmentManager
val fragment = if (LoginStatusManager.isLogin()) {
val fragment = getFragment()
injectStatusBar()
getFragment()
fragment
} else {
removeStatusBar()
CallerHmiManager.hideToolsView()
@@ -140,7 +142,9 @@ abstract class FacadeProvider : IMoGoFunctionProvider, ILoginCallback {
override fun onStatusChange(currentStatus: LoginStatusEnum) {
d(TAG, "登录状态发生改变 ${currentStatus}")
showFragment()
UiThreadHandler.post {
showFragment()
}
}
override fun onBusinessChange(businessEnum: BusinessEnum) {