From 0b84e5414a6d554b11933d0b92a1fc0e3504ab8a Mon Sep 17 00:00:00 2001 From: yangyakun Date: Mon, 23 Sep 2024 14:41:58 +0800 Subject: [PATCH] =?UTF-8?q?[6.6.0]=20[fea]=20[=E8=AE=BE=E7=BD=AE=E8=BD=A6?= =?UTF-8?q?=E7=89=8C=E5=92=8C=E8=BD=A6=E5=9E=8B]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mogo/och/biz/login/LoginProvider.kt | 5 +++ .../core/function/api/och/IOchFunctionCall.kt | 9 ++--- .../call/och/CallerOchFunctionCallManager.kt | 33 +++++++++++++++---- 3 files changed, 37 insertions(+), 10 deletions(-) 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 fadcaedac6..e31a1747e7 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 @@ -5,6 +5,7 @@ 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.function.call.och.CallerOchFunctionCallManager 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 @@ -149,6 +150,10 @@ class LoginProvider : LoginService { if(this.loginInfo!=loginInfo){ this.loginInfo = loginInfo } + + CallerOchFunctionCallManager.setCarModel(loginInfo.carModel) + CallerOchFunctionCallManager.setPlateNumber(loginInfo.plateNumber) + } override fun getLoginInfo(): LoginInfo? { diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/och/IOchFunctionCall.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/och/IOchFunctionCall.kt index 678eb951a4..14da87c767 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/och/IOchFunctionCall.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/och/IOchFunctionCall.kt @@ -10,9 +10,10 @@ interface IOchFunctionCall { */ fun registerToolKitDefaultItemClickListener(tag: String, listener: IToolKitItemClickListener) {} - /** - * 网约车回调登陆信息 - */ - fun invokeLoginInfo(){} + // 车型变化回调 + fun invokeCarMode(carModel: String?) + + // 车牌变化回调 + fun invokePlateNumber(plateNumber: String?) } \ 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 a2ddd90e59..f2bbaf11a4 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 @@ -4,6 +4,7 @@ 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 import com.mogo.eagle.core.function.call.hmi.CallerHmiManager +import kotlin.properties.Delegates /** * 实现给 Och 业务层调用的接口 @@ -13,7 +14,24 @@ object CallerOchFunctionCallManager : CallerBase() { override fun doSomeAfterAddListener(tag: String, listener: IOchFunctionCall) { super.doSomeAfterAddListener(tag, listener) - listener.invokeLoginInfo() + listener.invokeCarMode(carModel) + listener.invokePlateNumber(plateNumber) + } + + // 车的类型 + var carModel:String? by Delegates.observable(null) { _, oldValue, newValue -> + if (oldValue != newValue) { + M_LISTENERS.forEach { + it.value.invokeCarMode(carModel) + } + } + } + var plateNumber:String? by Delegates.observable(null) { _, oldValue, newValue -> + if (oldValue != newValue) { + M_LISTENERS.forEach { + it.value.invokePlateNumber(plateNumber) + } + } } /** @@ -26,10 +44,13 @@ object CallerOchFunctionCallManager : CallerBase() { CallerHmiManager.registerToolKitDefaultItemClickListener(tag, listener) } - fun invokeLoginInfo(){ - M_LISTENERS.forEach { - val listener = it.value - listener.invokeLoginInfo() - } + // 车型 E70 H9 B1 B2 M1 金旅牌XML6606JEVY0(小巴车) NJL6450ICEV(小巴) BJ5122TXSEV-H1(环卫车) + fun setCarModel(carModel: String?) { + this.carModel = carModel + + } + // 车牌 + fun setPlateNumber(plateNumber:String?){ + this.plateNumber = plateNumber } } \ No newline at end of file