[和司机屏连接状态]
This commit is contained in:
yangyakun
2024-05-06 11:24:57 +08:00
parent 205061b361
commit 348e51637e
3 changed files with 44 additions and 8 deletions

View File

@@ -59,10 +59,10 @@ object LoginLanDriverSocket : ILoginCallback {
// 司机端发送业务模式更改和环境校验
override fun onStatusChange(currentStatus: LoginStatusEnum?) {
FlavorUtils.getEnvCheck()
if (FlavorUtils.vehicleType != null && FlavorUtils.projectType != null && FlavorUtils.envType != null) {
when (currentStatus) {
LoginStatusEnum.Login -> {
FlavorUtils.getEnvCheck()
val msg =
ChangeBusinessType(
FlavorUtils.vehicleType!!,
@@ -77,7 +77,6 @@ object LoginLanDriverSocket : ILoginCallback {
BizLoopManager.setLoopFunction(TAG, LoopInfo(60*10, ::loopCheck))
}
}
else -> {
BizLoopManager.removeLoopFunction(TAG)
val msg =

View File

@@ -2,12 +2,16 @@ 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.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.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.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.BaseDPMsg
@@ -36,6 +40,24 @@ object LoginLanPassengerSocket : IReceivedMsgListener {
}
}
var isConnected:Boolean by Delegates.observable(false) { _, oldV, newV ->
if (oldV != newV) {
if(newV){// 已连接
if(driverSn.isEmpty()){
LoginStatusManager.changeStatus("连接成功 未收到司机屏sn")
}else{
LoginStatusManager.changeStatus("连接成功 司机SN:${driverSn}")
}
}else{// 未连接
if(driverSn.isEmpty()){
LoginStatusManager.changeStatus("当前状态:连接司机屏中")
}else{
LoginStatusManager.changeStatus("连接断开 司机SN:${driverSn}")
}
}
}
}
// 环境监测
private val checkListener = object : ILanMessageListener<EnvCheck> {
override fun target(): Class<EnvCheck> {
@@ -94,7 +116,7 @@ object LoginLanPassengerSocket : IReceivedMsgListener {
BusinessType.taxi -> LoginStatusManager.setBusinessType(BusinessEnum.Taxi.code)
BusinessType.taxiunmanned ->LoginStatusManager.setBusinessType(BusinessEnum.Taxi.code)
}
status.append(", 后台配置:${LoginStatusManager.getBusInessType().name}>")
status.append(", 切换后:${LoginStatusManager.getBusInessType().name}>")
LoginStatusManager.changeStatus(status.toString())
UiThreadHandler.postDelayed({
LoginStatusManager.setLoginStatus(LoginStatusEnum.Login)
@@ -113,6 +135,7 @@ object LoginLanPassengerSocket : IReceivedMsgListener {
init {
//监听司机端消息
CallerTelematicListenerManager.addListener(TAG, this)
BizLoopManager.setLoopFunction(TAG, LoopInfo(3, ::showConnectStatusWithDriver))
// 乘客屏
LanSocketManager.registerSocketMessageListener(
DPMsgType.TYPE_ENV_CHECK.type,
@@ -130,6 +153,11 @@ object LoginLanPassengerSocket : IReceivedMsgListener {
}
private fun showConnectStatusWithDriver(){
CallerLogger.d(TAG,"司机屏连接状态:${CallerTelematicManager.getClientConnStatus()}")
isConnected = CallerTelematicManager.getClientConnStatus()
}
override fun onReceivedServerSn(sn: String?) {
Logger.d(TAG, "司机屏sn$sn")
driverSn = sn ?: ""

View File

@@ -1,12 +1,10 @@
package com.mogo.och.taxi.ui.navi.amap
import android.os.Bundle
import com.amap.api.navi.AMapNaviViewListener
import com.mogo.commons.mvp.BaseFragment
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
import com.mogo.och.common.module.map.AmapNaviToDestinationModel
import com.mogo.och.common.module.map.ICommonNaviChangedCallback
import com.mogo.och.taxi.R
import kotlinx.android.synthetic.main.taxi_amap_navi_view.navi_view
@@ -15,6 +13,8 @@ import kotlinx.android.synthetic.main.taxi_amap_navi_view.navi_view
* @date: 2023/7/24
*/
class TaxiAmapNaviFragment : BaseFragment(){
private val TAG = "TaxiAmapNaviFragment"
companion object {
fun newInstance(): TaxiAmapNaviFragment {
val args = Bundle()
@@ -36,25 +36,34 @@ class TaxiAmapNaviFragment : BaseFragment(){
}
override fun initViews(savedInstanceState: Bundle?) {
CallerLogger.e(SceneConstant.M_TAXI + TAG, "initViews")
super.initViews(savedInstanceState)
if (navi_view != null) navi_view.onCreate(savedInstanceState)
}
override fun onResume() {
CallerLogger.e(SceneConstant.M_TAXI + TAG, "onResume")
super.onResume()
if (navi_view != null) navi_view.onResume()
}
override fun onPause() {
CallerLogger.e(SceneConstant.M_TAXI + TAG, "onPause")
super.onPause()
if (navi_view != null) navi_view.onPause()
}
override fun onDestroy() {
super.onDestroy()
override fun onDestroyView() {
CallerLogger.e(SceneConstant.M_TAXI + TAG, "onDestroyView")
AmapNaviToDestinationModel.getInstance(context).setVoiceIsMute(false)
if (navi_view != null) {
navi_view.onDestroy()
}
super.onDestroyView()
}
override fun onDestroy() {
super.onDestroy()
}
}