diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/transform/OchTransform.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/transform/OchTransform.kt new file mode 100644 index 0000000000..4a30c9b716 --- /dev/null +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/transform/OchTransform.kt @@ -0,0 +1,21 @@ +package com.mogo.och.common.module.manager.transform + +import com.mogo.eagle.core.function.api.och.IOchCommonFunctionCall +import com.mogo.eagle.core.function.call.base.CallerBase +import com.mogo.eagle.core.function.call.och.CallerOchFunctionCallManager + +object OchTransform : CallerBase(),IOchCommonFunctionCall { + init { + CallerOchFunctionCallManager.setOchCommonFunctionCall(this) + } + + override fun logout() { + M_LISTENERS.forEach { + it.value.logout() + } + } + + + + +} \ No newline at end of file diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/transform/OchTransformDispatch.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/transform/OchTransformDispatch.kt new file mode 100644 index 0000000000..801a9f3ffd --- /dev/null +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/transform/OchTransformDispatch.kt @@ -0,0 +1,6 @@ +package com.mogo.och.common.module.manager.transform + +interface OchTransformDispatch { + + fun logout(){} +} \ No newline at end of file diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/OrderModel.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/OrderModel.kt index 4abdb8a162..5c6f7e6904 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/OrderModel.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/OrderModel.kt @@ -23,6 +23,8 @@ import com.mogo.och.common.module.manager.autopilot.location.OchLocationManager import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager import com.mogo.och.common.module.manager.socket.cloud.OCHSocketMessageManager import com.mogo.och.common.module.manager.socket.lan.LedScreenManager +import com.mogo.och.common.module.manager.transform.OchTransform +import com.mogo.och.common.module.manager.transform.OchTransformDispatch import com.mogo.och.common.module.utils.DateTimeUtil import com.mogo.och.common.module.utils.NumberFormatUtil import com.mogo.och.common.module.utils.OCHThreadPoolManager @@ -67,6 +69,8 @@ object OrderModel { // 定位监听 OchLocationManager.addGCJ02Listener(TAG, 5, mMapLocationListener) + OchTransform.addListener(TAG,ochTransform) + RxUtils.errCatch() } @@ -79,7 +83,19 @@ object OrderModel { TicketModel.release() OchLocationManager.removeGCJ02Listener(TAG) + OchTransform.removeListener(TAG) + } + private val ochTransform = object : OchTransformDispatch { + override fun logout() { + ThreadUtils.getIoPool().execute { + if(EventModel.haveDataWaitSyn()){ + ToastUtils.showShort(ResourcesUtils.getString(R.string.shuttle_logout_error)) + return@execute + } + LoginStatusManager.loginOut() + } + } } diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/och/IOchCommonFunctionCall.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/och/IOchCommonFunctionCall.kt new file mode 100644 index 0000000000..2d352c8dde --- /dev/null +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/och/IOchCommonFunctionCall.kt @@ -0,0 +1,14 @@ +package com.mogo.eagle.core.function.api.och + +/** + * 定义给 Och 业务层调用的接口 + */ +interface IOchCommonFunctionCall { + + /** + * 退出登录 + */ + fun logout() + + +} \ No newline at end of file diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/och/CallerOchFunctionCallManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/och/CallerOchFunctionCallManager.kt index 73a7d6c1ec..b83c509bad 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/och/CallerOchFunctionCallManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/och/CallerOchFunctionCallManager.kt @@ -1,5 +1,6 @@ package com.mogo.eagle.core.function.call.och +import com.mogo.eagle.core.function.api.och.IOchCommonFunctionCall import com.mogo.eagle.core.function.api.och.IOchFunctionCall import com.mogo.eagle.core.function.api.och.IToolKitItemClickListener import com.mogo.eagle.core.function.call.base.CallerBase @@ -35,6 +36,11 @@ object CallerOchFunctionCallManager : CallerBase() { } } + private var _ochCallFuncation:IOchCommonFunctionCall?=null + + val ochCallFuncation:IOchCommonFunctionCall? + get() = _ochCallFuncation + /** * 注册 工具箱 item点击事件监听 (默认样式item的点击事件监听,自定义样式的item的点击交给view自己处理) */ @@ -54,4 +60,8 @@ object CallerOchFunctionCallManager : CallerBase() { fun setPlateNumber(plateNumber:String?){ this.plateNumber = plateNumber } + + fun setOchCommonFunctionCall(caller: IOchCommonFunctionCall){ + this._ochCallFuncation = caller + } } \ No newline at end of file